diff --git a/src/lib/components/EditImageModal.svelte b/src/lib/components/EditImageModal.svelte new file mode 100644 index 0000000..0240ba6 --- /dev/null +++ b/src/lib/components/EditImageModal.svelte @@ -0,0 +1,191 @@ + + +{#if open && image} + + +{/if} diff --git a/src/lib/components/PipelinePanel.svelte b/src/lib/components/PipelinePanel.svelte new file mode 100644 index 0000000..07bcdec --- /dev/null +++ b/src/lib/components/PipelinePanel.svelte @@ -0,0 +1,372 @@ + + +
+ +
+ +
+ + + +
+ + {#if showSaveDialog} +
+ + + +
+ {/if} +
+ + +
+
+ Pipeline Steps +
+ + + updateStep('crop', { enabled })} + defaultExpanded + > + {#snippet children()} + + + {/snippet} + + + + updateStep('resize', { enabled })} + defaultExpanded + > + {#snippet children()} + + + {/snippet} + + + + updateStep('brightness', { enabled })} + > + {#snippet children()} +
+ updateStep('brightness', { value: parseInt((e.target as HTMLInputElement).value) })} + class="flex-1" + /> + {config.brightness.value} +
+ {/snippet} +
+ + + updateStep('contrast', { enabled })} + > + {#snippet children()} +
+ updateStep('contrast', { value: parseInt((e.target as HTMLInputElement).value) })} + class="flex-1" + /> + {config.contrast.value} +
+ {/snippet} +
+ + + updateStep('gamma', { enabled })} + > + {#snippet children()} +
+ updateStep('gamma', { value: parseFloat((e.target as HTMLInputElement).value) })} + class="flex-1" + /> + {config.gamma.value.toFixed(1)} +
+ {/snippet} +
+ + + updateStep('autoLevels', { enabled })} + > + {#snippet children()} + +
+ updateStep('autoLevels', { clipPercent: parseFloat((e.target as HTMLInputElement).value) })} + class="flex-1" + /> + {config.autoLevels.clipPercent.toFixed(1)}% +
+ {/snippet} +
+ + + updateStep('greyscale', { enabled })} + defaultExpanded + > + {#snippet children()} + + + {/snippet} + + + + updateStep('sharpen', { enabled })} + > + {#snippet children()} + +
+ updateStep('sharpen', { amount: parseInt((e.target as HTMLInputElement).value) })} + class="flex-1" + /> + {config.sharpen.amount} +
+ {/snippet} +
+ + + updateStep('quantize', { enabled })} + > + {#snippet children()} + + + {/snippet} + + + + updateStep('dither', { enabled })} + > + {#snippet children()} + + + {/snippet} + +
+
diff --git a/src/lib/components/PipelineStep.svelte b/src/lib/components/PipelineStep.svelte new file mode 100644 index 0000000..0c284e6 --- /dev/null +++ b/src/lib/components/PipelineStep.svelte @@ -0,0 +1,76 @@ + + +
+ +
+ + + + + +
+ + + {#if expanded && enabled && children} +
+ {@render children()} +
+ {/if} +