refactor: style and ux tweaks

This commit is contained in:
Carlos Valente
2025-07-21 07:07:26 +02:00
committed by Carlos Valente
parent 9ebb3decdb
commit 3747dbc1a8
7 changed files with 26 additions and 34 deletions
@@ -7,6 +7,7 @@ import IconButton from '../../../../common/components/buttons/IconButton';
import Info from '../../../../common/components/info/Info';
import ExternalLink from '../../../../common/components/link/external-link/ExternalLink';
import Switch from '../../../../common/components/switch/Switch';
import Tag from '../../../../common/components/tag/Tag';
import useUrlPresets, { useUpdateUrlPreset } from '../../../../common/hooks-query/useUrlPresets';
import { handleLinks } from '../../../../common/utils/linkUtils';
import * as Panel from '../../panel-utils/PanelUtils';
@@ -57,9 +58,8 @@ export default function URLPresets() {
<thead>
<tr>
<th>Enabled</th>
<th>Alias</th>
<th>Target view</th>
<th>URL parameters</th>
<th>Alias</th>
<th />
</tr>
</thead>
@@ -71,9 +71,10 @@ export default function URLPresets() {
<td>
<Switch defaultChecked={preset.enabled} onCheckedChange={() => {}} />
</td>
<td>{preset.alias}</td>
<td>{preset.target}</td>
<td>{preset.search}</td>
<td>
<Tag>{preset.target}</Tag>
</td>
<td style={{ width: '100%' }}>{preset.alias}</td>
<Panel.InlineElements relation='inner' as='td'>
<IconButton
variant='ghosted-white'
@@ -1,6 +1,6 @@
import { useEffect, useRef } from 'react';
import { useForm } from 'react-hook-form';
import { OntimeView, URLPreset } from 'ontime-types';
import { OntimeView, OntimeViewPresettable, URLPreset } from 'ontime-types';
import { maybeAxiosError, unwrapError } from '../../../../../common/api/utils';
import Button from '../../../../../common/components/buttons/Button';
@@ -12,8 +12,9 @@ import { generateUrlPresetOptions } from '../../../../../common/utils/urlPresets
import * as Panel from '../../../panel-utils/PanelUtils';
import style from './URLPresetForm.module.scss';
import Textarea from '../../../../../common/components/input/textarea/Textarea';
const targetOptions: SelectOption[] = [
const targetOptions: SelectOption<OntimeViewPresettable>[] = [
{ value: OntimeView.Cuesheet, label: 'Cuesheet' },
{ value: OntimeView.Operator, label: 'Operator' },
{ value: OntimeView.Timer, label: 'Timer' },
@@ -126,14 +127,15 @@ export default function URLPresetForm({ urlPreset, onClose }: URLPresetFormProps
<Select
options={targetOptions}
{...register('target', { required: 'Target is required' })}
value={watch('target') as OntimeView}
onValueChange={(value) => setValue('target', value)}
value={watch('target')}
onValueChange={(value) => setValue('target', value, { shouldDirty: true })}
/>
</div>
<div>
<Panel.Description>Parameters</Panel.Description>
<Input
<Textarea
fluid
rows={3}
{...register('search', {
validate: validateParams,
})}