feat: some cleanup

This commit is contained in:
Ary
2024-02-24 11:54:45 -07:00
parent 6c86ece1ff
commit 04455c08ef
2 changed files with 12 additions and 61 deletions
@@ -1,71 +1,16 @@
import { useEffect } from 'react';
import { useFieldArray, useForm } from 'react-hook-form';
import { Alias } from 'ontime-types';
import useAliases from '../../../../common/hooks-query/useAliases'; import useAliases from '../../../../common/hooks-query/useAliases';
import ModalLoader from '../../../../features/modals/modal-loader/ModalLoader'; import ModalLoader from '../../../../features/modals/modal-loader/ModalLoader';
import * as Panel from '../PanelUtils'; import * as Panel from '../PanelUtils';
import UrlAliasListItem from './UrlAliasListItem'; import UrlAliasListItem from './UrlAliasListItem';
type Aliases = {
aliases: Alias[];
};
export default function UrlAliasList() { export default function UrlAliasList() {
const { data, status, isFetching, refetch } = useAliases(); const { data, isFetching, refetch } = useAliases();
// const { emitError } = useEmitLog();
const {
control,
// handleSubmit,
register,
reset,
formState: { isSubmitting, isDirty, isValid },
} = useForm<Aliases>({
defaultValues: { aliases: data },
values: { aliases: data || [] },
resetOptions: {
keepDirtyValues: true,
},
});
console.log({ isSubmitting, isDirty, isValid, data });
const { fields, remove } = useFieldArray({
name: 'aliases',
control,
});
useEffect(() => {
if (data) {
reset({ aliases: data });
}
}, [data, reset]);
const handleRefetch = async () => { const handleRefetch = async () => {
await refetch(); await refetch();
}; };
// const onReset = () => {
// reset({ aliases: data });
// };
// const addNew = () => {
// if (fields.length > 20) {
// emitError('Maximum amount of aliases reached (20)');
// return;
// }
// append({
// enabled: false,
// alias: '',
// pathAndParams: '',
// });
// };
const disableInputs = status === 'pending';
// const hasTooManyOptions = fields.length >= 20;
if (isFetching) { if (isFetching) {
return <ModalLoader />; return <ModalLoader />;
} }
@@ -81,14 +26,14 @@ export default function UrlAliasList() {
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{fields.map((alias) => { {(data || []).map((alias) => {
return ( return (
<UrlAliasListItem <UrlAliasListItem
alias={alias.alias} alias={alias.alias}
enabled={alias.enabled} enabled={alias.enabled}
pathAndParams={alias.pathAndParams} pathAndParams={alias.pathAndParams}
onRefetch={handleRefetch} onRefetch={handleRefetch}
key={alias.id} key={alias.alias}
/> />
); );
})} })}
@@ -15,7 +15,7 @@ export default function UrlAliasPanel() {
<Panel.Header>URL Aliases</Panel.Header> <Panel.Header>URL Aliases</Panel.Header>
<Panel.Section> <Panel.Section>
<Panel.Card> <Panel.Card>
<div> <main>
<Alert status='info' variant='ontime-on-light-info'> <Alert status='info' variant='ontime-on-light-info'>
<AlertIcon /> <AlertIcon />
<div className={style.column}> <div className={style.column}>
@@ -28,8 +28,14 @@ export default function UrlAliasPanel() {
</AlertDescription> </AlertDescription>
</div> </div>
</Alert> </Alert>
<UrlAliasList /> <div
</div> style={{
marginTop: '1rem',
}}
>
<UrlAliasList />
</div>
</main>
</Panel.Card> </Panel.Card>
</Panel.Section> </Panel.Section>
</> </>