@@ -30,6 +30,11 @@ function getErrorMessage(error: unknown) {
3030 return error instanceof Error ? error . message : "작품 등록에 실패했습니다." ;
3131}
3232
33+ function toOptionalNumber ( value : string ) {
34+ const trimmed = value . trim ( ) ;
35+ return trimmed === "" ? undefined : Number ( trimmed ) ;
36+ }
37+
3338export default function ArtCreatePage ( ) {
3439 const router = useRouter ( ) ;
3540
@@ -77,28 +82,23 @@ export default function ArtCreatePage() {
7782
7883 try {
7984 const uploadedImages = await Promise . all ( images . map ( image => uploadImage ( image . file ) ) ) ;
85+ const widthCm = toOptionalNumber ( width ) ;
86+ const heightCm = toOptionalNumber ( height ) ;
87+ const depthCm = toOptionalNumber ( depth ) ;
8088
8189 await createArtworkMutation ( {
82- title,
90+ title : title . trim ( ) ,
8391 artworkType : artType ,
84- description,
85- caution : notes ,
86-
87- sizeType : "STANDARD" ,
88-
89- widthCm : Number ( width ) ,
90- heightCm : Number ( height ) ,
91- depthCm : Number ( depth ) ,
92-
93- createdDate : date ?. toISOString ( ) . split ( "T" ) [ 0 ] ,
94-
92+ description : description . trim ( ) ,
93+ ...( notes . trim ( ) !== "" ? { caution : notes . trim ( ) } : { } ) ,
94+ ...( widthCm !== undefined ? { widthCm } : { } ) ,
95+ ...( heightCm !== undefined ? { heightCm } : { } ) ,
96+ ...( depthCm !== undefined ? { depthCm } : { } ) ,
97+ ...( date ? { createdDate : date . toISOString ( ) . split ( "T" ) [ 0 ] } : { } ) ,
9598 isPublic,
96-
9799 imageIds : uploadedImages . map ( image => image . imageId ) ,
98-
99100 thumbnailIndex : 0 ,
100-
101- availableRegions : selectedRegions ,
101+ ...( selectedRegions . length > 0 ? { availableRegions : selectedRegions } : { } ) ,
102102 } ) ;
103103
104104 clearImages ( ) ;
0 commit comments