@@ -38,6 +38,7 @@ import type {
3838 AnnotationRegion ,
3939 AnnotationType ,
4040 CropRegion ,
41+ FigureData ,
4142 PlaybackSpeed ,
4243 ZoomDepth ,
4344} from "./types" ;
@@ -86,14 +87,17 @@ interface SettingsPanelProps {
8687 onTrimDelete ?: ( id : string ) => void ;
8788 shadowIntensity ?: number ;
8889 onShadowChange ?: ( intensity : number ) => void ;
90+ onShadowCommit ?: ( ) => void ;
8991 showBlur ?: boolean ;
9092 onBlurChange ?: ( showBlur : boolean ) => void ;
9193 motionBlurEnabled ?: boolean ;
9294 onMotionBlurChange ?: ( enabled : boolean ) => void ;
9395 borderRadius ?: number ;
9496 onBorderRadiusChange ?: ( radius : number ) => void ;
97+ onBorderRadiusCommit ?: ( ) => void ;
9598 padding ?: number ;
9699 onPaddingChange ?: ( padding : number ) => void ;
100+ onPaddingCommit ?: ( ) => void ;
97101 cropRegion ?: CropRegion ;
98102 onCropChange ?: ( region : CropRegion ) => void ;
99103 aspectRatio : AspectRatio ;
@@ -118,7 +122,7 @@ interface SettingsPanelProps {
118122 onAnnotationContentChange ?: ( id : string , content : string ) => void ;
119123 onAnnotationTypeChange ?: ( id : string , type : AnnotationType ) => void ;
120124 onAnnotationStyleChange ?: ( id : string , style : Partial < AnnotationRegion [ "style" ] > ) => void ;
121- onAnnotationFigureDataChange ?: ( id : string , figureData : any ) => void ;
125+ onAnnotationFigureDataChange ?: ( id : string , figureData : FigureData ) => void ;
122126 onAnnotationDelete ?: ( id : string ) => void ;
123127 selectedSpeedId ?: string | null ;
124128 selectedSpeedValue ?: PlaybackSpeed | null ;
@@ -148,14 +152,17 @@ export function SettingsPanel({
148152 onTrimDelete,
149153 shadowIntensity = 0 ,
150154 onShadowChange,
155+ onShadowCommit,
151156 showBlur,
152157 onBlurChange,
153158 motionBlurEnabled = false ,
154159 onMotionBlurChange,
155160 borderRadius = 0 ,
156161 onBorderRadiusChange,
162+ onBorderRadiusCommit,
157163 padding = 50 ,
158164 onPaddingChange,
165+ onPaddingCommit,
159166 cropRegion,
160167 onCropChange,
161168 aspectRatio,
@@ -196,7 +203,7 @@ export function SettingsPanel({
196203 try {
197204 const resolved = await Promise . all ( WALLPAPER_RELATIVE . map ( ( p ) => getAssetPath ( p ) ) ) ;
198205 if ( mounted ) setWallpaperPaths ( resolved ) ;
199- } catch {
206+ } catch ( _err ) {
200207 if ( mounted ) setWallpaperPaths ( WALLPAPER_RELATIVE . map ( ( p ) => `/${ p } ` ) ) ;
201208 }
202209 } ) ( ) ;
@@ -480,6 +487,7 @@ export function SettingsPanel({
480487 < Slider
481488 value = { [ shadowIntensity ] }
482489 onValueChange = { ( values ) => onShadowChange ?.( values [ 0 ] ) }
490+ onValueCommit = { ( ) => onShadowCommit ?.( ) }
483491 min = { 0 }
484492 max = { 1 }
485493 step = { 0.01 }
@@ -494,6 +502,7 @@ export function SettingsPanel({
494502 < Slider
495503 value = { [ borderRadius ] }
496504 onValueChange = { ( values ) => onBorderRadiusChange ?.( values [ 0 ] ) }
505+ onValueCommit = { ( ) => onBorderRadiusCommit ?.( ) }
497506 min = { 0 }
498507 max = { 16 }
499508 step = { 0.5 }
@@ -508,6 +517,7 @@ export function SettingsPanel({
508517 < Slider
509518 value = { [ padding ] }
510519 onValueChange = { ( values ) => onPaddingChange ?.( values [ 0 ] ) }
520+ onValueCommit = { ( ) => onPaddingCommit ?.( ) }
511521 min = { 0 }
512522 max = { 100 }
513523 step = { 1 }
@@ -620,7 +630,9 @@ export function SettingsPanel({
620630 s . replace ( / ^ f i l e : \/ \/ / , "" ) . replace ( / ^ \/ / , "" ) ;
621631 if ( clean ( selected ) . endsWith ( clean ( path ) ) ) return true ;
622632 if ( clean ( path ) . endsWith ( clean ( selected ) ) ) return true ;
623- } catch { }
633+ } catch {
634+ // Best-effort comparison; fallback to strict match.
635+ }
624636 return false ;
625637 } ) ( ) ;
626638 return (
0 commit comments