feat(App.vue): update app name click functionality and improve UI interactions
Some checks failed
CI / lint (pull_request) Failing after 1s
CI / build-frontend (pull_request) Failing after 0s
CI / test-backend (pull_request) Failing after 0s
CI / test-lang (pull_request) Failing after 0s
Build and Publish Docker Image / build (pull_request) Has been skipped
OSV-Scanner PR Scan / scan-pr (pull_request) Failing after 0s
Build and Publish Docker Image / build-dev (pull_request) Failing after 0s
CI / test-backend (push) Successful in 54s
Tests / test (pull_request) Failing after 0s
CI / lint (push) Successful in 2m16s
Build Test / Build and Test (push) Failing after 7m23s
Build Test / Build and Test (pull_request) Failing after 7m17s
Tests / test (push) Failing after 7m16s
CI / test-lang (push) Successful in 9m49s
CI / build-frontend (push) Successful in 9m59s
Benchmarks / benchmark (push) Successful in 15m25s
Benchmarks / benchmark (pull_request) Successful in 15m20s

This commit is contained in:
2026-01-03 21:18:31 -06:00
parent 1075aef22a
commit c1d177a887

View File

@@ -35,13 +35,14 @@
<MaterialDesignIcon :icon-name="isSidebarOpen ? 'close' : 'menu'" class="size-6" />
</button>
<div
class="hidden sm:flex my-auto w-12 h-12 mr-2 rounded-xl overflow-hidden bg-white/70 dark:bg-white/10 border border-gray-200 dark:border-zinc-700 shadow-inner"
class="hidden sm:flex cursor-pointer my-auto w-12 h-12 mr-2 rounded-xl overflow-hidden bg-white/70 dark:bg-white/10 border border-gray-200 dark:border-zinc-700 shadow-inner"
@click="onAppNameClick"
>
<img class="w-12 h-12 object-contain p-1.5" :src="logoUrl" />
</div>
<div class="my-auto">
<div
class="font-semibold cursor-pointer text-gray-900 dark:text-zinc-100 tracking-tight text-lg"
class="font-semibold cursor-pointer text-gray-900 dark:text-zinc-100 hover:text-blue-600 dark:hover:text-blue-400 transition-colors tracking-tight text-lg"
@click="onAppNameClick"
>
{{ $t("app.name") }}
@@ -82,11 +83,17 @@
<span
class="flex text-gray-800 dark:text-zinc-100 bg-white dark:bg-zinc-800/80 border border-gray-200 dark:border-zinc-700 hover:border-blue-400 dark:hover:border-blue-400/60 px-3 py-1.5 rounded-full shadow-sm transition"
>
<span :class="{ 'animate-spin': isSyncingPropagationNode }">
<MaterialDesignIcon icon-name="refresh" class="size-6" />
</span>
<MaterialDesignIcon
icon-name="refresh"
class="size-6"
:class="{ 'animate-spin': isSyncingPropagationNode }"
/>
<span class="hidden sm:inline-block my-auto mx-1 text-sm font-medium">{{
$t("app.sync_messages")
isSyncingPropagationNode
? $t("app.syncing_node", {
state: propagationNodeStatus?.state ?? "...",
})
: $t("app.sync_messages")
}}</span>
</span>
</button>
@@ -575,7 +582,6 @@ export default {
"request_sent",
"receiving",
"response_received",
"complete",
].includes(this.propagationNodeStatus?.state);
},
activeCallTab() {
@@ -1138,11 +1144,12 @@ export default {
},
onAppNameClick() {
// user may be on mobile, and is unable to scroll back to sidebar, so let them tap app name to do it
this.$refs["middle"].scrollTo({
this.$refs["middle"]?.scrollTo({
top: 0,
left: 0,
behavior: "smooth",
});
this.$router.push("/messages");
},
handleProtocolLink(url) {
try {