|
6 | 6 | <div |
7 | 7 | class="relative py-1 w-full rounded-2xl flex flex-row items-center justify-center" |
8 | 8 | :class="[ |
9 | | - isThisRoute && 'tg-bg-button tg-text-button motion-translate-y-in', |
| 9 | + (isThisRoute || isThisName) && 'tg-bg-button tg-text-button motion-translate-y-in', |
10 | 10 | ]" |
11 | 11 | > |
12 | 12 | <UIcon |
|
15 | 15 | class="size-6 motion-preset-shake" |
16 | 16 | /> |
17 | 17 | <UIcon |
18 | | - v-else-if="isFlowInnerPage && canReturnToMain && route.name === 'flow'" |
| 18 | + v-else-if="router.currentRoute.value.meta.canReturn && isThisName" |
19 | 19 | name="i-lucide-undo-2" |
20 | 20 | class="size-6 motion-preset-shake" |
21 | 21 | /> |
22 | | - <UIcon |
| 22 | + <UChip |
23 | 23 | v-else |
24 | | - :name="route.icon" |
25 | | - class="size-6 motion-preset-shake" |
26 | | - /> |
| 24 | + size="3xl" |
| 25 | + :show="!!route.badge" |
| 26 | + :text="route.badge" |
| 27 | + :ui="{ |
| 28 | + base: '-right-1 px-1.5 py-2 ring-2 tg-text-button font-bold motion-translate-y-loop-25 motion-duration-3500', |
| 29 | + }" |
| 30 | + > |
| 31 | + <UIcon |
| 32 | + :name="route.icon" |
| 33 | + class="size-6 motion-preset-shake" |
| 34 | + /> |
| 35 | + </UChip> |
27 | 36 | </div> |
28 | 37 | <p |
29 | 38 | class="text-xs font-medium" |
30 | 39 | :class="[ |
31 | | - isThisRoute && 'tg-text', |
| 40 | + (isThisRoute || isThisName) && 'tg-text', |
32 | 41 | ]" |
33 | 42 | > |
34 | 43 | {{ route.title }} |
|
40 | 49 | const { route } = defineProps<{ route: NavigationRoute }>() |
41 | 50 |
|
42 | 51 | const { vibrate } = useFeedback() |
43 | | -const { canScrollToTop, isMainPage, isFlowInnerPage, canReturnToMain } = useNavigation() |
| 52 | +const { canScrollToTop, isMainPage } = useNavigation() |
44 | 53 | const router = useRouter() |
45 | 54 |
|
46 | 55 | const isThisRoute = computed(() => route.exact ? router.currentRoute.value.path === route.path : router.currentRoute.value.path.startsWith(route.path)) |
| 56 | +const isThisName = computed(() => route.names.includes(router.currentRoute.value.name)) |
47 | 57 |
|
48 | 58 | function handleScrollToTop() { |
49 | 59 | vibrate() |
|
0 commit comments