mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-11 02:13:48 +00:00
Feat/delays (#96)
* feat/delays allow negative delays * feat/delays recover expand all * feat/delays refact: icons import * feat/delays refact: upgrade chakra * feat/delays version bump
This commit is contained in:
+2
-2
@@ -3,9 +3,10 @@
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@chakra-ui/react": "^1.7.3",
|
||||
"@chakra-ui/react": "^1.7.4",
|
||||
"@emotion/react": "^11.7.1",
|
||||
"@emotion/styled": "^11.6.0",
|
||||
"@react-icons/all-files": "^4.1.0",
|
||||
"@testing-library/jest-dom": "^5.11.4",
|
||||
"@testing-library/react": "^11.1.0",
|
||||
"@testing-library/user-event": "^12.1.10",
|
||||
@@ -17,7 +18,6 @@
|
||||
"react-beautiful-dnd": "^13.1.0",
|
||||
"react-dom": "^17.0.1",
|
||||
"react-fast-compare": "^3.2.0",
|
||||
"react-icons": "^4.3.1",
|
||||
"react-qr-code": "2.0.3",
|
||||
"react-query": "^3.34.5",
|
||||
"react-router-dom": "^6.2.1",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiPlus } from 'react-icons/fi';
|
||||
import { FiPlus } from '@react-icons/all-files/fi/FiPlus';
|
||||
|
||||
export default function AddIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiCheck } from 'react-icons/fi';
|
||||
import { FiCheck } from '@react-icons/all-files/fi/FiCheck';
|
||||
|
||||
export default function ApplyIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiMinusCircle } from 'react-icons/fi';
|
||||
import { FiMinusCircle } from '@react-icons/all-files/fi/FiMinusCircle';
|
||||
|
||||
export default function BlockIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiChevronsUp } from 'react-icons/fi';
|
||||
import { FiChevronsUp } from '@react-icons/all-files/fi/FiChevronsUp';
|
||||
|
||||
export default function CollapseBtn(props) {
|
||||
const { clickhandler } = props;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Button } from '@chakra-ui/button';
|
||||
import { FiTarget } from 'react-icons/fi';
|
||||
import { FiTarget } from '@react-icons/all-files/fi/FiTarget';
|
||||
|
||||
export default function CurrentBtn(props) {
|
||||
const { clickhandler, active } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { IoCaretDown } from 'react-icons/io5';
|
||||
import { IoCaretDown } from '@react-icons/all-files/io5/IoCaretDown';
|
||||
|
||||
export default function CursorDownBtn(props) {
|
||||
const { clickhandler, active, ref } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiTarget } from 'react-icons/fi';
|
||||
import { FiTarget } from '@react-icons/all-files/fi/FiTarget';
|
||||
|
||||
export default function CursorLockedBtn(props) {
|
||||
const { clickhandler, active, ref } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { IoCaretUp } from 'react-icons/io5';
|
||||
import { IoCaretUp } from '@react-icons/all-files/io5/IoCaretUp';
|
||||
|
||||
export default function CursorUpBtn(props) {
|
||||
const { clickhandler, active, ref } = props;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiClock } from 'react-icons/fi';
|
||||
import { FiClock } from '@react-icons/all-files/fi/FiClock';
|
||||
|
||||
export default function DelayIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { useState } from 'react';
|
||||
import { IoRemove } from 'react-icons/io5';
|
||||
import { IoRemove } from '@react-icons/all-files/io5/IoRemove';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function DeleteIconBtn(props) {
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { IoCloseSharp, IoCheckmarkSharp } from 'react-icons/io5';
|
||||
import { IoCloseSharp } from '@react-icons/all-files/io5/IoCloseSharp';
|
||||
import { IoCheckmarkSharp } from '@react-icons/all-files/io5/IoCheckmarkSharp';
|
||||
import { Button } from '@chakra-ui/button';
|
||||
|
||||
export default function EnableBtn(props) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiChevronsDown } from 'react-icons/fi';
|
||||
import { FiChevronsDown } from '@react-icons/all-files/fi/FiChevronsDown';
|
||||
|
||||
export default function ExpandBtn(props) {
|
||||
const { clickhandler } = props;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoPlaySkipForward } from 'react-icons/io5';
|
||||
import { IoPlaySkipForward } from '@react-icons/all-files/io5/IoPlaySkipForward';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function NextIconBtn(props) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoMicSharp, IoMicOffOutline } from 'react-icons/io5';
|
||||
import { IoMicSharp } from '@react-icons/all-files/io5/IoMicSharp';
|
||||
import { IoMicOffOutline } from '@react-icons/all-files/io5/IoMicOffOutline';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function OnAirIconBtn(props) {
|
||||
@@ -11,9 +12,7 @@ export default function OnAirIconBtn(props) {
|
||||
icon={active ? <IoMicSharp size='24px' /> : <IoMicOffOutline size='24px' />}
|
||||
colorScheme='blue'
|
||||
variant={active ? 'solid' : 'outline'}
|
||||
onClick={() =>
|
||||
actionHandler('update', { field: 'isPublic', value: !active })
|
||||
}
|
||||
onClick={() => actionHandler('update', { field: 'isPublic', value: !active })}
|
||||
_focus={{ boxShadow: 'none' }}
|
||||
{...rest}
|
||||
/>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoPause } from 'react-icons/io5';
|
||||
import { IoPause } from '@react-icons/all-files/io5/IoPause';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function PauseIconBtn(props) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoPlaySkipBack } from 'react-icons/io5';
|
||||
import { IoPlaySkipBack } from '@react-icons/all-files/io5/IoPlaySkipBack';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function PrevIconBtn(props) {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiUsers } from 'react-icons/fi';
|
||||
import { FiUsers } from '@react-icons/all-files/fi/FiUsers';
|
||||
|
||||
export default function PublicIconBtn(props) {
|
||||
const { actionHandler, active, ...rest } = props;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoArrowUndo } from 'react-icons/io5';
|
||||
import { IoArrowUndo } from '@react-icons/all-files/io5/IoArrowUndo';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function ReloadIconButton(props) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoTimeOutline } from 'react-icons/io5';
|
||||
import { IoTimeOutline } from '@react-icons/all-files/io5/IoTimeOutline';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function RollIconBtn(props) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoPlay } from 'react-icons/io5';
|
||||
import { IoPlay } from '@react-icons/all-files/io5/IoPlay';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function StartIconBtn(props) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiTrash2 } from 'react-icons/fi';
|
||||
import { FiTrash2 } from '@react-icons/all-files/fi/FiTrash2';
|
||||
|
||||
export default function TrashIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoStop } from 'react-icons/io5';
|
||||
import { IoStop } from '@react-icons/all-files/io5/IoStop';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function UnloadIconBtn(props) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { IoSunny } from 'react-icons/io5';
|
||||
import { IoSunny } from '@react-icons/all-files/io5/IoSunny';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function VisibleIconBtn(props) {
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import PropTypes from "prop-types";
|
||||
import style from "../../../features/info/Info.module.scss";
|
||||
import {Icon} from "@chakra-ui/react";
|
||||
import {FiChevronUp} from "react-icons/fi";
|
||||
import {FiChevronUp} from "@react-icons/all-files/fi/FiChevronUp";
|
||||
|
||||
export default function CollapseBar(props) {
|
||||
const {title = 'Collapse bar', isCollapsed = false, onClick}= props;
|
||||
|
||||
@@ -134,7 +134,7 @@ export default function EventTimesVertical(props) {
|
||||
return valid.value;
|
||||
};
|
||||
|
||||
return delay != null && delay > 0 ? (
|
||||
return delay != null && delay !== 0 ? (
|
||||
<TimesDelayed
|
||||
handleValidate={handleValidate}
|
||||
actionHandler={props.actionHandler}
|
||||
|
||||
@@ -2,7 +2,7 @@ import PropTypes from 'prop-types';
|
||||
import style from './ProtectRoute.module.scss';
|
||||
import { PinInput, PinInputField } from '@chakra-ui/react';
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiCheck } from 'react-icons/fi';
|
||||
import { FiCheck } from '@react-icons/all-files/fi/FiCheck';
|
||||
import { AppContext } from '../../../app/context/AppContext';
|
||||
import { useContext, useEffect, useState } from 'react';
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { Editable, EditableInput, EditablePreview } from '@chakra-ui/react';
|
||||
import { useEffect, useState } from 'react';
|
||||
import { clamp } from '../../app/utils/math';
|
||||
import style from './TimeInput.module.css';
|
||||
import PropTypes from 'prop-types';
|
||||
|
||||
const inputProps = {
|
||||
width: 20,
|
||||
@@ -14,40 +16,42 @@ const inputProps = {
|
||||
};
|
||||
|
||||
export default function DelayInput(props) {
|
||||
const [value, setValue] = useState(props.value);
|
||||
const { actionHandler, value } = props;
|
||||
const [_value, setValue] = useState(value);
|
||||
|
||||
useEffect(() => {
|
||||
if (props.value == null) return;
|
||||
setValue(props.value);
|
||||
}, [props.value]);
|
||||
|
||||
const handleChange = (val) => {
|
||||
if (val <= 666) setValue(val);
|
||||
};
|
||||
if (value == null) return;
|
||||
setValue(value);
|
||||
}, [value]);
|
||||
|
||||
const handleSubmit = (val) => {
|
||||
if (val === props.value) return;
|
||||
if (val === value) return;
|
||||
if (val === '') setValue(0);
|
||||
if (val >= 0 && val <= 60) {
|
||||
// convert to ms and updates
|
||||
props.actionHandler('update', { field: 'duration', value: val * 60000 });
|
||||
} else {
|
||||
props.actionHandler('update', { field: 'duration', value: 3600000 });
|
||||
}
|
||||
|
||||
// convert to ms and updates
|
||||
const msVal = clamp(val, -60, 60) * 60000;
|
||||
actionHandler('update', { field: 'duration', value: msVal });
|
||||
};
|
||||
|
||||
const labelText = `minutes ${value >= 0 ? 'delayed' : 'ahead'}`;
|
||||
|
||||
return (
|
||||
<div className={style.timeInput}>
|
||||
<Editable
|
||||
{...inputProps}
|
||||
value={value}
|
||||
onChange={(v) => handleChange(v)}
|
||||
value={_value}
|
||||
onChange={(v) => setValue(v)}
|
||||
onSubmit={(v) => handleSubmit(v)}
|
||||
>
|
||||
<EditablePreview />
|
||||
<EditableInput type='number' min='0' max='60' />
|
||||
<EditableInput type='number' min='-60' max='60' />
|
||||
</Editable>
|
||||
<span className={style.label}>{'minutes'}</span>
|
||||
<span className={style.label}>{labelText}</span>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
DelayInput.propTypes = {
|
||||
actionHandler: PropTypes.func,
|
||||
value: PropTypes.number,
|
||||
};
|
||||
|
||||
@@ -65,13 +65,15 @@ export default function EditableTimer(props) {
|
||||
return true;
|
||||
};
|
||||
|
||||
const isDelayed = (delay != null && delay !== 0)
|
||||
|
||||
return (
|
||||
<Editable
|
||||
onChange={(v) => setValue(v)}
|
||||
onSubmit={(v) => validateValue(v)}
|
||||
onCancel={() => setValue(stringFromMillis(time + delay, true))}
|
||||
value={value}
|
||||
className={delay > 0 ? style.delayedEditable : style.editable}
|
||||
className={isDelayed ? style.delayedEditable : style.editable}
|
||||
>
|
||||
<EditablePreview />
|
||||
<EditableInput type='text' placeholder='--:--:--' />
|
||||
|
||||
@@ -18,6 +18,14 @@ const areEqual = (prevProps, nextProps) => {
|
||||
);
|
||||
};
|
||||
|
||||
const incrementProps = {
|
||||
size: 'sm',
|
||||
width: '2.9em',
|
||||
colorScheme: 'whiteAlpha',
|
||||
variant: 'outline',
|
||||
_focus: { boxShadow: 'none' },
|
||||
};
|
||||
|
||||
const PlaybackTimer = (props) => {
|
||||
const { timer, playback, handleIncrement, selectedId } = props;
|
||||
const started = stringFromMillis(timer.startedAt, true);
|
||||
@@ -26,14 +34,6 @@ const PlaybackTimer = (props) => {
|
||||
const isWaiting = timer.secondary > 0 && timer.running == null;
|
||||
const disableButtons = selectedId == null || isRolling;
|
||||
|
||||
const incrementProps = {
|
||||
size: 'sm',
|
||||
width: '2.9em',
|
||||
colorScheme: 'whiteAlpha',
|
||||
variant: 'outline',
|
||||
_focus: { boxShadow: 'none' },
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className={style.timeContainer}>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Draggable } from 'react-beautiful-dnd';
|
||||
import { FiMoreVertical } from 'react-icons/fi';
|
||||
import { FiMoreVertical } from '@react-icons/all-files/fi/FiMoreVertical';
|
||||
import DeleteIconBtn from 'common/components/buttons/DeleteIconBtn';
|
||||
import ActionButtons from '../list/ActionButtons';
|
||||
import style from './BlockBlock.module.scss';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { Draggable } from 'react-beautiful-dnd';
|
||||
import { FiMoreVertical } from 'react-icons/fi';
|
||||
import { FiMoreVertical } from '@react-icons/all-files/fi/FiMoreVertical';
|
||||
import { millisToMinutes } from 'common/utils/dateConfig';
|
||||
import ActionButtons from '../list/ActionButtons';
|
||||
import DeleteIconBtn from 'common/components/buttons/DeleteIconBtn';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import Icon from '@chakra-ui/icon';
|
||||
import { FiChevronUp, FiMoreVertical } from 'react-icons/fi';
|
||||
import { FiChevronUp } from '@react-icons/all-files/fi/FiChevronUp';
|
||||
import { FiMoreVertical } from '@react-icons/all-files/fi/FiMoreVertical';
|
||||
import { useMemo } from 'react';
|
||||
import { Draggable } from 'react-beautiful-dnd';
|
||||
import EventTimes from 'common/components/eventTimes/EventTimes';
|
||||
@@ -28,12 +29,12 @@ const ExpandedBlock = (props) => {
|
||||
return (
|
||||
<>
|
||||
<span className={style.drag} {...provided.dragHandleProps}>
|
||||
<FiMoreVertical />
|
||||
<FiMoreVertical />
|
||||
</span>
|
||||
|
||||
<div className={style.indicators}>
|
||||
<span className={next ? style.next : style.nextDisabled}>Next</span>
|
||||
{delayValue != null && <span className={style.delayValue}>+ {delayValue}</span>}
|
||||
{delayValue != null && <span className={style.delayValue}>{delayValue}</span>}
|
||||
</div>
|
||||
<div className={style.timeExpanded}>
|
||||
<EventTimesVertical
|
||||
@@ -93,7 +94,7 @@ ExpandedBlock.propTypes = {
|
||||
eventIndex: PropTypes.number.isRequired,
|
||||
next: PropTypes.bool.isRequired,
|
||||
delay: PropTypes.number,
|
||||
delayValue: PropTypes.number,
|
||||
delayValue: PropTypes.string,
|
||||
previousEnd: PropTypes.number.isRequired,
|
||||
actionHandler: PropTypes.func.isRequired,
|
||||
};
|
||||
@@ -104,12 +105,12 @@ const CollapsedBlock = (props) => {
|
||||
return (
|
||||
<>
|
||||
<span className={style.drag} {...provided.dragHandleProps}>
|
||||
<FiMoreVertical />
|
||||
<FiMoreVertical />
|
||||
</span>
|
||||
|
||||
<div className={style.indicators}>
|
||||
<span className={next ? style.next : style.nextDisabled}>Next</span>
|
||||
{delayValue != null && <span className={style.delayValue}>+ {delayValue}</span>}
|
||||
{delayValue != null && <span className={style.delayValue}>{delayValue}</span>}
|
||||
</div>
|
||||
<EventTimes
|
||||
actionHandler={actionHandler}
|
||||
@@ -140,7 +141,7 @@ CollapsedBlock.propTypes = {
|
||||
data: PropTypes.object.isRequired,
|
||||
next: PropTypes.bool.isRequired,
|
||||
delay: PropTypes.any,
|
||||
delayValue: PropTypes.any,
|
||||
delayValue: PropTypes.string,
|
||||
previousEnd: PropTypes.number.isRequired,
|
||||
actionHandler: PropTypes.func.isRequired,
|
||||
};
|
||||
@@ -155,8 +156,10 @@ export default function EventBlock(props) {
|
||||
const classSelect = `${style.event} ${isCollapsed} ${isSelected}`;
|
||||
|
||||
// Calculate delay in min
|
||||
const delayValue = delay > 0 ? millisToMinutes(delay) : null;
|
||||
|
||||
let delayValue = null;
|
||||
if (delay != null && delay !== 0) {
|
||||
delayValue = `${delay >= 0 ? '+' : '-'} ${millisToMinutes(Math.abs(delay))}`;
|
||||
}
|
||||
const handleCollapse = (isCollapsed) => {
|
||||
setCollapsed({ [data.id]: isCollapsed });
|
||||
};
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/menu';
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiClock, FiMinusCircle, FiPlus } from 'react-icons/fi';
|
||||
import { FiClock } from '@react-icons/all-files/fi/FiClock';
|
||||
import { FiMinusCircle } from '@react-icons/all-files/fi/FiMinusCircle';
|
||||
import { FiPlus } from '@react-icons/all-files/fi/FiPlus';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
export default function ActionButtons(props) {
|
||||
@@ -26,19 +28,11 @@ export default function ActionButtons(props) {
|
||||
/>
|
||||
</Tooltip>
|
||||
<MenuList style={menuStyle}>
|
||||
<MenuItem
|
||||
icon={<FiPlus />}
|
||||
onClick={() => actionHandler('event')}
|
||||
isDisabled={!showAdd}
|
||||
>
|
||||
<MenuItem icon={<FiPlus />} onClick={() => actionHandler('event')} isDisabled={!showAdd}>
|
||||
Add Event after
|
||||
</MenuItem>
|
||||
|
||||
<MenuItem
|
||||
icon={<FiClock />}
|
||||
onClick={() => actionHandler('delay')}
|
||||
isDisabled={!showDelay}
|
||||
>
|
||||
<MenuItem icon={<FiClock />} onClick={() => actionHandler('delay')} isDisabled={!showDelay}>
|
||||
Add Delay after
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import DelayBlock from '../DelayBlock/DelayBlock';
|
||||
import BlockBlock from '../BlockBlock/BlockBlock';
|
||||
import EventBlock from '../EventBlock/EventBlock';
|
||||
import { memo, useContext } from 'react';
|
||||
import { memo, useCallback, useContext } from 'react';
|
||||
import { LoggingContext } from '../../../app/context/LoggingContext';
|
||||
import { LocalEventSettingsContext } from '../../../app/context/LocalEventSettingsContext';
|
||||
|
||||
@@ -33,52 +33,55 @@ const EventListItem = (props) => {
|
||||
const { starTimeIsLastEnd, defaultPublic } = useContext(LocalEventSettingsContext);
|
||||
|
||||
// Create / delete new events
|
||||
const actionHandler = (action, payload) => {
|
||||
switch (action) {
|
||||
case 'event':
|
||||
eventsHandler(
|
||||
'add',
|
||||
{
|
||||
type: 'event',
|
||||
order: index + 1,
|
||||
isPublic: defaultPublic,
|
||||
},
|
||||
{ startIsLastEnd: starTimeIsLastEnd ? index : undefined }
|
||||
);
|
||||
break;
|
||||
case 'delay':
|
||||
eventsHandler('add', { type: 'delay', order: index + 1 });
|
||||
break;
|
||||
case 'block':
|
||||
eventsHandler('add', { type: 'block', order: index + 1 });
|
||||
break;
|
||||
case 'delete':
|
||||
eventsHandler('delete', data.id);
|
||||
break;
|
||||
case 'update':
|
||||
// Handles and filters update requests
|
||||
const { field, value } = payload;
|
||||
if (field === 'durationOverride') {
|
||||
// duration defines timeEnd
|
||||
let end = (data.timeStart += value);
|
||||
const newData = { id: data.id, timeEnd: end };
|
||||
const actionHandler = useCallback(
|
||||
(action, payload) => {
|
||||
switch (action) {
|
||||
case 'event':
|
||||
eventsHandler(
|
||||
'add',
|
||||
{
|
||||
type: 'event',
|
||||
order: index + 1,
|
||||
isPublic: defaultPublic,
|
||||
},
|
||||
{ startIsLastEnd: starTimeIsLastEnd ? index : undefined }
|
||||
);
|
||||
break;
|
||||
case 'delay':
|
||||
eventsHandler('add', { type: 'delay', order: index + 1 });
|
||||
break;
|
||||
case 'block':
|
||||
eventsHandler('add', { type: 'block', order: index + 1 });
|
||||
break;
|
||||
case 'delete':
|
||||
eventsHandler('delete', data.id);
|
||||
break;
|
||||
case 'update':
|
||||
// Handles and filters update requests
|
||||
const { field, value } = payload;
|
||||
if (field === 'durationOverride') {
|
||||
// duration defines timeEnd
|
||||
let end = (data.timeStart += value);
|
||||
const newData = { id: data.id, timeEnd: end };
|
||||
|
||||
// request update in parent
|
||||
eventsHandler('patch', newData);
|
||||
} else if (field in data) {
|
||||
// create object with new field
|
||||
const newData = { id: data.id, [field]: value };
|
||||
// request update in parent
|
||||
eventsHandler('patch', newData);
|
||||
} else if (field in data) {
|
||||
// create object with new field
|
||||
const newData = { id: data.id, [field]: value };
|
||||
|
||||
// request update in parent
|
||||
eventsHandler('patch', newData);
|
||||
} else {
|
||||
emitError(`Unknown field: ${field}`);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
};
|
||||
// request update in parent
|
||||
eventsHandler('patch', newData);
|
||||
} else {
|
||||
emitError(`Unknown field: ${field}`);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
},
|
||||
[data, defaultPublic, emitError, eventsHandler, index, starTimeIsLastEnd]
|
||||
);
|
||||
|
||||
switch (type) {
|
||||
case 'event':
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { Icon } from '@chakra-ui/react';
|
||||
import { useState } from 'react';
|
||||
import { FiChevronUp } from 'react-icons/fi';
|
||||
import { FiChevronUp } from '@react-icons/all-files/fi/FiChevronUp';
|
||||
import style from './Info.module.scss';
|
||||
|
||||
export default function InfoTitle(props) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import CursorUpBtn from '../../common/components/buttons/CursorUpBtn';
|
||||
import CursorDownBtn from '../../common/components/buttons/CursorDownBtn';
|
||||
import CursorLockedBtn from 'common/components/buttons/CursorLockedBtn';
|
||||
import style from './EventListMenu.module.css';
|
||||
import ExpandBtn from '../../common/components/buttons/ExpandBtn';
|
||||
|
||||
const EventListMenu = ({ eventsHandler }) => {
|
||||
const { isCursorLocked, toggleCursorLocked, moveCursorUp, moveCursorDown } =
|
||||
@@ -42,6 +43,7 @@ const EventListMenu = ({ eventsHandler }) => {
|
||||
|
||||
return (
|
||||
<div className={style.headerButtons}>
|
||||
<ExpandBtn size='sm' clickhandler={() => eventsHandler('expandall')} />
|
||||
<CollapseBtn size='sm' clickhandler={() => eventsHandler('collapseall')} />
|
||||
<Divider orientation='vertical' />
|
||||
<CursorUpBtn size='sm' clickhandler={() => actionHandler('cursorUp')} />
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/menu';
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiClock, FiMinusCircle, FiPlus, FiTrash2 } from 'react-icons/fi';
|
||||
import { FiClock } from '@react-icons/all-files/fi/FiClock';
|
||||
import { FiMinusCircle } from '@react-icons/all-files/fi/FiMinusCircle';
|
||||
import { FiPlus } from '@react-icons/all-files/fi/FiPlus';
|
||||
import { FiTrash2 } from '@react-icons/all-files/fi/FiTrash2';
|
||||
import { Divider } from '@chakra-ui/layout';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
|
||||
@@ -32,18 +35,11 @@ export default function MenuActionButtons(props) {
|
||||
<MenuItem icon={<FiClock />} onClick={() => actionHandler('delay')}>
|
||||
Add Delay first
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
icon={<FiMinusCircle />}
|
||||
onClick={() => actionHandler('block')}
|
||||
>
|
||||
<MenuItem icon={<FiMinusCircle />} onClick={() => actionHandler('block')}>
|
||||
Add Block first
|
||||
</MenuItem>
|
||||
<Divider />
|
||||
<MenuItem
|
||||
icon={<FiTrash2 />}
|
||||
onClick={() => actionHandler('deleteall')}
|
||||
color='red.500'
|
||||
>
|
||||
<MenuItem icon={<FiTrash2 />} onClick={() => actionHandler('deleteall')} color='red.500'>
|
||||
Delete All
|
||||
</MenuItem>
|
||||
</MenuList>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiDownload } from 'react-icons/fi';
|
||||
import { FiDownload } from '@react-icons/all-files/fi/FiDownload';
|
||||
|
||||
export default function DownloadIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiHelpCircle } from 'react-icons/fi';
|
||||
import { FiHelpCircle } from '@react-icons/all-files/fi/FiHelpCircle';
|
||||
|
||||
export default function HelpIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiMaximize } from 'react-icons/fi';
|
||||
import { FiMaximize } from '@react-icons/all-files/fi/FiMaximize';
|
||||
|
||||
export default function MaxIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiMinimize } from 'react-icons/fi';
|
||||
import { FiMinimize } from '@react-icons/all-files/fi/FiMinimize';
|
||||
|
||||
export default function MinIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -9,7 +9,7 @@ import {
|
||||
} from '@chakra-ui/modal';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { useRef, useState } from 'react';
|
||||
import { FiPower } from 'react-icons/fi';
|
||||
import { FiPower } from '@react-icons/all-files/fi/FiPower';
|
||||
|
||||
export default function QuitIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiSettings } from 'react-icons/fi';
|
||||
import { FiSettings } from '@react-icons/all-files/fi/FiSettings';
|
||||
|
||||
export default function SettingsIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { Tooltip } from '@chakra-ui/tooltip';
|
||||
import { FiUpload } from 'react-icons/fi';
|
||||
import { FiUpload } from '@react-icons/all-files/fi/FiUpload';
|
||||
|
||||
export default function UploadIconBtn(props) {
|
||||
const { clickhandler, ...rest } = props;
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import { Button, IconButton } from '@chakra-ui/button';
|
||||
import { IoInformationCircleOutline, IoRemove, IoSunny } from 'react-icons/io5';
|
||||
import { IoInformationCircleOutline } from '@react-icons/all-files/io5/IoInformationCircleOutline';
|
||||
import { IoRemove } from '@react-icons/all-files/io5/IoRemove';
|
||||
import { IoSunny } from '@react-icons/all-files/io5/IoSunny';
|
||||
import { ModalBody } from '@chakra-ui/modal';
|
||||
import { Input } from '@chakra-ui/react';
|
||||
import { getAliases, postAliases } from '../../app/api/ontimeApi';
|
||||
@@ -112,9 +114,7 @@ export default function AliasesModal() {
|
||||
break;
|
||||
}
|
||||
|
||||
const isRepeated = aliases.some(
|
||||
(r) => a.alias === r.alias && r.enabled
|
||||
);
|
||||
const isRepeated = aliases.some((r) => a.alias === r.alias && r.enabled);
|
||||
if (isRepeated) {
|
||||
emitError('There is already an alias with this name');
|
||||
break;
|
||||
@@ -197,12 +197,9 @@ export default function AliasesModal() {
|
||||
</tbody>
|
||||
</table>
|
||||
<br />
|
||||
<span className={style.labelNote}>
|
||||
URLs to be changed dynamically
|
||||
</span>
|
||||
<span className={style.labelNote}>URLs to be changed dynamically</span>
|
||||
<br />
|
||||
eg. an unattended screen that you would need to change route from
|
||||
the app
|
||||
eg. an unattended screen that you would need to change route from the app
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -218,10 +215,7 @@ export default function AliasesModal() {
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div
|
||||
className={style.inlineAliasPlaceholder}
|
||||
style={{ padding: '0.5em 0' }}
|
||||
>
|
||||
<div className={style.inlineAliasPlaceholder} style={{ padding: '0.5em 0' }}>
|
||||
<span className={style.labelNote}>Alias</span>
|
||||
<span className={style.labelNote}>Page URL</span>
|
||||
</div>
|
||||
@@ -236,9 +230,7 @@ export default function AliasesModal() {
|
||||
autoComplete='off'
|
||||
value={alias.alias}
|
||||
isInvalid={alias.aliasError}
|
||||
onChange={(event) =>
|
||||
handleChange(index, 'alias', event.target.value)
|
||||
}
|
||||
onChange={(event) => handleChange(index, 'alias', event.target.value)}
|
||||
/>
|
||||
<Input
|
||||
size='sm'
|
||||
@@ -249,9 +241,7 @@ export default function AliasesModal() {
|
||||
autoComplete='off'
|
||||
value={alias.pathAndParams}
|
||||
isInvalid={alias.urlError}
|
||||
onChange={(event) =>
|
||||
handleChange(index, 'pathAndParams', event.target.value)
|
||||
}
|
||||
onChange={(event) => handleChange(index, 'pathAndParams', event.target.value)}
|
||||
/>
|
||||
<Tooltip label={`Test /${alias.pathAndParams}`} openDelay={500}>
|
||||
<a
|
||||
@@ -283,28 +273,16 @@ export default function AliasesModal() {
|
||||
</Tooltip>
|
||||
</div>
|
||||
{alias.aliasError ? (
|
||||
<div
|
||||
className={style.error}
|
||||
>{`Alias error: ${alias.aliasError}`}</div>
|
||||
<div className={style.error}>{`Alias error: ${alias.aliasError}`}</div>
|
||||
) : null}
|
||||
{alias.urlError ? (
|
||||
<div
|
||||
className={style.error}
|
||||
>{`URL error: ${alias.urlError}`}</div>
|
||||
<div className={style.error}>{`URL error: ${alias.urlError}`}</div>
|
||||
) : null}
|
||||
</div>
|
||||
))}
|
||||
|
||||
<div
|
||||
className={style.inlineAliasPlaceholder}
|
||||
style={{ padding: '0.5em 0' }}
|
||||
>
|
||||
<Button
|
||||
size='xs'
|
||||
colorScheme='blue'
|
||||
variant='outline'
|
||||
onClick={() => addNew()}
|
||||
>
|
||||
<div className={style.inlineAliasPlaceholder} style={{ padding: '0.5em 0' }}>
|
||||
<Button size='xs' colorScheme='blue' variant='outline' onClick={() => addNew()}>
|
||||
Add new
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
@@ -7,7 +7,7 @@ import { APP_SETTINGS } from 'app/api/apiConstants';
|
||||
import style from './Modals.module.scss';
|
||||
import { LoggingContext } from '../../app/context/LoggingContext';
|
||||
import { IconButton } from '@chakra-ui/button';
|
||||
import { FiEye } from 'react-icons/fi';
|
||||
import { FiEye } from '@react-icons/all-files/fi/FiEye';
|
||||
import SubmitContainer from './SubmitContainer';
|
||||
import { inputProps } from './modalHelper';
|
||||
import { LocalEventSettingsContext } from '../../app/context/LocalEventSettingsContext';
|
||||
|
||||
@@ -11,7 +11,7 @@ import { useFetch } from 'app/hooks/useFetch';
|
||||
import { APP_TABLE } from 'app/api/apiConstants';
|
||||
import style from './Modals.module.scss';
|
||||
import { LoggingContext } from '../../app/context/LoggingContext';
|
||||
import { FiInfo } from 'react-icons/fi';
|
||||
import { FiInfo } from '@react-icons/all-files/fi/FiInfo';
|
||||
import SubmitContainer from './SubmitContainer';
|
||||
import { inputProps } from './modalHelper';
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ import style from './Modals.module.scss';
|
||||
import { LoggingContext } from '../../app/context/LoggingContext';
|
||||
import SubmitContainer from './SubmitContainer';
|
||||
import { inputProps, portInputProps } from './modalHelper';
|
||||
import { IoInformationCircleOutline } from 'react-icons/io5';
|
||||
import { IoInformationCircleOutline } from '@react-icons/all-files/io5/IoInformationCircleOutline';
|
||||
import EnableBtn from '../../common/components/buttons/EnableBtn';
|
||||
|
||||
// currently defined endpoints
|
||||
@@ -155,9 +155,7 @@ export default function OscSettingsModal() {
|
||||
</p>
|
||||
<form onSubmit={submitHandler}>
|
||||
<div className={style.modalFields}>
|
||||
<div className={style.hSeparator}>
|
||||
OSC Input (Control ontime over OSC)
|
||||
</div>
|
||||
<div className={style.hSeparator}>OSC Input (Control ontime over OSC)</div>
|
||||
<div className={style.modalInline}>
|
||||
<FormControl id='oscInEnabled'>
|
||||
<FormLabel htmlFor='oscInEnabled'>
|
||||
@@ -187,9 +185,7 @@ export default function OscSettingsModal() {
|
||||
name='port'
|
||||
placeholder='8888'
|
||||
value={formData.port}
|
||||
onChange={(event) =>
|
||||
handleChange('port', parseInt(event.target.value))
|
||||
}
|
||||
onChange={(event) => handleChange('port', parseInt(event.target.value))}
|
||||
style={{ width: '6em', textAlign: 'center' }}
|
||||
/>
|
||||
</FormControl>
|
||||
@@ -211,9 +207,7 @@ export default function OscSettingsModal() {
|
||||
placeholder='127.0.0.1'
|
||||
autoComplete='off'
|
||||
value={formData.targetIP}
|
||||
onChange={(event) =>
|
||||
handleChange('targetIP', event.target.value)
|
||||
}
|
||||
onChange={(event) => handleChange('targetIP', event.target.value)}
|
||||
isDisabled={submitting}
|
||||
style={{ width: '12em', textAlign: 'right' }}
|
||||
/>
|
||||
@@ -231,9 +225,7 @@ export default function OscSettingsModal() {
|
||||
name='portOut'
|
||||
placeholder='9999'
|
||||
value={formData.portOut}
|
||||
onChange={(event) =>
|
||||
handleChange('portOut', parseInt(event.target.value))
|
||||
}
|
||||
onChange={(event) => handleChange('portOut', parseInt(event.target.value))}
|
||||
style={{ width: '6em', textAlign: 'left' }}
|
||||
/>
|
||||
</FormControl>
|
||||
|
||||
+207
-207
@@ -1877,13 +1877,13 @@
|
||||
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
|
||||
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
|
||||
|
||||
"@chakra-ui/accordion@1.4.2":
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-1.4.2.tgz#e851d5e0f748646e20efde909b5f70a93679283b"
|
||||
integrity sha512-BAGMvcm2sFE5Ft7jwC9nF03/Yv7qztuhzwKBBy4iL0p1nCPh6kV54RBXUcoj3VWe+yrmNiAVYKRTdqQBTJFwOw==
|
||||
"@chakra-ui/accordion@1.4.3":
|
||||
version "1.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/accordion/-/accordion-1.4.3.tgz#86837416c674719d6df134110424a93ac71d9eea"
|
||||
integrity sha512-UKpi7xd+hcT/OIDRBRT4vkvVmpym5K9tf3tPyPdwpJcCfCd0D8dvmgZWBM4vCCRPCNfuoyxba5z97witzLCf+g==
|
||||
dependencies:
|
||||
"@chakra-ui/descendant" "2.1.1"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/icon" "2.0.0"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/transition" "1.4.2"
|
||||
@@ -1905,12 +1905,12 @@
|
||||
dependencies:
|
||||
"@chakra-ui/theme-tools" "^1.3.1"
|
||||
|
||||
"@chakra-ui/avatar@1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/avatar/-/avatar-1.3.1.tgz#fbb9d45b14caa956c4d16cca85e7219d821f0f66"
|
||||
integrity sha512-WI0/kcpTJViOH093V0bz8EB+e/rc+gjF+T5DkOuh1YWFxRRG5v+4Yd3PdEJtQgzWtBVhlbGWmE7WvBizyKwFCA==
|
||||
"@chakra-ui/avatar@1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/avatar/-/avatar-1.3.2.tgz#575d524117ab1a77dc6a4963868a7ba02822a745"
|
||||
integrity sha512-Z4CQI2haksy0YIV1gKa967P94WZUVzlMN+Wgs8PJJoxxmeY6tVruuvp5+Zb5D5kSAmQBvGWxlgJjClKXzeCQ7A==
|
||||
dependencies:
|
||||
"@chakra-ui/image" "1.1.1"
|
||||
"@chakra-ui/image" "1.1.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
@@ -1922,22 +1922,22 @@
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/button@1.5.1":
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-1.5.1.tgz#0f0b3e7a10b3c8aea4a2da114386d1a767916aaa"
|
||||
integrity sha512-BvP29quEhP6OTgDiRsugD6adgkeOTEQpoDsZUVEmHnNVrbFfdsICEKKQTtDJ2iPf+hmpFrtnpN50vCLdAANKcw==
|
||||
"@chakra-ui/button@1.5.2":
|
||||
version "1.5.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/button/-/button-1.5.2.tgz#ea70d837d50aa85970fc36060ea4d7aa9d166281"
|
||||
integrity sha512-1LyZ7o4g+ZF0Qfwr77Fa3qHtCGhghoIPG2lcUWhhPk+8ygHNF0ZOngfsiDD7aoEj0uXsvlgZ/hdiqv0PmMTRzg==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/spinner" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/checkbox@1.6.1":
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-1.6.1.tgz#e84d828f2d8b2e1a84ae51982a29eb4c7e7e0eff"
|
||||
integrity sha512-Z5ZMeUYIRjRbi/knhYhSQshZH7OnROA7ezl9a9oVSKRF7iLMNMibQSlQLXmqUWaTKSgrS37cpKAzfgEuemyiUQ==
|
||||
"@chakra-ui/checkbox@1.6.2":
|
||||
version "1.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/checkbox/-/checkbox-1.6.2.tgz#a6fc34d42caf7bc2ccc83af9deafd00e7c01e53e"
|
||||
integrity sha512-eu4MeKWqwFc3zakjMnUi1pGXQ17HzeWbvQHwEZCYgIDk+S9DXopQr8o38zaHzs/MHmlelCzM96IBgTWZXWR/eg==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
"@chakra-ui/visually-hidden" "1.1.1"
|
||||
@@ -1958,12 +1958,12 @@
|
||||
"@chakra-ui/icon" "2.0.0"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/color-mode@1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-1.3.2.tgz#e87f9c17ae891c426fa8c9dbdd3c2ba80669fa48"
|
||||
integrity sha512-/rWcbrzbaWCyyUnT07Qjz0xf/ltHS31CHOKtVCWr2uTgfn2gOQpdxsKRbjrLYPOYZGTMdINUHNiAsqQjLoAoTQ==
|
||||
"@chakra-ui/color-mode@1.3.3":
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/color-mode/-/color-mode-1.3.3.tgz#91f03c4c5ddfd1f238ce566af1f2b371f3f551a1"
|
||||
integrity sha512-vEMG9PRtVllAxbJE76bM4fRdo+hRZsPX/9cO+gR1YegYQNeobbV9Ive/MKNYQzdlbQ855Ytn6cPGr2hzy9MdRg==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-env" "1.1.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
@@ -1974,12 +1974,12 @@
|
||||
dependencies:
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/counter@1.2.1":
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/counter/-/counter-1.2.1.tgz#36d4683472751b9ce866d6d86f3856d032194468"
|
||||
integrity sha512-Gm4njMzEsDyAzdQtExn40TvmupzkPBrT5DiCu0DlxYqpLqCfqV49HgJHEG5oW3WV+WaC9mzg7VV+idKYh/d+Gg==
|
||||
"@chakra-ui/counter@1.2.2":
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/counter/-/counter-1.2.2.tgz#4be45cccd46981e6c613eb1c28132213382e3284"
|
||||
integrity sha512-EljrsJYHpR5tZ1UczzlZ7gwKZs3ijF2tKCAAmsTpRerPbwGFvrmhfFfLexgbc0vxmeuZYUVeuiClLXQT4lvd5w==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/css-reset@1.1.1":
|
||||
@@ -1994,12 +1994,12 @@
|
||||
dependencies:
|
||||
"@chakra-ui/react-utils" "^1.2.1"
|
||||
|
||||
"@chakra-ui/editable@1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/editable/-/editable-1.3.1.tgz#24e9be0a9275d47feb3fb8a885e3e417e9120d0c"
|
||||
integrity sha512-MwyTtsnHNqmKmHv9SH3KIHWa06D4gBwcuTawTiSnYBUJL6My8ry/Wdca1to9So2tD6hcjz3TPTzOJOlyv0eiZg==
|
||||
"@chakra-ui/editable@1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/editable/-/editable-1.3.2.tgz#dd768b000b8a14954df618c8d633ecc553bd8de8"
|
||||
integrity sha512-WY0dq+hQOIyMAamFj2fECNb1AtOwxoddAbZ6k4/epiKNkaRA5ENzgPdV6Gw3t02fDXv95D0J4V4XcpNgfCz6TA==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
@@ -2011,20 +2011,20 @@
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
react-focus-lock "2.5.2"
|
||||
|
||||
"@chakra-ui/form-control@1.5.2":
|
||||
version "1.5.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-1.5.2.tgz#4ce34f03165cfafacecabdce3be82011b74308a7"
|
||||
integrity sha512-uWv0/f+JEM0ZE5Hnj3TzCnJ09EB+A+DSs9QgyECOuxx9Ju6gnns2uaRki2BfxksQL9ZZomPCkMtXazY9Wa81ag==
|
||||
"@chakra-ui/form-control@1.5.3":
|
||||
version "1.5.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/form-control/-/form-control-1.5.3.tgz#cbc8037470f8ef33d5ca839362e231edf9e1af56"
|
||||
integrity sha512-+UkOJJYUSGVATeNK/2b+KJx3qRGAtqpD1sR2mqd9DhgmJ/JUGV8q4LVcXIcVs/7BYNqP9B0JQUBIDlHNuTwlJA==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/icon" "2.0.0"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/hooks@1.7.1":
|
||||
version "1.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-1.7.1.tgz#0242b678f40ef00e4834a8a856c8881dcda0072d"
|
||||
integrity sha512-hgN19X6GUKQYAHczmFY+GAT8vl9h+X+nGWrIAnmvZ6BgUXxDajnTNhZeWhj0ZkR+7A7dCE6Y/3X44GafUgChMw==
|
||||
"@chakra-ui/hooks@1.7.2":
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/hooks/-/hooks-1.7.2.tgz#64341c06b141cdc4c08ccab0308b46b20c11a99b"
|
||||
integrity sha512-XJnya9ugAPYUedtQULKaLYBezE9cZMOkDm0MQl7FEuJKZ9ocHD6Pwpwf9Z03R91XQmcNL8gZ1NS0GT9v/xNl3Q==
|
||||
dependencies:
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
@@ -2038,27 +2038,27 @@
|
||||
dependencies:
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/image@1.1.1":
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/image/-/image-1.1.1.tgz#39ecb77155e9e1fbbc68e825eb46405808805a8c"
|
||||
integrity sha512-bz1pn08XlXcO3r1KnpdjQgN3R2soiTx10sG2d5Pw9BdGdySf7Y73wiLh+Tan1xJHp6p2KH1hz4f7uKXXDn7Qmw==
|
||||
"@chakra-ui/image@1.1.2":
|
||||
version "1.1.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/image/-/image-1.1.2.tgz#257eb0d6a3759301066e7b1d68cc3e3b0c36c204"
|
||||
integrity sha512-bW4PMONYpWRLJ10di7W5BhYUOcCohNLhiTygOmVRMHWfUk9vmxhORlNu0EaSXUKGXiQ35cTVu4Ysv3L/1xYPRQ==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/input@1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-1.3.2.tgz#59d49ab5c8645c51cd591d46ca23d5cb95e03392"
|
||||
integrity sha512-VMxmQgFiQ2UnBlkgLX/336G0IfYfw8YWF2ZoEFj5WL9kDSrrL1FXSBgjFGxrper74G4W20tESBCfU1S891y6cg==
|
||||
"@chakra-ui/input@1.3.3":
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/input/-/input-1.3.3.tgz#671bb983c22b066301e972de1c24cc63a05c7350"
|
||||
integrity sha512-Fsivp608cKdc2tSQvPXczHtyfU6YHLju+EuAs5pjqKC8ZTwPawBRkCvlTGPPd7VwyTHkp08X5qARCxEgjRFbzw==
|
||||
dependencies:
|
||||
"@chakra-ui/form-control" "1.5.2"
|
||||
"@chakra-ui/form-control" "1.5.3"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/layout@1.6.0":
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-1.6.0.tgz#fa45d72420f01f4f6082f5a5a0c202bf7b09a059"
|
||||
integrity sha512-WUfQ104y1wNueU33/hPlZsMzYJGjO0dXMpVkQf5ZNhNX3IGDO+5+MO2x2xloP+j45yNPi3p8ti/HBnm3dXI+3Q==
|
||||
"@chakra-ui/layout@1.7.0":
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/layout/-/layout-1.7.0.tgz#1e69f6708cc8f9628b708145daff1167c5445131"
|
||||
integrity sha512-ZjRqLGs16T4PcWH445SkELVuxxfecjjUeprtFnNw13QzwydP46L8+GB3ycp6wyJDa6DMo77TxQQnK5jUUwY6Mw==
|
||||
dependencies:
|
||||
"@chakra-ui/icon" "2.0.0"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
@@ -2071,71 +2071,71 @@
|
||||
dependencies:
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/media-query@1.2.2":
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-1.2.2.tgz#46db9059de1367a3aa85c1fb973a78f95fca6cc5"
|
||||
integrity sha512-xSmDVleE1drWiGH/MX3RqyVm29x/8Vf6G0UGaI2kCpbNmon+Q1zHW/yDHvptIuctLrPHYO8LOBxuUjfnIXwC2g==
|
||||
"@chakra-ui/media-query@1.2.3":
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/media-query/-/media-query-1.2.3.tgz#aa633e4e14bc6a5c407dc18756712bf2133c8679"
|
||||
integrity sha512-DbStv1VUSBwFj/MNemxRUtoibSoR9ZRcW31UUjtkiIH58cSB5lyEPv9rdD/1HRXpJfSaWQ439Tbuf03gOC4SVQ==
|
||||
dependencies:
|
||||
"@chakra-ui/react-env" "1.1.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/menu@1.8.2":
|
||||
version "1.8.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-1.8.2.tgz#849f51beef6220667eb47c831ddf2c65919ded0e"
|
||||
integrity sha512-u2GfkwTqbWa8L/7i/kOFbU3JANiT2HStR+gsYKuiuOPiuBcUb8OlgfJfP70OtVKegNKmVEMjvzXtld3wCCo/1g==
|
||||
"@chakra-ui/menu@1.8.3":
|
||||
version "1.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/menu/-/menu-1.8.3.tgz#0248fb9cb4583fc1e52aa02a8bf47136074375c7"
|
||||
integrity sha512-TehcqHLKlMdkeXTtCYXzWNa6nbAk1cpjGz6OPl2ua0eisoOKgPolpkreCfYrWV9NNk0BmzZn+Su+z60jbhqggA==
|
||||
dependencies:
|
||||
"@chakra-ui/clickable" "1.2.1"
|
||||
"@chakra-ui/descendant" "2.1.1"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/popper" "2.4.1"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/transition" "1.4.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/modal@1.10.2":
|
||||
version "1.10.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-1.10.2.tgz#578c30812c63863bef25f4b5c279cacbb34528ec"
|
||||
integrity sha512-ZlmYetPHwHW4CAM09j4/+Ui54dXR1nzU6mOwhWe4/IzLvEyoEU6fHJeKyGxVUpYTG/7wltG/wKFRJpYa77tiBg==
|
||||
"@chakra-ui/modal@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/modal/-/modal-1.10.3.tgz#59f56cf699b526f3b13ed1342f61858469cbac65"
|
||||
integrity sha512-b0kVv4kNFWVbJPprEgFqqBH8EeneLAueSV+0t9Z1MpvIF0EUB6qe2JQZ0X8eDOtNYX4Tp7Y7LRCQ/M/HMm9WRw==
|
||||
dependencies:
|
||||
"@chakra-ui/close-button" "1.2.2"
|
||||
"@chakra-ui/focus-lock" "1.2.1"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/portal" "1.3.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/portal" "1.3.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/transition" "1.4.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
aria-hidden "^1.1.1"
|
||||
react-remove-scroll "2.4.1"
|
||||
|
||||
"@chakra-ui/number-input@1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-1.3.2.tgz#580035e56a13c30b04034ab02cb9c1132a1cf09c"
|
||||
integrity sha512-7x7AoqwPXU1odyDcqIwjBwf0MJUwYMM2fa+6YZ52F941GKlvkDiiJOhK6xfhhBzkLUQD6DN8zgAmmGhaZ6UQXw==
|
||||
"@chakra-ui/number-input@1.3.3":
|
||||
version "1.3.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/number-input/-/number-input-1.3.3.tgz#caf176d2206b965658907bd72bd692077e4ce5dd"
|
||||
integrity sha512-nptvORoG+PvvuURkzh0juSYxj3L9HnWIeNncC/7oXgm2AFGxIcqUk8pUJaUNM2mlbLjJZS19/MWlfzgsYJmJrQ==
|
||||
dependencies:
|
||||
"@chakra-ui/counter" "1.2.1"
|
||||
"@chakra-ui/form-control" "1.5.2"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/counter" "1.2.2"
|
||||
"@chakra-ui/form-control" "1.5.3"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/icon" "2.0.0"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/pin-input@1.7.1":
|
||||
version "1.7.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-1.7.1.tgz#38c3bcf3d32f1404a431ae11030ff7ce5d964190"
|
||||
integrity sha512-eFFc5sofiyion+NxELWfCzD23XHIBDrJcfKKbNxt8jdXg9Ek4mFpmvnxBVrK0DIz6cVYgKY8c364OmxNUf4IyA==
|
||||
"@chakra-ui/pin-input@1.7.2":
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/pin-input/-/pin-input-1.7.2.tgz#9acdd962c3cf1199d63de7524dd65fc7aad31c81"
|
||||
integrity sha512-2dGNdU+Xlu0u1OxuelJBKQu7dDKaD5kN9moZMoKpjpXB8Kibh7GM3OO/Z25aMM/E9Kly21qXgHju0Tj/ovBJuw==
|
||||
dependencies:
|
||||
"@chakra-ui/descendant" "2.1.1"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/popover@1.11.0":
|
||||
version "1.11.0"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-1.11.0.tgz#3ad9faf26019c750a5f8c619ee80dd97bcc4ee3e"
|
||||
integrity sha512-cCHXAfhIRir+M0ehlYIjDw3mHpiCxDTJ9WV0H1zHQV8nDYVIlZw3nEntaq8oJrv0wpIzq2WCW5ss+bBR7nLZ1A==
|
||||
"@chakra-ui/popover@1.11.1":
|
||||
version "1.11.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/popover/-/popover-1.11.1.tgz#6342bf8c2d3de24ae62a09ae4765d5b8ca765be3"
|
||||
integrity sha512-WV1R2L1V6mbpe6/aInr4yFe6rAu7+pT8Od6Hki5KsIv+4QvoEMYsvJ0VOhaURLLD+NaKXFCsfpc9immluia+AA==
|
||||
dependencies:
|
||||
"@chakra-ui/close-button" "1.2.2"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/popper" "2.4.1"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
@@ -2148,12 +2148,12 @@
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@popperjs/core" "^2.9.3"
|
||||
|
||||
"@chakra-ui/portal@1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/portal/-/portal-1.3.1.tgz#944d86bd9e77a70a5549e84a03d31c7bbd3ec62c"
|
||||
integrity sha512-6UOGZCfujgdijcPs/JTEY5IB5WtKvUbfrSQYsG5CDa+guIwvnoP5qZ+rH6BR6DSSM8Wr/1n+WrtanhfFZShHKA==
|
||||
"@chakra-ui/portal@1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/portal/-/portal-1.3.2.tgz#ec76ffb15dfdf6e5a0ea26bc534bfacc39207331"
|
||||
integrity sha512-dWUCwEZNpPnbR21+eBbEGuvvOcz5AuS+TZ4V0sUdUEI8B3dPUEylJsveZpYjOCS/YAh4xoxbo6I6haRgrfguvw==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
@@ -2165,25 +2165,25 @@
|
||||
"@chakra-ui/theme-tools" "1.3.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/provider@1.7.3":
|
||||
version "1.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-1.7.3.tgz#625c0b7c1265515399bb501bc929d8851bba2958"
|
||||
integrity sha512-D1SrQ7do4yzAv9/OTF3yj/BkLm7kFo5DdeuOCyvXGpVJumnvbtjltRmC7rFQH4R+y9qXPvfQP4LKMNBqSxPNng==
|
||||
"@chakra-ui/provider@1.7.4":
|
||||
version "1.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/provider/-/provider-1.7.4.tgz#c106e6efad2e38585eb978fc92d23f7c379130af"
|
||||
integrity sha512-W+mut8fVk6MZx2Sgz4SSIrVVCUAFXE8/AZK3G71qFb9j/7m30zdWCsSzY9yd0XMjJF2cJvEXjEPAVYWz9BEoBA==
|
||||
dependencies:
|
||||
"@chakra-ui/css-reset" "1.1.1"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/portal" "1.3.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/portal" "1.3.2"
|
||||
"@chakra-ui/react-env" "1.1.1"
|
||||
"@chakra-ui/system" "1.8.3"
|
||||
"@chakra-ui/system" "1.9.0"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/radio@1.4.3":
|
||||
version "1.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-1.4.3.tgz#d87788fe688d0d58252e9efeb926d0417a70e158"
|
||||
integrity sha512-TQdyfdUD3BLklOP67n82JN8ksQv1BYjvaYsK0m6WCa0LDJr9aCC+XtUPgVq/1L2t4HqHdiGOrGBooF4vvy/+BA==
|
||||
"@chakra-ui/radio@1.4.4":
|
||||
version "1.4.4"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/radio/-/radio-1.4.4.tgz#53c3629795941b142d1781a6edfaf8436ff5dc85"
|
||||
integrity sha512-Tz8bl+yhD2pKHUFyNZtP056eawqOUkSA7n2qEebnoH7Zp65B9zwYHkpvL+2nhL5swBwpnGrUpuK3WOqGz4dvXA==
|
||||
dependencies:
|
||||
"@chakra-ui/form-control" "1.5.2"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/form-control" "1.5.3"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
"@chakra-ui/visually-hidden" "1.1.1"
|
||||
@@ -2202,83 +2202,83 @@
|
||||
dependencies:
|
||||
"@chakra-ui/utils" "^1.9.1"
|
||||
|
||||
"@chakra-ui/react@^1.7.3":
|
||||
version "1.7.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-1.7.3.tgz#358a3ff9847b78a798384db5c64cc222c9a48ae8"
|
||||
integrity sha512-6mrfDUOa9MoQ44Xvi7xgdDq48jTTTjW9BupCGf2R3DI+z6RbUKIHzbcoDJZt2HGY6j9EarMVNRoQJzvzGUKpoQ==
|
||||
"@chakra-ui/react@^1.7.4":
|
||||
version "1.7.4"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/react/-/react-1.7.4.tgz#dfeb9e2f34df3645448ee542e02390fdf5b58876"
|
||||
integrity sha512-wBxfQRcIz6YGXQh3S2E6sXCVcqrVuUygMeMdkCMMfZQTI2VFLkvn6SDYzLHcm1PtMygZnF1mU30GOcmArpVotA==
|
||||
dependencies:
|
||||
"@chakra-ui/accordion" "1.4.2"
|
||||
"@chakra-ui/accordion" "1.4.3"
|
||||
"@chakra-ui/alert" "1.3.2"
|
||||
"@chakra-ui/avatar" "1.3.1"
|
||||
"@chakra-ui/avatar" "1.3.2"
|
||||
"@chakra-ui/breadcrumb" "1.3.1"
|
||||
"@chakra-ui/button" "1.5.1"
|
||||
"@chakra-ui/checkbox" "1.6.1"
|
||||
"@chakra-ui/button" "1.5.2"
|
||||
"@chakra-ui/checkbox" "1.6.2"
|
||||
"@chakra-ui/close-button" "1.2.2"
|
||||
"@chakra-ui/control-box" "1.1.1"
|
||||
"@chakra-ui/counter" "1.2.1"
|
||||
"@chakra-ui/counter" "1.2.2"
|
||||
"@chakra-ui/css-reset" "1.1.1"
|
||||
"@chakra-ui/editable" "1.3.1"
|
||||
"@chakra-ui/form-control" "1.5.2"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/editable" "1.3.2"
|
||||
"@chakra-ui/form-control" "1.5.3"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/icon" "2.0.0"
|
||||
"@chakra-ui/image" "1.1.1"
|
||||
"@chakra-ui/input" "1.3.2"
|
||||
"@chakra-ui/layout" "1.6.0"
|
||||
"@chakra-ui/image" "1.1.2"
|
||||
"@chakra-ui/input" "1.3.3"
|
||||
"@chakra-ui/layout" "1.7.0"
|
||||
"@chakra-ui/live-region" "1.1.1"
|
||||
"@chakra-ui/media-query" "1.2.2"
|
||||
"@chakra-ui/menu" "1.8.2"
|
||||
"@chakra-ui/modal" "1.10.2"
|
||||
"@chakra-ui/number-input" "1.3.2"
|
||||
"@chakra-ui/pin-input" "1.7.1"
|
||||
"@chakra-ui/popover" "1.11.0"
|
||||
"@chakra-ui/media-query" "1.2.3"
|
||||
"@chakra-ui/menu" "1.8.3"
|
||||
"@chakra-ui/modal" "1.10.3"
|
||||
"@chakra-ui/number-input" "1.3.3"
|
||||
"@chakra-ui/pin-input" "1.7.2"
|
||||
"@chakra-ui/popover" "1.11.1"
|
||||
"@chakra-ui/popper" "2.4.1"
|
||||
"@chakra-ui/portal" "1.3.1"
|
||||
"@chakra-ui/portal" "1.3.2"
|
||||
"@chakra-ui/progress" "1.2.1"
|
||||
"@chakra-ui/provider" "1.7.3"
|
||||
"@chakra-ui/radio" "1.4.3"
|
||||
"@chakra-ui/provider" "1.7.4"
|
||||
"@chakra-ui/radio" "1.4.4"
|
||||
"@chakra-ui/react-env" "1.1.1"
|
||||
"@chakra-ui/select" "1.2.2"
|
||||
"@chakra-ui/skeleton" "1.2.3"
|
||||
"@chakra-ui/slider" "1.5.2"
|
||||
"@chakra-ui/select" "1.2.3"
|
||||
"@chakra-ui/skeleton" "1.2.4"
|
||||
"@chakra-ui/slider" "1.5.3"
|
||||
"@chakra-ui/spinner" "1.2.1"
|
||||
"@chakra-ui/stat" "1.2.2"
|
||||
"@chakra-ui/switch" "1.3.1"
|
||||
"@chakra-ui/system" "1.8.3"
|
||||
"@chakra-ui/switch" "1.3.2"
|
||||
"@chakra-ui/system" "1.9.0"
|
||||
"@chakra-ui/table" "1.3.1"
|
||||
"@chakra-ui/tabs" "1.6.1"
|
||||
"@chakra-ui/tabs" "1.6.2"
|
||||
"@chakra-ui/tag" "1.2.2"
|
||||
"@chakra-ui/textarea" "1.2.2"
|
||||
"@chakra-ui/theme" "1.12.2"
|
||||
"@chakra-ui/toast" "1.5.0"
|
||||
"@chakra-ui/tooltip" "1.4.2"
|
||||
"@chakra-ui/textarea" "1.2.3"
|
||||
"@chakra-ui/theme" "1.12.3"
|
||||
"@chakra-ui/toast" "1.5.1"
|
||||
"@chakra-ui/tooltip" "1.4.3"
|
||||
"@chakra-ui/transition" "1.4.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
"@chakra-ui/visually-hidden" "1.1.1"
|
||||
|
||||
"@chakra-ui/select@1.2.2":
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-1.2.2.tgz#1c2956c21a012e7c9ea294db42d3cab0d05bed24"
|
||||
integrity sha512-EchJW3St1DtSWHe//DHwKjGsQYL2zbKcNCLnJWQKGMPZsQhAD2wsm4xjowFrV8AkY7jbVM/U2v68puN7YTC3hg==
|
||||
dependencies:
|
||||
"@chakra-ui/form-control" "1.5.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/skeleton@1.2.3":
|
||||
"@chakra-ui/select@1.2.3":
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.2.3.tgz#f7be28e3af214473fb6cdec45d0715a049f82575"
|
||||
integrity sha512-u5ASkzPiBjfvKxKuBienUfmyYDTHziSWQ8Ny6k83LbwLv9IcmBNGsSkmsp7hesgi9cMHGBQ3hY2GTqG9ljndIg==
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/select/-/select-1.2.3.tgz#ba08c50bec1399404473cfd3f5415eb415e21fc6"
|
||||
integrity sha512-LGT8z06InjfMTQyWgQUqinucvObkO0bOR87c4swWlAESkS6w+g8PsH9UJ87NT5W+hzCybvqSfRjMHYwC9qUnrg==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/media-query" "1.2.2"
|
||||
"@chakra-ui/system" "1.8.3"
|
||||
"@chakra-ui/form-control" "1.5.3"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/slider@1.5.2":
|
||||
version "1.5.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/slider/-/slider-1.5.2.tgz#173218b55befe0f7200fe7f332234b3824d19b08"
|
||||
integrity sha512-zP07TMew61GkJe47Nu7zEg/SUEwPHpN4alW6VUM6Y8UaVpQaDx7InarbWTc/bXdTP03SfE+hQ6WD9Oy7noe4hQ==
|
||||
"@chakra-ui/skeleton@1.2.4":
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/skeleton/-/skeleton-1.2.4.tgz#2d7b3eceff6c6f8f00fba8cc6e2c20cc46e62a34"
|
||||
integrity sha512-j5cAwXfyb7sybk+QjSz5TlQkQVeekdRZBF4xEm4TXGGZiMSTsd9/7BOBtxopakn/YKDP1owZ4oSGZGYGNmTS8w==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/media-query" "1.2.3"
|
||||
"@chakra-ui/system" "1.9.0"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/slider@1.5.3":
|
||||
version "1.5.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/slider/-/slider-1.5.3.tgz#7288e830ce24a700ec883847748263a8084c12b8"
|
||||
integrity sha512-i14b8MYlantiACI4jyjxU5PdX3Nwmz65TdINd7LywrKZu0ahE4GRXCcIGyM48vlXWfdkFhKLqLuF7+EYwLYtHA==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
@@ -2299,30 +2299,30 @@
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
"@chakra-ui/visually-hidden" "1.1.1"
|
||||
|
||||
"@chakra-ui/styled-system@1.15.0":
|
||||
version "1.15.0"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.15.0.tgz#fe117ace12b452379e4df69f4779395ead55917f"
|
||||
integrity sha512-LnsKeiYkUuJ+NMTwueiX0Mj8CW9XAMJrJxpQm/X3GY5L5PO7Hv6wW725Ovqdy4mhG3IK7S8444FthpsDv/luHw==
|
||||
"@chakra-ui/styled-system@1.16.0":
|
||||
version "1.16.0"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/styled-system/-/styled-system-1.16.0.tgz#afe974e9c44b98e2606e83dae7560e619dffc6fd"
|
||||
integrity sha512-5vGU4eCixFMXp9u9PT+5724ptzBLP5AcFks88h19TpIevcElCkvAXw2G2CDJ0jJZM59l61nJGHIjn246f3iJUA==
|
||||
dependencies:
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
csstype "^3.0.9"
|
||||
|
||||
"@chakra-ui/switch@1.3.1":
|
||||
version "1.3.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-1.3.1.tgz#e8f411f0645f79b828b5f865684028032ad7647d"
|
||||
integrity sha512-92hXJ2/ozj7B3cJNT259mFNoad7Ck892uHTuEQ/GIdXb25doE6F1wCp0TreOnGiEgU5YSaxpdrcZjA0QODP//w==
|
||||
"@chakra-ui/switch@1.3.2":
|
||||
version "1.3.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/switch/-/switch-1.3.2.tgz#8455249589cc321ea348bcf5af6ebd84e44de348"
|
||||
integrity sha512-aqhAq93DW97qD/KTBiWe2ip64vxSkN/qimMRFdG4xqtS2DxGeicQiv7Eis3NgAq2xIMM9XOoeXutU4kGkha1+w==
|
||||
dependencies:
|
||||
"@chakra-ui/checkbox" "1.6.1"
|
||||
"@chakra-ui/checkbox" "1.6.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/system@1.8.3":
|
||||
version "1.8.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.8.3.tgz#bad447f4fda427fc28e234470d9fcc5a9b524d62"
|
||||
integrity sha512-6MaevsT7A2ifgOGQQCQsfvzPVd0kEXqFrX1Oxd842bawaqthmbFdo2bBTdaia/+Ivq/8Xot2uAQSbU+3NuRiUA==
|
||||
"@chakra-ui/system@1.9.0":
|
||||
version "1.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/system/-/system-1.9.0.tgz#22f530fd0cb16c20e50abe2bb7c1392d2995382a"
|
||||
integrity sha512-CnLmx3nVZo87puSKxDNNQUwJyWYCnx4ZUFXdDFNdKroQyZUpSYLVv1OniXbkjwEt1YdZMsWm93lZQb/0VRcKvg==
|
||||
dependencies:
|
||||
"@chakra-ui/color-mode" "1.3.2"
|
||||
"@chakra-ui/color-mode" "1.3.3"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/styled-system" "1.15.0"
|
||||
"@chakra-ui/styled-system" "1.16.0"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
react-fast-compare "3.2.0"
|
||||
|
||||
@@ -2333,14 +2333,14 @@
|
||||
dependencies:
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/tabs@1.6.1":
|
||||
version "1.6.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-1.6.1.tgz#362350b10f2fc34b5bbbca960075eddd022e3ff6"
|
||||
integrity sha512-p7HdHcleJWNwteWYVPt2KF52YbS5pIIfs/IpgtnYZRsJbqvRVxSwgg5Wsn+vuxFXBKW0cA2rDGbyzsZ+ChtEXQ==
|
||||
"@chakra-ui/tabs@1.6.2":
|
||||
version "1.6.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/tabs/-/tabs-1.6.2.tgz#d17f43c81d8e718b378f6e891151e150c9d344e7"
|
||||
integrity sha512-J0OY4sEhZW0jxlj4MkotLiD0/snMk7IsqvDxUB17MxuFRs5ytUssHzCqO7fexH7fSfd54ITNoUIns6Ir2ueCsA==
|
||||
dependencies:
|
||||
"@chakra-ui/clickable" "1.2.1"
|
||||
"@chakra-ui/descendant" "2.1.1"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
@@ -2352,12 +2352,12 @@
|
||||
"@chakra-ui/icon" "2.0.0"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/textarea@1.2.2":
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-1.2.2.tgz#3e62612e4b1bc0724ba084b0b08b247ac2bbdbab"
|
||||
integrity sha512-DoLdKxHk0DyrQDnj1la9wjl2AW3/SK62nfWDYLAm0ouFsw1VKPw9nU+Yyj0dPruQTzI19nLaYF26i97rtnT27g==
|
||||
"@chakra-ui/textarea@1.2.3":
|
||||
version "1.2.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/textarea/-/textarea-1.2.3.tgz#e6da85fdde0ad7fc68944662564e12e982262349"
|
||||
integrity sha512-yLObhuSnIX11GyjsiEIC2gFTDtUoGSpHUqHRD8nF9BmuePHqFzG3jdkBrFMd09u0Ee6kr6o0tia6g9Wt29TyQQ==
|
||||
dependencies:
|
||||
"@chakra-ui/form-control" "1.5.2"
|
||||
"@chakra-ui/form-control" "1.5.3"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/theme-tools@1.3.1", "@chakra-ui/theme-tools@^1.3.1":
|
||||
@@ -2368,36 +2368,36 @@
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
"@ctrl/tinycolor" "^3.4.0"
|
||||
|
||||
"@chakra-ui/theme@1.12.2":
|
||||
version "1.12.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-1.12.2.tgz#191e168d83e7a66bc3e65be802ad4e4e2a9bbeb5"
|
||||
integrity sha512-LVjSf16yYHD40ILrsDEd3idVQRvJSY7JY8lvTGWo2p6v+JQESWF+zXlYi9Le+TXRpZuFvJuuQ1SEvoqVwdcJ8Q==
|
||||
"@chakra-ui/theme@1.12.3":
|
||||
version "1.12.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/theme/-/theme-1.12.3.tgz#842fcb4dba01179c05c7365eb33486da10ef2b6d"
|
||||
integrity sha512-aqMGSfQLYOrcWBKaD5GuVYrpI5Zoq4Gt3D9P+drB/CDTRgBLWuJI1rbKOSSSJUK4RNZ0WbakPwz6wXiVS3vVdQ==
|
||||
dependencies:
|
||||
"@chakra-ui/anatomy" "1.2.1"
|
||||
"@chakra-ui/theme-tools" "1.3.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
|
||||
"@chakra-ui/toast@1.5.0":
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-1.5.0.tgz#c6456c0a4f24669e16946de318ad568e24a5d497"
|
||||
integrity sha512-rTsFx/Qos5oVPN6aZMbT/wTxwZlFNSXQqrTpJYaRcRFQGzxIDDxmGkKYfPnyJjRP9i6EqynJhXEIyhMA0xO0dw==
|
||||
"@chakra-ui/toast@1.5.1":
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/toast/-/toast-1.5.1.tgz#47058ee5fcc0ded1ab31bcdc86a5344256dbfdb2"
|
||||
integrity sha512-cynOM/mGqf/dPulYOQMcpQnbf8pQWV2SEz1ymW1Nni1hh6zCqW6+pI+YeMxeadJLAwohnRumwzLsRiSL4l+YRQ==
|
||||
dependencies:
|
||||
"@chakra-ui/alert" "1.3.2"
|
||||
"@chakra-ui/close-button" "1.2.2"
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/theme" "1.12.2"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/theme" "1.12.3"
|
||||
"@chakra-ui/transition" "1.4.2"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
"@reach/alert" "0.13.2"
|
||||
|
||||
"@chakra-ui/tooltip@1.4.2":
|
||||
version "1.4.2"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-1.4.2.tgz#fce61c7ad4c3e6e5833487ddf75f03c774913fb9"
|
||||
integrity sha512-+wyYXG8qenKkFy2YSFfOBf3rlWADnu6S9EUxP+3Rmm78unOWXDuTJWzqy2QlXs2BwoQoifaz1LVwzmMb7WLVgQ==
|
||||
"@chakra-ui/tooltip@1.4.3":
|
||||
version "1.4.3"
|
||||
resolved "https://registry.yarnpkg.com/@chakra-ui/tooltip/-/tooltip-1.4.3.tgz#0fa58d711799b438425f094ae4f04abfa8096649"
|
||||
integrity sha512-d+JsT65LPYFoGEfmqvqa3xDzW1enBdAHns3GYoHnie92pLseMKQYJsITO5SmwNGnEiOHbJ8pkB/hggo+xHKkpg==
|
||||
dependencies:
|
||||
"@chakra-ui/hooks" "1.7.1"
|
||||
"@chakra-ui/hooks" "1.7.2"
|
||||
"@chakra-ui/popper" "2.4.1"
|
||||
"@chakra-ui/portal" "1.3.1"
|
||||
"@chakra-ui/portal" "1.3.2"
|
||||
"@chakra-ui/react-utils" "1.2.1"
|
||||
"@chakra-ui/utils" "1.9.1"
|
||||
"@chakra-ui/visually-hidden" "1.1.1"
|
||||
@@ -2842,6 +2842,11 @@
|
||||
prop-types "^15.7.2"
|
||||
tslib "^2.1.0"
|
||||
|
||||
"@react-icons/all-files@^4.1.0":
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-icons/all-files/-/all-files-4.1.0.tgz#477284873a0821928224b6fc84c62d2534d6650b"
|
||||
integrity sha512-hxBI2UOuVaI3O/BhQfhtb4kcGn9ft12RWAFVMUeNjqqhLsHvFtzIkFaptBJpFDANTKoDfdVoHTKZDlwKCACbMQ==
|
||||
|
||||
"@rollup/plugin-babel@^5.2.0":
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879"
|
||||
@@ -9198,11 +9203,6 @@ react-focus-lock@2.5.2:
|
||||
use-callback-ref "^1.2.5"
|
||||
use-sidecar "^1.0.5"
|
||||
|
||||
react-icons@^4.3.1:
|
||||
version "4.3.1"
|
||||
resolved "https://registry.yarnpkg.com/react-icons/-/react-icons-4.3.1.tgz#2fa92aebbbc71f43d2db2ed1aed07361124e91ca"
|
||||
integrity sha512-cB10MXLTs3gVuXimblAdI71jrJx8njrJZmNMEMC+sQu5B/BIOmlsAjskdqpn81y8UBVEGuHODd7/ci5DvoSzTQ==
|
||||
|
||||
"react-is@^16.12.0 || ^17.0.0", react-is@^17.0.1, react-is@^17.0.2:
|
||||
version "17.0.2"
|
||||
resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0"
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ontime",
|
||||
"version": "0.7.0",
|
||||
"version": "0.8.0",
|
||||
"author": "Carlos Valente",
|
||||
"description": "Time keeping for live events",
|
||||
"repository": "https://github.com/cpvalente/ontime",
|
||||
|
||||
Reference in New Issue
Block a user