add localisation support
currently only en_GB (TODO: dynamic language pack imports)
This commit is contained in:
parent
970590497f
commit
e326ac858e
17 changed files with 263 additions and 90 deletions
|
@ -3,9 +3,12 @@
|
|||
import { server, createServer } from '$lib/client/server.js';
|
||||
import { app } from '$lib/client/app.js';
|
||||
import { get } from 'svelte/store';
|
||||
import Lang from '$lib/lang.js';
|
||||
|
||||
import Logo from '$lib/../img/campfire-logo.svg';
|
||||
|
||||
const lang = Lang('en_GB');
|
||||
|
||||
let display_error = false;
|
||||
let logging_in = false;
|
||||
|
||||
|
@ -17,21 +20,21 @@
|
|||
const host = event.target.host.value;
|
||||
|
||||
if (!host || host === "") {
|
||||
display_error = "Please enter an server domain.";
|
||||
display_error = lang.string('login.error.no_domain');
|
||||
logging_in = false;
|
||||
return;
|
||||
}
|
||||
|
||||
server.set(await createServer(host));
|
||||
if (!get(server)) {
|
||||
display_error = "Failed to connect to the server.\nCheck the browser console for details!"
|
||||
display_error = lang.string('login.error.connection_failed');
|
||||
logging_in = false;
|
||||
return;
|
||||
}
|
||||
|
||||
app.set(await api.createApp(get(server).host));
|
||||
if (!get(app)) {
|
||||
display_error = "Failed to create an application for this server."
|
||||
display_error = lang.string('login.error.create_app');
|
||||
logging_in = false;
|
||||
return;
|
||||
}
|
||||
|
@ -44,8 +47,8 @@
|
|||
<div class="app-logo">
|
||||
<Logo />
|
||||
</div>
|
||||
<p>Welcome, fediverse user!</p>
|
||||
<p>Please enter your server domain to log in.</p>
|
||||
<p>{lang.string('login.welcome')}</p>
|
||||
<p>{lang.string('login.enter_domain')}</p>
|
||||
<div class="input-wrapper">
|
||||
<input type="text" id="host" aria-label="server domain" class={logging_in ? "throb" : ""}>
|
||||
{#if display_error}
|
||||
|
@ -53,16 +56,10 @@
|
|||
{/if}
|
||||
</div>
|
||||
<br>
|
||||
<button type="submit" id="login" class={logging_in ? "disabled" : ""}>Log in</button>
|
||||
<p><small>
|
||||
Please note this is
|
||||
<strong><em>extremely experimental software</em></strong>;
|
||||
things are likely to break!
|
||||
<br>
|
||||
If that's all cool with you, welcome aboard!
|
||||
</small></p>
|
||||
<button type="submit" id="login" class={logging_in ? "disabled" : ""}>{lang.string('login.button')}</button>
|
||||
<p><small>{@html lang.string('login.experimental')}</small></p>
|
||||
|
||||
<p class="form-footer">made with ❤ by <a href="https://bliss.town">bliss town</a>, 2024</p>
|
||||
<p class="form-footer">{@html lang.string('login.made_with_tagline')}</p>
|
||||
</form>
|
||||
|
||||
<style>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue