From 29e56304c4c3cf16b84a9d912766fac2ab132444 Mon Sep 17 00:00:00 2001 From: Julien Calixte Date: Thu, 19 Mar 2026 18:43:26 +0100 Subject: [PATCH] feat: add View Transitions API hero animation for favicon between pages The favicon animates from its large position in the WelcomeWorld title to the smaller header position in PublicNoteListView and PublicNoteListByDidView. --- src/App.vue | 10 ++++++++++ src/components/WelcomeWorld.vue | 6 +++++- src/router/router.ts | 11 +++++++++++ src/views/PublicNoteListByDidView.vue | 8 ++++++++ src/views/PublicNoteListView.vue | 9 +++++++++ 5 files changed, 43 insertions(+), 1 deletion(-) diff --git a/src/App.vue b/src/App.vue index 1f61b30..db1eac5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -21,4 +21,14 @@ const { isATProtoReady } = useATProtoLogin() display: flex; flex: 1; } + +::view-transition-old(root), +::view-transition-new(root) { + animation-duration: 0.25s; +} + +::view-transition-group(remanso-logo) { + animation-duration: 0.4s; + animation-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1); +} diff --git a/src/components/WelcomeWorld.vue b/src/components/WelcomeWorld.vue index ceebb13..ce2f1ff 100644 --- a/src/components/WelcomeWorld.vue +++ b/src/components/WelcomeWorld.vue @@ -14,7 +14,7 @@ const { userInput, repoInput, submit } = useForm()