Skip to content

Commit

Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
split Modal
Browse files Browse the repository at this point in the history
alex-Arc committed May 12, 2024
1 parent 39fb4d6 commit 7205f04
Showing 3 changed files with 58 additions and 42 deletions.
Original file line number Diff line number Diff line change
@@ -6,7 +6,8 @@ import { setClientRemote } from '../../../../common/hooks/useSocket';
import { useClientStore } from '../../../../common/stores/clientStore';
import * as Panel from '../PanelUtils';

import { RedirectModal, RenameModal } from './Modal';
import { RedirectModal } from './RedirectModal';
import { RenameModal } from './RenameModal';

import style from './ClientControlPanel.module.scss';

Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import { useState } from 'react';
import {
Button,
Input,
InputGroup,
InputLeftAddon,
Modal,
ModalBody,
ModalCloseButton,
ModalContent,
ModalFooter,
ModalHeader,
ModalOverlay,
} from '@chakra-ui/react';
import { Clients } from 'ontime-types';

import style from './ClientControlPanel.module.scss';

export function RedirectModal(props: {
onClose: () => void;
isOpen: boolean;
id: string;
clients: Clients;
onSubmit: (path: string) => void;
}) {
const { onClose, isOpen, id, clients, onSubmit } = props;
const [path, setPath] = useState('');

const host = `${window.location.origin}/`;

return (
<Modal isOpen={isOpen} onClose={onClose} variant='ontime'>
<ModalOverlay />
<ModalContent>
<ModalHeader>Redirect {clients[id]?.name}</ModalHeader>
<ModalCloseButton />
<ModalBody>
<InputGroup variant='ontime-filled' size='md'>
<InputLeftAddon>{host}</InputLeftAddon>
<Input placeholder='timer?bg=f00' value={path} onChange={(event) => setPath(event.target.value)} />
</InputGroup>
</ModalBody>
<ModalFooter>
<div className={style.buttonSection}>
<Button size='md' variant='ontime-subtle' onClick={onClose}>
Cancel
</Button>
<Button size='md' variant='ontime-filled' onClick={() => onSubmit(path)}>
Submit
</Button>
</div>
</ModalFooter>
</ModalContent>
</Modal>
);
}
Original file line number Diff line number Diff line change
@@ -2,8 +2,6 @@ import { useState } from 'react';
import {
Button,
Input,
InputGroup,
InputLeftAddon,
Modal,
ModalBody,
ModalCloseButton,
@@ -16,45 +14,6 @@ import { Clients } from 'ontime-types';

import style from './ClientControlPanel.module.scss';

export function RedirectModal(props: {
onClose: () => void;
isOpen: boolean;
id: string;
clients: Clients;
onSubmit: (path: string) => void;
}) {
const { onClose, isOpen, id, clients, onSubmit } = props;
const [path, setPath] = useState('');

return (
<Modal isOpen={isOpen} onClose={onClose} variant='ontime'>
<ModalOverlay />
<ModalContent>
<ModalHeader>Redirect {clients[id]?.name}</ModalHeader>
<ModalCloseButton />
<ModalBody>
<div>Redirect to a new URL</div>
<InputGroup variant='ontime-filled' size='md'>
{/* TODO: better description */}
<InputLeftAddon>ontime:port/</InputLeftAddon>
<Input placeholder='newpath?and=params' value={path} onChange={(event) => setPath(event.target.value)} />
</InputGroup>
</ModalBody>
<ModalFooter>
<div className={style.buttonSection}>
<Button size='md' variant='ontime-subtle' onClick={onClose}>
Cancel
</Button>
<Button size='md' variant='ontime-filled' onClick={() => onSubmit(path)}>
Submit
</Button>
</div>
</ModalFooter>
</ModalContent>
</Modal>
);
}

export function RenameModal(props: {
onClose: () => void;
isOpen: boolean;

0 comments on commit 7205f04

Please sign in to comment.