Skip to content

Commit 696f3f9

Browse files
committed
fix: update form types and default values in Thumbnail components
1 parent 8a18083 commit 696f3f9

File tree

2 files changed

+17
-12
lines changed

2 files changed

+17
-12
lines changed

apps/frontend/src/modules/song/components/client/SongThumbnailInput.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import {
1111
import { Slider } from '@web/modules/shared/components/ui/slider';
1212

1313
import { useSongProvider } from './context/Song.context';
14-
import { EditSongForm, UploadSongForm } from './SongForm.zod';
14+
import { EditSongFormInput, UploadSongFormInput } from './SongForm.zod';
1515
import { ThumbnailRendererCanvas } from './ThumbnailRenderer';
1616

1717
const formatZoomLevel = (zoomLevel: number) => {
@@ -20,7 +20,8 @@ const formatZoomLevel = (zoomLevel: number) => {
2020
};
2121

2222
type ThumbnailSlidersProps = {
23-
formMethods: UseFormReturn<UploadSongForm> & UseFormReturn<EditSongForm>;
23+
formMethods: UseFormReturn<UploadSongFormInput> &
24+
UseFormReturn<EditSongFormInput>;
2425
isLocked: boolean;
2526
maxTick: number;
2627
maxLayer: number;
@@ -48,7 +49,7 @@ const ThumbnailSliders: React.FC<ThumbnailSlidersProps> = ({
4849
<div>
4950
<Slider
5051
id='zoom-level'
51-
value={[zoomLevel]}
52+
value={[zoomLevel ?? THUMBNAIL_CONSTANTS.zoomLevel.default]}
5253
onValueChange={(value) => {
5354
setValue('thumbnailData.zoomLevel', value[0], {
5455
shouldValidate: true,
@@ -60,14 +61,16 @@ const ThumbnailSliders: React.FC<ThumbnailSlidersProps> = ({
6061
max={THUMBNAIL_CONSTANTS.zoomLevel.max}
6162
/>
6263
</div>
63-
<div>{formatZoomLevel(zoomLevel)}</div>
64+
<div>
65+
{formatZoomLevel(zoomLevel ?? THUMBNAIL_CONSTANTS.zoomLevel.default)}
66+
</div>
6467
<div>
6568
<label htmlFor='start-tick'>Start Tick</label>
6669
</div>
6770
<div className='w-full'>
6871
<Slider
6972
id='start-tick'
70-
value={[startTick]}
73+
value={[startTick ?? THUMBNAIL_CONSTANTS.startTick.default]}
7174
onValueChange={(value) => {
7275
setValue('thumbnailData.startTick', value[0], {
7376
shouldValidate: true,
@@ -86,7 +89,7 @@ const ThumbnailSliders: React.FC<ThumbnailSlidersProps> = ({
8689
<div className='w-full'>
8790
<Slider
8891
id='start-layer'
89-
value={[startLayer]}
92+
value={[startLayer ?? THUMBNAIL_CONSTANTS.startLayer.default]}
9093
onValueChange={(value) => {
9194
setValue('thumbnailData.startLayer', value[0], {
9295
shouldValidate: true,

apps/frontend/src/modules/song/components/client/ThumbnailRenderer.tsx

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
import { useEffect, useRef, useState } from 'react';
44
import { UseFormReturn } from 'react-hook-form';
55

6+
import { THUMBNAIL_CONSTANTS } from '@nbw/config';
67
import { NoteQuadTree } from '@nbw/song';
78
import { drawNotesOffscreen, swap } from '@nbw/thumbnail/browser';
89

9-
import { UploadSongForm } from './SongForm.zod';
10+
import { UploadSongFormInput } from './SongForm.zod';
1011

1112
type ThumbnailRendererCanvasProps = {
1213
notes: NoteQuadTree;
13-
formMethods: UseFormReturn<UploadSongForm>;
14+
formMethods: UseFormReturn<UploadSongFormInput>;
1415
};
1516

1617
export const ThumbnailRendererCanvas = ({
@@ -60,10 +61,11 @@ export const ThumbnailRendererCanvas = ({
6061
try {
6162
const output = (await drawNotesOffscreen({
6263
notes,
63-
startTick,
64-
startLayer,
65-
zoomLevel,
66-
backgroundColor,
64+
startTick: startTick ?? THUMBNAIL_CONSTANTS.startTick.default,
65+
startLayer: startLayer ?? THUMBNAIL_CONSTANTS.startLayer.default,
66+
zoomLevel: zoomLevel ?? THUMBNAIL_CONSTANTS.zoomLevel.default,
67+
backgroundColor:
68+
backgroundColor ?? THUMBNAIL_CONSTANTS.backgroundColor.default,
6769
canvasWidth: canvas.width,
6870
imgWidth: 1280,
6971
imgHeight: 768,

0 commit comments

Comments
 (0)