mirror of
https://github.com/Drop-OSS/drop.git
synced 2026-07-20 23:12:51 +10:00
i18n Support and Task improvements (#80)
* fix: release workflow * feat: move mostly to internal tasks system * feat: migrate object clean to new task system * fix: release not getting good base version * chore: set version v0.3.0 * chore: style * feat: basic task concurrency * feat: temp pages to fill in page links * feat: inital i18n support * feat: localize store page * chore: style * fix: weblate doesn't like multifile thing * fix: update nuxt * feat: improved error logging * fix: using old task api * feat: basic translation docs * feat: add i18n eslint plugin * feat: translate store and auth pages * feat: more translation progress * feat: admin dash i18n progress * feat: enable update check by default in prod * fix: using wrong i18n keys * fix: crash in library sources page * feat: finish i18n work * fix: missing i18n translations * feat: use twemoji for emojis * feat: sanatize object ids * fix: EmojiText's alt text * fix: UserWidget not using links * feat: cache and auth for emoji api * fix: add more missing translations
This commit is contained in:
+17
-15
@@ -9,10 +9,10 @@
|
||||
<h2
|
||||
class="mt-4 text-2xl font-bold font-display leading-9 tracking-tight text-zinc-100"
|
||||
>
|
||||
Create your Drop account
|
||||
{{ $t("auth.register.title") }}
|
||||
</h2>
|
||||
<p class="mt-1 text-sm leading-6 text-zinc-400">
|
||||
Fill in your details below to create your account.
|
||||
{{ $t("auth.register.subheader") }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<label
|
||||
for="display-name"
|
||||
class="block text-sm font-medium leading-6 text-zinc-100"
|
||||
>Display Name</label
|
||||
>{{ $t("auth.displayName") }}</label
|
||||
>
|
||||
<div class="mt-1">
|
||||
<input
|
||||
@@ -43,7 +43,7 @@
|
||||
<label
|
||||
for="email"
|
||||
class="block text-sm font-medium leading-6 text-zinc-100"
|
||||
>Email address</label
|
||||
>{{ $t("auth.email") }}</label
|
||||
>
|
||||
<p
|
||||
:class="[
|
||||
@@ -51,7 +51,7 @@
|
||||
'block text-xs font-medium leading-6',
|
||||
]"
|
||||
>
|
||||
Must be in the format user@example.com
|
||||
{{ $t("auth.register.emailFormat") }}
|
||||
</p>
|
||||
<div class="mt-1">
|
||||
<input
|
||||
@@ -74,7 +74,7 @@
|
||||
<label
|
||||
for="username"
|
||||
class="block text-sm font-medium leading-6 text-zinc-100"
|
||||
>Username</label
|
||||
>{{ $t("auth.username") }}</label
|
||||
>
|
||||
<p
|
||||
:class="[
|
||||
@@ -82,7 +82,7 @@
|
||||
'block text-xs font-medium leading-6',
|
||||
]"
|
||||
>
|
||||
Must be 5 or more characters, and lowercase
|
||||
{{ $t("auth.register.usernameFormat") }}
|
||||
</p>
|
||||
<div class="mt-1">
|
||||
<input
|
||||
@@ -105,7 +105,7 @@
|
||||
<label
|
||||
for="password"
|
||||
class="block text-sm font-medium leading-6 text-zinc-100"
|
||||
>Password</label
|
||||
>{{ $t("auth.password") }}</label
|
||||
>
|
||||
<p
|
||||
:class="[
|
||||
@@ -113,7 +113,7 @@
|
||||
'block text-xs font-medium leading-6',
|
||||
]"
|
||||
>
|
||||
Must be 14 or more characters
|
||||
{{ $t("auth.register.passwordFormat") }}
|
||||
</p>
|
||||
<div class="mt-1">
|
||||
<input
|
||||
@@ -132,7 +132,7 @@
|
||||
<label
|
||||
for="confirm-password"
|
||||
class="block text-sm font-medium leading-6 text-zinc-100"
|
||||
>Confirm Password</label
|
||||
>{{ $t("auth.confirmPassword") }}</label
|
||||
>
|
||||
<p
|
||||
:class="[
|
||||
@@ -140,7 +140,7 @@
|
||||
'block text-xs font-medium leading-6',
|
||||
]"
|
||||
>
|
||||
Must be the same as above
|
||||
{{ $t("auth.register.confirmPasswordFormat") }}
|
||||
</p>
|
||||
<div class="mt-1">
|
||||
<input
|
||||
@@ -157,7 +157,7 @@
|
||||
|
||||
<div>
|
||||
<LoadingButton type="submit" :loading="loading" class="w-full">
|
||||
Create
|
||||
{{ $t("create") }}
|
||||
</LoadingButton>
|
||||
</div>
|
||||
|
||||
@@ -195,13 +195,15 @@
|
||||
import { XCircleIcon } from "@heroicons/vue/24/solid";
|
||||
import { type } from "arktype";
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const invitationId = route.query.id?.toString();
|
||||
if (!invitationId)
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
statusMessage: "Invitation required to sign up.",
|
||||
statusMessage: t("errors.inviteRequired"),
|
||||
});
|
||||
|
||||
const invitation = await $dropFetch(
|
||||
@@ -265,7 +267,7 @@ function register_wrapper() {
|
||||
router.push("/auth/signin");
|
||||
})
|
||||
.catch((response) => {
|
||||
const message = response.statusMessage || "An unknown error occurred";
|
||||
const message = response.statusMessage || t("errors.unknown");
|
||||
error.value = message;
|
||||
})
|
||||
.finally(() => {
|
||||
@@ -278,6 +280,6 @@ definePageMeta({
|
||||
});
|
||||
|
||||
useHead({
|
||||
title: "Create your Drop account",
|
||||
title: t("auth.register.title"),
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -9,10 +9,10 @@
|
||||
<h2
|
||||
class="mt-8 text-2xl font-bold font-display leading-9 tracking-tight text-zinc-100"
|
||||
>
|
||||
Sign in to your account
|
||||
{{ $t("auth.signin.title") }}
|
||||
</h2>
|
||||
<p class="mt-2 text-sm leading-6 text-zinc-400">
|
||||
Don't have an account? Ask an admin to create one for you.
|
||||
{{ $t("auth.signin.noAccount") }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
class="py-4 flex flex-row items-center justify-center gap-x-4 font-bold text-sm text-zinc-600"
|
||||
>
|
||||
<span class="h-[1px] grow bg-zinc-600" />
|
||||
OR
|
||||
{{ $t("auth.signin.or") }}
|
||||
<span class="h-[1px] grow bg-zinc-600" />
|
||||
</div>
|
||||
<AuthOpenID v-if="enabledAuths.includes('OpenID' as AuthMec)" />
|
||||
@@ -46,6 +46,7 @@
|
||||
import type { AuthMec } from "~/prisma/client";
|
||||
import DropLogo from "~/components/DropLogo.vue";
|
||||
|
||||
const { t } = useI18n();
|
||||
const enabledAuths = await $dropFetch("/api/v1/auth");
|
||||
|
||||
definePageMeta({
|
||||
@@ -53,6 +54,6 @@ definePageMeta({
|
||||
});
|
||||
|
||||
useHead({
|
||||
title: "Sign in to Drop",
|
||||
title: t("auth.signin.pageTitle"),
|
||||
});
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user