diff --git a/src/components/Setting.module.css b/src/components/Setting.module.css index d88a560d9..bdf595b8a 100644 --- a/src/components/Setting.module.css +++ b/src/components/Setting.module.css @@ -31,7 +31,7 @@ color: var(--input-color); border: solid 1px var(--border-color); border-radius: var(--border-radius); - padding: 8px 12px; + padding: 8px; width: 100%; font-size: 1rem; line-height: 1; diff --git a/src/views/ViewTrackDetails.tsx b/src/views/ViewTrackDetails.tsx index 56a971e99..6b222c24b 100644 --- a/src/views/ViewTrackDetails.tsx +++ b/src/views/ViewTrackDetails.tsx @@ -132,17 +132,6 @@ export default function ViewTrackDetails() { }} /> - - - { setFormData({ ...formData, - track_no: Number(e.currentTarget.value), + track_no: parseNullableNumber(e.currentTarget.value), }); }} /> @@ -167,11 +156,11 @@ export default function ViewTrackDetails() { type="number" min="0" step="1" - value={Number(formData.track_of)} + value={formData.track_of ?? ''} onChange={(e) => { setFormData({ ...formData, - track_of: Number(e.currentTarget.value), + track_of: parseNullableNumber(e.currentTarget.value), }); }} /> @@ -186,11 +175,11 @@ export default function ViewTrackDetails() { type="number" min="0" step="1" - value={Number(formData.disk_no)} + value={formData.disk_no ?? ''} onChange={(e) => { setFormData({ ...formData, - disk_no: Number(e.currentTarget.value), + disk_no: parseNullableNumber(e.currentTarget.value), }); }} /> @@ -201,16 +190,27 @@ export default function ViewTrackDetails() { type="number" min="0" step="1" - value={Number(formData.disk_of)} + value={formData.disk_of ?? ''} onChange={(e) => { setFormData({ ...formData, - disk_of: Number(e.currentTarget.value), + disk_of: parseNullableNumber(e.currentTarget.value), }); }} /> + + + { return { track }; }; + +function parseNullableNumber(str: string): number | null { + if (str === '' || str === '0') { + return null; + } + + return Number(str); +}