@@ -19,6 +19,11 @@ const { t } = useI18n();
19
19
20
20
const showMenuBar = shallowRef (false );
21
21
const showFooter = shallowRef (false );
22
+ const additionalFooterClasses = shallowRef ({
23
+ position: ' ' ,
24
+ pp: ' ' ,
25
+ kofi: ' ' ,
26
+ });
22
27
const rerenderKey = shallowRef (0 );
23
28
24
29
const savedWindowState = shallowRef (StoreDefaults .savedWindowState );
@@ -56,6 +61,17 @@ onMounted(async () => {
56
61
watch (route , () => {
57
62
showFooter .value = ! footerExcludeList .includes (route .name ) && ! route .path .startsWith (' /settings' );
58
63
showMenuBar .value = ! (route .path .startsWith (' /settings' ) || route .name === ' /versioncheck' );
64
+ additionalFooterClasses .value = route .name === ' /changelog'
65
+ ? {
66
+ position: ' sticky bottom-0' ,
67
+ pp: ' bg-[#009bde]' ,
68
+ kofi: ' bg-[#ff6333]' ,
69
+ }
70
+ : {
71
+ position: ' ' ,
72
+ pp: ' ' ,
73
+ kofi: ' ' ,
74
+ };
59
75
});
60
76
61
77
ipcRenderer .on (IpcEvent .Vanish , () => {
@@ -93,36 +109,36 @@ ipcRenderer.on(IpcEvent.Notification, (_, notification) => {
93
109
</script >
94
110
95
111
<template >
96
- <div :key =" rerenderKey" class =" min-h-dvh" >
112
+ <div :key =" rerenderKey" class =" grid min-h-dvh grid-rows-[auto_1fr_auto] " >
97
113
<header
98
- v-if =" showMenuBar" class =" top-0 z-10 flex w-full items-center justify-between"
114
+ v-if =" showMenuBar" class =" flex w-full justify-between align-top "
99
115
:class =" footerExcludeList.includes(route.name) ? 'absolute' : 'sticky'"
100
116
>
101
117
<DropDownMenu />
102
118
<MenuButtons />
103
119
</header >
104
- <main >
120
+ <main class = " flex flex-col " >
105
121
<router-view v-slot =" { Component }" >
106
122
<template v-if =" Component " >
107
123
<Suspense >
108
124
<component :is =" Component" :key =" $route.path" />
109
125
<template #fallback >
110
- <Icon icon =" fa5 -solid:spinner" class =" animate-spin text-4xl text-primary" />
126
+ <Icon icon =" fa6 -solid:spinner" class =" animate-spin text-4xl text-primary" />
111
127
</template >
112
128
</Suspense >
113
129
</template >
114
130
</router-view >
115
131
</main >
116
- <footer v-if =" showFooter" class =" absolute bottom-0 w-full dark:text-background" >
132
+ <footer v-if =" showFooter" class =" w-full dark:text-background" :class = " additionalFooterClasses.position " >
117
133
<div v-if =" notifications.showToggleUnbound" class =" flex items-center justify-center bg-yellow-200 text-yellow-600" >
118
134
<Icon icon =" fa6-solid:triangle-exclamation" class =" text-1xl mr-2" />
119
135
<small >{{ t('footer.toggle-missing') }}</small >
120
136
</div >
121
137
<div class =" grid grid-cols-2" >
122
- <a :href =" paypalLink" class =" center-elements bg-[#009bde36] py-2" >
123
- <Icon icon = " fa6- brands: paypal" style = " color : #009cde " / >
138
+ <a :href =" paypalLink" class =" center-elements bg-[#009bde36] py-2" :class = " additionalFooterClasses.pp " >
139
+ <img src = " ./assets/ brands/ paypal.png " alt = " PayPal " class = " size-5 " >
124
140
</a >
125
- <a :href =" kofiLink" class =" center-elements bg-[#ff633379] py-2" >
141
+ <a :href =" kofiLink" class =" center-elements bg-[#ff633379] py-2" :class = " additionalFooterClasses.kofi " >
126
142
<img src =" ./assets/brands/kofi_symbol.svg" alt =" Ko-fi" class =" size-5" >
127
143
</a >
128
144
</div >
0 commit comments