|
18 | 18 |
|
19 | 19 | <div |
20 | 20 | v-intersect="(visible: boolean) => after(700).then(() => (showWorkspaces ||= visible))" |
21 | | - :class="[ |
22 | | - 'ease-spring mt-16 grid max-w-[780px] origin-center grid-cols-1 gap-x-12 gap-y-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-32 md:grid-cols-[auto_1fr] md:grid-rows-[auto_1fr]', |
| 21 | + class="ease-spring mt-16 grid max-w-[780px] origin-center grid-cols-1 gap-x-12 gap-y-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-32 md:grid-cols-[auto_1fr] md:grid-rows-[auto_1fr]" |
| 22 | + :class=" |
23 | 23 | $ui.mobile |
24 | 24 | ? showWorkspaces |
25 | 25 | ? 'scale-100 opacity-100' |
26 | 26 | : 'scale-0 opacity-0' |
27 | 27 | : showWorkspaces |
28 | 28 | ? '-translate-x-[10%] opacity-100' |
29 | | - : '-translate-x-[90%] opacity-0', |
30 | | - ]" |
| 29 | + : '-translate-x-[90%] opacity-0' |
| 30 | + " |
31 | 31 | > |
32 | 32 | <h2 |
33 | 33 | id="workspaces" |
|
45 | 45 |
|
46 | 46 | <div |
47 | 47 | v-intersect="(visible: boolean) => after(700).then(() => (showLocalFirst ||= visible))" |
48 | | - :class="[ |
49 | | - 'ease-spring mt-8 grid origin-center grid-cols-1 gap-x-12 gap-y-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:mr-8 md:ml-40 md:grid-cols-[auto_1fr]', |
| 48 | + class="ease-spring mt-8 grid origin-center grid-cols-1 gap-x-12 gap-y-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:mr-8 md:ml-40 md:grid-cols-[auto_1fr]" |
| 49 | + :class=" |
50 | 50 | $ui.mobile |
51 | 51 | ? showLocalFirst |
52 | 52 | ? 'scale-100 opacity-100' |
53 | 53 | : 'scale-0 opacity-0' |
54 | 54 | : showLocalFirst |
55 | 55 | ? 'translate-x-[10%] opacity-100' |
56 | | - : 'translate-x-[90%] opacity-0', |
57 | | - ]" |
| 56 | + : 'translate-x-[90%] opacity-0' |
| 57 | + " |
58 | 58 | > |
59 | 59 | <h2 id="local-first" class="text-primary-900 scroll-mt-32 text-center text-3xl font-bold md:text-start"> |
60 | 60 | {{ $t('landing.localFirstTitle') }} |
|
65 | 65 |
|
66 | 66 | <div |
67 | 67 | v-intersect="(visible: boolean) => after(700).then(() => (showPWA ||= visible))" |
68 | | - :class="[ |
69 | | - 'ease-spring mt-8 grid origin-center gap-8 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:grid-cols-[1fr_2.75fr] md:gap-4', |
70 | | - showPWA ? 'scale-100 opacity-100' : 'scale-0 opacity-0', |
71 | | - ]" |
| 68 | + class="ease-spring mt-8 grid origin-center gap-8 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:grid-cols-[1fr_2.75fr] md:gap-4" |
| 69 | + :class="showPWA ? 'scale-100 opacity-100' : 'scale-0 opacity-0'" |
72 | 70 | > |
73 | 71 | <h2 id="pwa" class="text-primary-900 scroll-mt-32 text-center text-3xl font-bold md:col-span-2"> |
74 | 72 | {{ $t('landing.pwaTitle') }} |
|
91 | 89 |
|
92 | 90 | <div |
93 | 91 | v-intersect="(visible: boolean) => after(700).then(() => (showSolid ||= visible))" |
94 | | - :class="[ |
95 | | - 'ease-spring mt-8 grid max-w-[750px] origin-center grid-cols-1 gap-x-8 gap-y-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:grid-cols-[auto_1fr] md:grid-rows-[auto_1fr]', |
| 92 | + class="ease-spring mt-8 grid max-w-[750px] origin-center grid-cols-1 gap-x-8 gap-y-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:grid-cols-[auto_1fr] md:grid-rows-[auto_1fr]" |
| 93 | + :class=" |
96 | 94 | $ui.mobile |
97 | 95 | ? showSolid |
98 | 96 | ? 'scale-100 opacity-100' |
99 | 97 | : 'scale-0 opacity-0' |
100 | 98 | : showSolid |
101 | 99 | ? '-translate-x-[10%] opacity-100' |
102 | | - : '-translate-x-[90%] opacity-0', |
103 | | - ]" |
| 100 | + : '-translate-x-[90%] opacity-0' |
| 101 | + " |
104 | 102 | > |
105 | 103 | <h2 id="solid" class="text-primary-900 scroll-mt-32 text-center text-3xl font-bold md:text-start"> |
106 | 104 | {{ $t('landing.solidTitle') }} |
|
111 | 109 |
|
112 | 110 | <div |
113 | 111 | v-intersect="(visible: boolean) => after(700).then(() => (showA11y ||= visible))" |
114 | | - :class="[ |
115 | | - 'ease-spring mt-8 grid origin-center grid-cols-1 gap-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:mr-12 md:ml-40 md:grid-cols-[1fr_auto] md:grid-rows-[auto_1fr]', |
| 112 | + class="ease-spring mt-8 grid origin-center grid-cols-1 gap-6 rounded-lg bg-white/25 px-12 py-8 transition-all duration-700 md:mt-16 md:mr-12 md:ml-40 md:grid-cols-[1fr_auto] md:grid-rows-[auto_1fr]" |
| 113 | + :class=" |
116 | 114 | $ui.mobile |
117 | 115 | ? showA11y |
118 | 116 | ? 'scale-100 opacity-100' |
119 | 117 | : 'scale-0 opacity-0' |
120 | 118 | : showA11y |
121 | 119 | ? 'translate-x-[10%] opacity-100' |
122 | | - : 'translate-x-[90%] opacity-0', |
123 | | - ]" |
| 120 | + : 'translate-x-[90%] opacity-0' |
| 121 | + " |
124 | 122 | > |
125 | 123 | <h2 id="a11y" class="text-primary-900 scroll-mt-32 text-center text-3xl font-bold md:text-start"> |
126 | 124 | {{ $t('landing.a11yTitle') }} |
|
136 | 134 | <h2 |
137 | 135 | id="more" |
138 | 136 | v-intersect="(visible: boolean) => after(700).then(() => (showMore ||= visible))" |
139 | | - :class="[ |
140 | | - 'ease-spring mt-16 origin-center text-center text-3xl font-light transition-all duration-700 md:mt-32 md:text-2xl', |
141 | | - showMore ? 'scale-100 opacity-100' : 'scale-0 opacity-0', |
142 | | - ]" |
| 137 | + class="ease-spring mt-16 origin-center text-center text-3xl font-light transition-all duration-700 md:mt-32 md:text-2xl" |
| 138 | + :class="showMore ? 'scale-100 opacity-100' : 'scale-0 opacity-0'" |
143 | 139 | > |
144 | 140 | {{ $t('landing.more') }} |
145 | 141 | </h2> |
146 | 142 |
|
147 | | - <ul role="list" class="text-primary-900 mt-6 grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3"> |
| 143 | + <ul |
| 144 | + role="list" |
| 145 | + class="text-primary-900 [&_a]:text-primary-950 mt-6 grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3" |
| 146 | + > |
148 | 147 | <li |
149 | | - :class="[ |
150 | | - 'ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all duration-[1200ms]', |
151 | | - showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0', |
152 | | - ]" |
| 148 | + class="ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all duration-[1200ms]" |
| 149 | + :class="showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0'" |
153 | 150 | > |
154 | 151 | <i-ion-logo-markdown class="size-12" /> |
155 | 152 | <Markdown lang-key="landing.moreMarkdown" class="text-primary-950 text-lg" /> |
156 | 153 | </li> |
157 | 154 | <li |
158 | | - :class="[ |
159 | | - 'ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all duration-[1200ms]', |
160 | | - showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0', |
161 | | - 'delay-100', |
162 | | - ]" |
| 155 | + class="ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all delay-100 duration-[1200ms]" |
| 156 | + :class="showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0'" |
163 | 157 | > |
164 | 158 | <i-material-symbols-edit-document-rounded class="size-12" /> |
165 | 159 | <Markdown lang-key="landing.moreScratchpad" class="text-primary-950 text-lg" /> |
166 | 160 | </li> |
167 | 161 | <li |
168 | | - :class="[ |
169 | | - 'ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all duration-[1200ms]', |
170 | | - showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0', |
171 | | - 'delay-200', |
172 | | - ]" |
| 162 | + class="ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all delay-200 duration-[1200ms]" |
| 163 | + :class="showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0'" |
173 | 164 | > |
174 | 165 | <i-material-symbols-calendar-clock-rounded class="size-12" /> |
175 | 166 | <Markdown lang-key="landing.moreDeadlines" class="text-primary-950 text-lg" /> |
176 | 167 | </li> |
177 | 168 | <li |
178 | | - :class="[ |
179 | | - 'ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all duration-[1200ms]', |
180 | | - showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0', |
181 | | - 'delay-300', |
182 | | - ]" |
| 169 | + class="ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all delay-300 duration-[1200ms]" |
| 170 | + :class="showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0'" |
183 | 171 | > |
184 | 172 | <i-ic-sharp-star class="size-12" /> |
185 | 173 | <Markdown lang-key="landing.moreImportant" class="text-primary-950 text-lg" /> |
186 | 174 | </li> |
187 | 175 | <li |
188 | | - :class="[ |
189 | | - 'ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all duration-[1200ms]', |
190 | | - showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0', |
191 | | - 'delay-[400ms]', |
192 | | - ]" |
| 176 | + class="ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all delay-[400ms] duration-[1200ms]" |
| 177 | + :class="showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0'" |
193 | 178 | > |
194 | 179 | <i-material-symbols-search-rounded class="size-12" /> |
195 | 180 | <Markdown lang-key="landing.moreSearch" class="text-primary-950 text-lg" /> |
196 | 181 | </li> |
197 | 182 | <li |
198 | | - :class="[ |
199 | | - 'ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all duration-[1200ms]', |
200 | | - showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0', |
201 | | - 'delay-500', |
202 | | - ]" |
| 183 | + class="ease-spring bg-primary-200/25 flex flex-col items-center gap-y-2 rounded-lg p-8 transition-all delay-500 duration-[1200ms]" |
| 184 | + :class="showMore ? 'translate-y-0 opacity-100' : '-translate-y-[90%] opacity-0'" |
203 | 185 | > |
204 | 186 | <i-material-symbols-keyboard class="size-12" /> |
205 | 187 | <Markdown lang-key="landing.moreKeyboard" class="text-primary-950 text-lg" /> |
|
0 commit comments