- {#if isLoading}
+
+ {#await init(roomId)}
- {:else}
-
-
-
-
-
-
-
-
🍿 { $_('selectVideo.title') }
-
-
-
-
👥 { $_('invite.title') }
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/if}
+ {:then room}
+
+ {:catch e}
+
{ $_('error.description') } 💩
+
+
{ e.stack || e }
+ {/await}
-
-
-
diff --git a/src/components/language-selector.svelte b/src/components/language-selector.svelte
new file mode 100644
index 0000000..ef609d0
--- /dev/null
+++ b/src/components/language-selector.svelte
@@ -0,0 +1,20 @@
+
+
+
diff --git a/src/components/room.svelte b/src/components/room.svelte
new file mode 100644
index 0000000..a6862b3
--- /dev/null
+++ b/src/components/room.svelte
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
🍿 { $_('selectVideo.title') }
+
+
+
+
👥 { $_('invite.title') }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/i18n/_.ts b/src/i18n/_.ts
index ba9e93b..72eedeb 100644
--- a/src/i18n/_.ts
+++ b/src/i18n/_.ts
@@ -49,6 +49,10 @@ const def = {
nameEdit: 'edit',
nameEditPromt: 'Enter your name (maximum {maxLength} characters) or leave the input blank to pick random name',
},
+ error: {
+ description: 'Error occurred',
+ reload: 'Reload the app',
+ },
};
export type TranslatedText = typeof def;
diff --git a/src/i18n/fr.ts b/src/i18n/fr.ts
index cbc7416..af0c3c3 100644
--- a/src/i18n/fr.ts
+++ b/src/i18n/fr.ts
@@ -51,6 +51,10 @@ const fr: TranslatedText = {
nameEdit: 'éditer',
nameEditPromt: 'Entrez votre nom (maximum {maxLength} caractères) ou laissez le champ vide pour choisir un nom au hasard',
},
+ error: {
+ description: 'Une erreur s\'est produite',
+ reload: 'Recharger l\'application',
+ },
};
export default fr;
diff --git a/src/i18n/ru.ts b/src/i18n/ru.ts
index 6d38ef7..7123664 100644
--- a/src/i18n/ru.ts
+++ b/src/i18n/ru.ts
@@ -51,6 +51,10 @@ const ru: TranslatedText = {
nameEdit: 'изменить',
nameEditPromt: 'Введите свое имя (максимум {maxLength} символов) или оставьте поле ввода пустым, выбрать случайное имя'
},
+ error: {
+ description: 'Произошла ошибка',
+ reload: 'Перезапустить приложение',
+ },
};
export default ru;