+ {#if failure && !file}
+
{failure}
+ {/if}
@@ -212,6 +223,7 @@
.SavedComposer {
display: flex;
flex-shrink: 0;
+ flex-wrap: wrap;
align-items: flex-end;
gap: 0.5rem;
@@ -225,6 +237,20 @@
}
}
+ .failure {
+ flex-basis: 100%;
+ margin: 0;
+ padding: 0 0.25rem;
+
+ font-size: 0.875rem;
+ color: var(--color-error);
+ }
+
+ .dialog-body .failure {
+ margin-top: 0.75rem;
+ padding: 0;
+ }
+
.field {
display: flex;
flex: 1;
diff --git a/frontend/src/lib/components/SavedItem.svelte b/frontend/src/lib/components/SavedItem.svelte
new file mode 100644
index 0000000..5cf0d1f
--- /dev/null
+++ b/frontend/src/lib/components/SavedItem.svelte
@@ -0,0 +1,53 @@
+
+
+
diff --git a/frontend/src/lib/components/media/VideoNote.svelte b/frontend/src/lib/components/media/VideoNote.svelte
index 3d35197..6d64219 100644
--- a/frontend/src/lib/components/media/VideoNote.svelte
+++ b/frontend/src/lib/components/media/VideoNote.svelte
@@ -134,6 +134,8 @@
{#if stt.open}
{stt.text}
+ {:else if stt.failure}
+ {stt.failure}
{/if}
@@ -178,6 +180,11 @@
color: var(--color-text);
white-space: pre-wrap;
}
+ .failed {
+ font-size: 0.875rem;
+ color: var(--color-text-secondary);
+ }
+
.RoundVideo {
cursor: pointer;
diff --git a/frontend/src/lib/components/media/VoiceMessage.svelte b/frontend/src/lib/components/media/VoiceMessage.svelte
index 0653305..c7d788b 100644
--- a/frontend/src/lib/components/media/VoiceMessage.svelte
+++ b/frontend/src/lib/components/media/VoiceMessage.svelte
@@ -157,6 +157,8 @@
{#if stt.open}