From 73202477dd41b110ab332d48c9a032fcdde4adf5 Mon Sep 17 00:00:00 2001
From: Thomas <28439359+thoda-dev@users.noreply.github.com>
Date: Mon, 31 Aug 2026 18:03:22 +0200
Subject: [PATCH 1/2] feat(ui): make every page hold up on a phone
---
apps/app/app/app.vue | 5 +-
apps/app/app/assets/css/main.css | 9 +++
apps/app/app/components/AuthButton.vue | 61 ++++++++++++++-----
apps/app/app/components/BackButton.vue | 17 ++++++
apps/app/app/components/LanguageSwitcher.vue | 34 +++++++----
.../app/components/LegalTemplateDialog.vue | 8 +--
.../app/components/UnlimitedNumberField.vue | 4 +-
apps/app/app/pages/account.vue | 25 ++++----
apps/app/app/pages/admin/allowed-ips.vue | 18 +++---
apps/app/app/pages/admin/banned-ips.vue | 20 +++---
apps/app/app/pages/admin/invitations.vue | 16 ++---
apps/app/app/pages/admin/legal.vue | 21 +++----
apps/app/app/pages/admin/settings.vue | 9 +--
apps/app/app/pages/admin/storage.vue | 51 +++++++---------
apps/app/app/pages/admin/users.vue | 59 ++++++++----------
apps/app/app/pages/dashboard.vue | 30 +++------
apps/app/app/pages/index.vue | 32 ++++------
apps/app/app/pages/legal/[slug].vue | 7 +--
apps/app/app/pages/login.vue | 9 ++-
apps/app/app/pages/p/[id].vue | 5 +-
apps/app/app/pages/register.vue | 9 ++-
apps/app/i18n/locales/en.json | 3 +-
apps/app/i18n/locales/fr.json | 3 +-
23 files changed, 238 insertions(+), 217 deletions(-)
create mode 100644 apps/app/app/components/BackButton.vue
diff --git a/apps/app/app/app.vue b/apps/app/app/app.vue
index 5a7b77e..5b71240 100644
--- a/apps/app/app/app.vue
+++ b/apps/app/app/app.vue
@@ -36,8 +36,9 @@ useHead({
{{ t('admin.legal.template.hint') }}
-+
{{ t('account.twoFactor.manualEntry') }}: {{ totpSecret }}
@@ -551,7 +548,7 @@ async function deleteAccount() { />+
{{ entry.ip }}
-+
{{ entry.label }} · {{ t('admin.allowedIps.addedAt', { date: formatDate(entry.createdAt) }) }}
+
{{ entry.ip }}
+
{{ entry.reason }} · {{ t('admin.bannedIps.bannedAt', { date: formatDate(entry.bannedAt) }) }}
{{ entry.email }}
@@ -187,7 +182,7 @@ function formatDate(value: string) { {{ t(`admin.invitations.states.${entry.state}`) }}+
{{ t('admin.invitations.invitedBy', { email: entry.invitedByEmail }) }} ·
{{ t('admin.invitations.expiresAt', { date: formatDate(entry.expiresAt) }) }}
{{ t('admin.invitations.acceptedAt', { date: formatDate(entry.acceptedAt) }) }}
@@ -199,6 +194,7 @@ function formatDate(value: string) {
color="error"
variant="ghost"
icon="i-lucide-x"
+ class="shrink-0"
:loading="revokingId === entry.id"
@click="revoke(entry.id)"
/>
diff --git a/apps/app/app/pages/admin/legal.vue b/apps/app/app/pages/admin/legal.vue
index 5361451..c135235 100644
--- a/apps/app/app/pages/admin/legal.vue
+++ b/apps/app/app/pages/admin/legal.vue
@@ -188,16 +188,11 @@ function formatDate(value: string) {
@@ -255,14 +252,14 @@ function formatDate(value: string) {
v-model="content"
:placeholder="t('admin.legal.placeholder')"
class="w-full font-mono"
- :ui="{ base: 'text-xs h-[calc(100vh-28rem)] min-h-80 resize-none' }"
+ :ui="{ base: 'text-xs h-[50vh] min-h-64 resize-none lg:h-[calc(100vh-28rem)] lg:min-h-80' }"
/>
{{ t('admin.legal.preview') }}
{{ target.name }}
+
{{ target.email }} · {{ t('admin.users.joined', { date: formatDate(target.createdAt) }) }} ·
{{ t('admin.users.pastesSummary', { count: target.pastesCount, reclaimable: target.reclaimablePastesCount }) }}
- {{ t('create.subtitle') }}
-
+ {{ t('create.subtitle') }}
+
{{ t('admin.legal.title') }}
-
{{ t('admin.settings.title') }}
-
{{ t('admin.storage.title') }}
-
{{ t('admin.storage.quotasSection') }}
@@ -229,9 +224,9 @@ function formatDate(value: string) {
:key="bar.key"
class="space-y-1.5"
>
-
{{ t('admin.storage.reclaimableSection') }}
@@ -318,9 +313,9 @@ function formatDate(value: string) {
class="mb-4"
/>
{{ t('admin.users.title') }}
-
{{ t('dashboard.title') }}
-
- shhh
-
-
+ shhh
+
+
- {{ needsTwoFactor ? t('login.twoFactor.title') : t('login.title') }}
-
+
+ {{ needsTwoFactor ? t('login.twoFactor.title') : t('login.title') }}
+
+ {{ decryptedText }}
+
+ {{ decryptedText }}
- {{ t('register.title') }}
-
+
+ {{ t('register.title') }}
+
+
- shhh
-
+
+ shhh
+
+
+