-
-
{{ roomName }}
-
Members:
+
+
+
{{ roomName }}
+
Members:
-
- -
-
- {{ user.username }}
-
-
+
+ -
+
+ {{ user.username }}
+
+
-
-
- {{ $t('chat-room-global') }}
-
+
+
+ {{ $t('chat-room-global') }}
+
-
-
-
-
-
+
+
+
+
-
+
diff --git a/src/components/UploadAvatarModal.vue b/src/components/UploadAvatarModal.vue
index d4f863f..17a2840 100644
--- a/src/components/UploadAvatarModal.vue
+++ b/src/components/UploadAvatarModal.vue
@@ -64,6 +64,10 @@ let unlistenDrag: UnlistenFn;
let unlistenHover: UnlistenFn;
let unlistenLeave: UnlistenFn;
+function uiLog(message: string) {
+ errorMessage.value += (errorMessage.value ? '\n' : '') + message;
+}
+
onMounted(async () => {
unlistenHover = await listen('tauri://drag-enter', () => isDragging.value = true);
unlistenLeave = await listen('tauri://drag-leave', () => isDragging.value = false);
@@ -83,21 +87,36 @@ onUnmounted(() => {
if (previewUrl.value) URL.revokeObjectURL(previewUrl.value);
});
+
async function pickFile() {
+ errorMessage.value = '';
+ // uiLog('[pickFile] called');
+
try {
const selected = await open({
multiple: false,
filters: [{ name: 'Image', extensions: ['png', 'jpeg', 'jpg', 'webp'] }]
});
- if (selected && typeof selected === 'string') {
- await setFile(selected);
+ // uiLog('[pickFile] dialog returned: ' + JSON.stringify(selected));
+
+ if (!selected) {
+ uiLog('No file selected (null)');
+ return;
}
- } catch (err) {
- console.error(err);
+
+ if (typeof selected !== 'string') {
+ uiLog('Unexpected return type');
+ return;
+ }
+
+ await setFile(selected);
+ } catch (err: any) {
+ uiLog('Error: ' + (err?.message ?? String(err)));
}
}
+
// Async function to read file and create blob URL
async function setFile(path: string) {
try {
diff --git a/src/locales/en.ftl b/src/locales/en.ftl
index 3a62b8d..159529f 100644
--- a/src/locales/en.ftl
+++ b/src/locales/en.ftl
@@ -43,6 +43,7 @@ chat-room-actions-leave-confirm = Are you sure you want to leave this room?
chat-room-actions-delete = Delete Room
chat-room-actions-delete-confirm = Are you sure you want to delete this room? This cannot be undone.
chat-room-actions-ownership = Transfer Ownership
+chat-room-actions-ownership-confirm = Do you really wish to transfer this room's ownership to {$user}? You might never get it back.
chat-create-title = Create room
chat-create-name = Room name
chat-create-name-placeholder = room name
@@ -110,3 +111,4 @@ shared-save = Save
shared-updating = Updating
shared-delete = Delete
shared-leave = Leave
+shared-confirm = Confirm
diff --git a/src/locales/fr.ftl b/src/locales/fr.ftl
index 3f4a204..bcbc253 100644
--- a/src/locales/fr.ftl
+++ b/src/locales/fr.ftl
@@ -43,6 +43,7 @@ chat-room-actions-leave-confirm = Voulez-vous vraiment quitter ce salon?
chat-room-actions-delete = Supprimer le Salon
chat-room-actions-delete-confirm = Voulez-vous vraiment supprimer ce salon? C'est irréversible.
chat-room-actions-ownership = Transférer la Propriété
+chat-room-actions-ownership-confirm = Voulez-vous vraiment transférer la propriété du salon à {$user}? Vous pourriez ne jamais la récupérer.
chat-create-title = Créer un salon
chat-create-name = Nom du salon
chat-create-name-placeholder = nom du salon
@@ -108,3 +109,4 @@ shared-save = Enregistrer
shared-updating = Mise à jour...
shared-delete = Supprimer
shared-leave = Quitter
+shared-confirm = Confirmer
diff --git a/src/main.ts b/src/main.ts
index 1d2a342..7749ca1 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -8,22 +8,22 @@ import './base.css'
import { getLocalePreference } from './store.ts'
async function init() {
- await validateToken()
+ await validateToken()
- const app = createApp(App)
- app.use(router)
- app.use(fluent)
+ const app = createApp(App)
+ app.use(router)
+ app.use(fluent)
- const savedLocale = await getLocalePreference();
- const osLocale = navigator.language;
+ const savedLocale = await getLocalePreference();
+ const osLocale = navigator.language;
- if (savedLocale) {
- setLanguage(savedLocale);
- } else {
- setLanguage(osLocale);
- }
+ if (savedLocale) {
+ setLanguage(savedLocale);
+ } else {
+ setLanguage(osLocale);
+ }
- app.mount('#app')
+ app.mount('#app')
}
init()