diff --git a/ticket-frontend/src/lib/components/image-preview.svelte b/ticket-frontend/src/lib/components/image-preview.svelte new file mode 100644 index 0000000..97a73dd --- /dev/null +++ b/ticket-frontend/src/lib/components/image-preview.svelte @@ -0,0 +1,187 @@ + + + + +{#if images.length > 0} +
+
+ + + + Detected {images.length} {images.length === 1 ? 'image' : 'images'} +
+ +
+ {#each images as image, i} +
+ {#if image.loading} +
+
+
+ Loading image... +
+
+ {/if} + + {#if image.error} +
+
+ + + + Failed to load image + + Open in new tab + +
+
+ {:else} + + + + + {/if} +
+ {/each} +
+
+{/if} + + +{#if expandedIndex !== null && !images[expandedIndex].error} +
+ + +
e.stopPropagation()}> + Expanded ticket attachment +
+ +
+ Click anywhere to close • ESC to exit +
+
+{/if} + + diff --git a/ticket-frontend/src/lib/components/ticket-card.svelte b/ticket-frontend/src/lib/components/ticket-card.svelte index 9faa475..0c3e23b 100644 --- a/ticket-frontend/src/lib/components/ticket-card.svelte +++ b/ticket-frontend/src/lib/components/ticket-card.svelte @@ -1,5 +1,6 @@