diff --git a/apps/client/package.json b/apps/client/package.json index c89afbdf3..68b686d00 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -1,6 +1,6 @@ { "name": "ontime-ui", - "version": "2.16.2", + "version": "2.21.3", "private": true, "dependencies": { "@chakra-ui/react": "^2.7.0", diff --git a/apps/client/src/common/api/apiConstants.ts b/apps/client/src/common/api/apiConstants.ts index 9959d7275..4ad3a12f3 100644 --- a/apps/client/src/common/api/apiConstants.ts +++ b/apps/client/src/common/api/apiConstants.ts @@ -5,6 +5,7 @@ export const USERFIELDS = ['userFields']; export const RUNDOWN = ['rundown']; export const APP_INFO = ['appinfo']; export const OSC_SETTINGS = ['oscSettings']; +export const HTTP_SETTINGS = ['httpSettings']; export const APP_SETTINGS = ['appSettings']; export const VIEW_SETTINGS = ['viewSettings']; export const RUNTIME = ['runtimeStore']; diff --git a/apps/client/src/common/api/ontimeApi.ts b/apps/client/src/common/api/ontimeApi.ts index 9c2337d10..f00c292c5 100644 --- a/apps/client/src/common/api/ontimeApi.ts +++ b/apps/client/src/common/api/ontimeApi.ts @@ -5,6 +5,7 @@ import { GetInfo, GoogleSheet, GoogleSheetState, + HttpSettings, OntimeRundown, OSCSettings, OscSubscription, @@ -106,6 +107,23 @@ export async function getOSC(): Promise { return res.data; } +/** + * @description HTTP request to retrieve http settings + * @return {Promise} + */ +export async function getHTTP(): Promise { + const res = await axios.get(`${ontimeURL}/http`); + return res.data; +} + +/** + * @description HTTP request to mutate http settings + * @return {Promise} + */ +export async function postHTTP(data: HttpSettings) { + return axios.post(`${ontimeURL}/http`, data); +} + /** * @description HTTP request to mutate osc settings * @return {Promise} diff --git a/apps/client/src/common/components/input/time-input/TimeInput.tsx b/apps/client/src/common/components/input/time-input/TimeInput.tsx index 04fdf5b31..d584b8f02 100644 --- a/apps/client/src/common/components/input/time-input/TimeInput.tsx +++ b/apps/client/src/common/components/input/time-input/TimeInput.tsx @@ -212,6 +212,7 @@ export default function TimeInput(props: TimeInputProps) { onKeyDown={onKeyDownHandler} value={value} maxLength={8} + autoComplete='off' /> ); diff --git a/apps/client/src/common/components/navigation-menu/NavigationMenu.module.scss b/apps/client/src/common/components/navigation-menu/NavigationMenu.module.scss index c4e942229..323ace84e 100644 --- a/apps/client/src/common/components/navigation-menu/NavigationMenu.module.scss +++ b/apps/client/src/common/components/navigation-menu/NavigationMenu.module.scss @@ -10,10 +10,6 @@ $icon-color: $ui-white; $button-bg: $gray-1050; $button-size: 48px; -.mirror { - transform: rotate(180deg); -} - .buttonContainer { display: flex; flex-direction: column; diff --git a/apps/client/src/common/components/navigation-menu/NavigationMenu.tsx b/apps/client/src/common/components/navigation-menu/NavigationMenu.tsx index 7924291ba..078aafb96 100644 --- a/apps/client/src/common/components/navigation-menu/NavigationMenu.tsx +++ b/apps/client/src/common/components/navigation-menu/NavigationMenu.tsx @@ -12,7 +12,6 @@ import { IoSwapVertical } from '@react-icons/all-files/io5/IoSwapVertical'; import { navigatorConstants } from '../../../viewerConfig'; import useClickOutside from '../../hooks/useClickOutside'; import useFullscreen from '../../hooks/useFullscreen'; -import { useKeyDown } from '../../hooks/useKeyDown'; import { useViewOptionsStore } from '../../stores/viewOptions'; import RenameClientModal from './rename-client-modal/RenameClientModal'; @@ -23,18 +22,19 @@ function NavigationMenu() { const location = useLocation(); const { isFullScreen, toggleFullScreen } = useFullscreen(); - const { mirror, toggleMirror } = useViewOptionsStore(); + const { toggleMirror } = useViewOptionsStore(); const [showButton, setShowButton] = useState(false); const [searchParams, setSearchParams] = useSearchParams(); const [showMenu, setShowMenu] = useState(false); const menuRef = useRef(null); + useClickOutside(menuRef, () => setShowMenu(false)); const { isOpen, onOpen, onClose } = useDisclosure(); const toggleMenu = () => setShowMenu((prev) => !prev); - useKeyDown(toggleMenu, ' ', { isDisabled: searchParams.get('edit') === 'true' || isOpen }); + // show on mouse move useEffect(() => { let fadeOut: NodeJS.Timeout | null = null; const setShowMenuTrue = () => { @@ -63,7 +63,7 @@ function NavigationMenu() { }; return createPortal( -