@@ -15,6 +15,7 @@ import LoadingBarProvider from '~/components/container/LoadingBarProvider.vue';
15
15
import MessageProvider from ' ~/components/container/MessageProvider.vue' ;
16
16
import NotificationProvider from ' ~/components/container/NotificationProvider.vue' ;
17
17
import { NavbarService } from ' ~/services/navbar.service' ;
18
+ import { useExtensionSettingsStoreRefs } from ' ~/stores/settings/extension.store' ;
18
19
import { lazyComponent } from ' ~/utils/lazy.utils' ;
19
20
import { addCustomProgressProperty } from ' ~/utils/style.utils' ;
20
21
@@ -27,16 +28,20 @@ const override: GlobalThemeOverrides = {
27
28
// TODO red palette
28
29
};
29
30
30
- const { drawer } = NavbarService ;
31
- const drawerOpen = NavbarService . open ;
31
+ const { drawer, open, dropdown } = NavbarService ;
32
+ const { enabledRoutes } = useExtensionSettingsStoreRefs () ;
32
33
33
34
const root = ref <HTMLElement >();
34
35
35
36
onBeforeMount (() => addCustomProgressProperty ());
36
37
</script >
37
38
38
39
<template >
39
- <div id =" trakt-extension-root" ref =" root" >
40
+ <div
41
+ id =" trakt-extension-root"
42
+ ref =" root"
43
+ :style =" { '--tab-count': enabledRoutes.length + 1 }"
44
+ >
40
45
<NConfigProvider :theme =" theme" :theme-overrides =" override" abstract >
41
46
<AppComponent />
42
47
@@ -51,11 +56,7 @@ onBeforeMount(() => addCustomProgressProperty());
51
56
:to =" root"
52
57
:max =" 2"
53
58
:container-class ="
54
- [
55
- 'message-container',
56
- drawer ? 'has-drawer' : '',
57
- drawerOpen ? 'drawer-visible' : '',
58
- ]
59
+ ['message-container', drawer ? 'has-drawer' : '', open ? 'drawer-visible' : '']
59
60
.filter(Boolean)
60
61
.join(' ')
61
62
"
@@ -70,7 +71,8 @@ onBeforeMount(() => addCustomProgressProperty());
70
71
[
71
72
'notification-container',
72
73
drawer ? 'has-drawer' : '',
73
- drawerOpen ? 'drawer-visible' : '',
74
+ open ? 'drawer-visible' : '',
75
+ dropdown ? 'dropdown-visible' : '',
74
76
]
75
77
.filter(Boolean)
76
78
.join(' ')
@@ -124,23 +126,45 @@ onBeforeMount(() => addCustomProgressProperty());
124
126
}
125
127
126
128
.notification-container.n-notification-container.n-notification-container {
127
- @include layout .navbar-transition ($transition : top );
129
+ @include layout .navbar-transition (
130
+ #{top layout .$navbar-transition ,
131
+ right layout .$navbar-transition } ,
132
+ #{top layout .$navbar-transition-visible ,
133
+ right layout .$navbar-transition-visible } ,
134
+ #{layout .$navbar-transition-delay ,
135
+ layout .$navbar-transition-delay-visible }
136
+ );
128
137
129
138
top : layout .$header-navbar-height ;
130
139
131
140
& .drawer-visible {
132
141
top : layout .$header-open-drawer-height ;
133
142
}
143
+
144
+ & .dropdown-visible {
145
+ right : max (calc (100vw / var (--tab-count )), 8rem );
146
+ }
134
147
}
135
148
136
149
.message-container.n-message-container.n-message-container {
137
- @include layout .navbar-transition ($transition : top );
150
+ @include layout .navbar-transition (
151
+ #{top layout .$navbar-transition ,
152
+ right layout .$navbar-transition } ,
153
+ #{top layout .$navbar-transition-visible ,
154
+ right layout .$navbar-transition-visible } ,
155
+ #{layout .$navbar-transition-delay ,
156
+ layout .$navbar-transition-delay-visible }
157
+ );
138
158
139
159
top : calc (#{layout .$header-navbar-height } + 12px );
140
160
141
161
& .drawer-visible {
142
162
top : calc (#{layout .$header-open-drawer-height } + 12px );
143
163
}
164
+
165
+ & .dropdown-visible {
166
+ right : max (calc (100vw / var (--tab-count )), 8rem );
167
+ }
144
168
}
145
169
146
170
.n-popover.n-popconfirm {
0 commit comments