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);
+}