Skip to content

Commit 4bcc522

Browse files
committed
feat: improve preferences
1 parent 7d752b5 commit 4bcc522

File tree

2 files changed

+75
-80
lines changed

2 files changed

+75
-80
lines changed

docs/.vitepress/theme/prefer/PreferenceSwitch.vue

Lines changed: 69 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import {VTIconChevronDown, VTSwitch} from '@vue/theme'
55
import {useData, useRoute} from 'vitepress'
66
import {onMounted, ref, Ref, watch} from 'vue'
7-
import {openPreference, openPreferenceKey, preferKotlinDslInGradle, preferKotlinDslInGradleKey, preferMaven, preferMavenKey, preferMojmap, preferMojmapKey,} from "./prefer";
7+
import {openPreference, openPreferenceKey, preferGroovyInGradle, preferGroovyInGradleKey, preferMaven, preferMavenKey, preferReobf, preferReobfKey,} from "./prefer";
88
99
const {frontmatter} = useData();
1010
let preferencesToDisplay: Ref<string[]> = ref();
@@ -43,15 +43,15 @@ const toggleMaven = useToggleFn(
4343
);
4444
4545
const toggleGradleDsl = useToggleFn(
46-
preferKotlinDslInGradleKey,
47-
preferKotlinDslInGradle,
48-
'prefer-kts'
46+
preferGroovyInGradleKey,
47+
preferGroovyInGradle,
48+
'prefer-groovy'
4949
);
5050
5151
const toggleMapping = useToggleFn(
52-
preferMojmapKey,
53-
preferMojmap,
54-
'prefer-mojmap'
52+
preferReobfKey,
53+
preferReobf,
54+
'prefer-reobf'
5555
)
5656
5757
function useToggleFn(
@@ -78,8 +78,8 @@ refresh()
7878
7979
onMounted(() => {
8080
toggleMaven(preferMaven.value);
81-
toggleGradleDsl(preferKotlinDslInGradle.value);
82-
toggleMapping(preferMojmap.value);
81+
toggleGradleDsl(preferGroovyInGradle.value);
82+
toggleMapping(preferReobf.value);
8383
});
8484
</script>
8585

@@ -103,34 +103,34 @@ onMounted(() => {
103103
>
104104
<div class="mobile-wrapper switches">
105105
<div v-if="preferencesToDisplay.includes('build-system')" class="switch-container">
106-
<label class="gradle-label" @click="toggleMaven(false)">Gradle</label>
106+
<label class="gradle-label prefer-label-left" @click="toggleMaven(false)">Gradle</label>
107107
<VTSwitch
108108
class="api-switch"
109109
aria-label="prefer maven"
110110
:aria-checked="preferMaven"
111111
@click="toggleMaven()"
112112
/>
113-
<label class="maven-label" @click="toggleMaven(true)">Maven</label>
113+
<label class="maven-label prefer-label-right" @click="toggleMaven(true)">Maven</label>
114114
</div>
115115
<div v-if="preferencesToDisplay.includes('build-system') && !preferMaven" class="switch-container">
116-
<label class="groovy-label" @click="toggleGradleDsl(false)">.gradle</label>
116+
<label class="kts-label prefer-label-left" style="width: fit-content" @click="toggleGradleDsl(false)">.gradle.kts</label>
117117
<VTSwitch
118118
class="dsl-switch"
119-
aria-label="prefer kts"
120-
:aria-checked="preferKotlinDslInGradle"
119+
aria-label="prefer groovy"
120+
:aria-checked="preferGroovyInGradle"
121121
@click="toggleGradleDsl()"
122122
/>
123-
<label class="kts-label" @click="toggleGradleDsl(true)">.gradle.kts</label>
123+
<label class="groovy-label prefer-label-right" @click="toggleGradleDsl(true)">.gradle</label>
124124
</div>
125125
<div v-if="preferencesToDisplay.includes('mapping')" class="switch-container">
126-
<label class="reobf-label" @click="toggleMapping(false)">Reobf</label>
126+
<label class="mojmap-label prefer-label-left" @click="toggleMapping(false)">Mojmap</label>
127127
<VTSwitch
128128
class="mapping-switch"
129-
aria-label="prefer mojmap"
130-
:aria-checked="preferMojmap"
129+
aria-label="prefer reobf"
130+
:aria-checked="preferReobf"
131131
@click="toggleMapping()"
132132
/>
133-
<label class="mojmap-label" @click="toggleMapping(true)">Mojmap</label>
133+
<label class="reobf-label prefer-label-right" @click="toggleMapping(true)">Reobf</label>
134134
</div>
135135
</div>
136136
</div>
@@ -139,6 +139,16 @@ onMounted(() => {
139139
</template>
140140

141141
<style scoped>
142+
.prefer-label-left {
143+
flex: 1;
144+
text-align: left;
145+
}
146+
147+
.prefer-label-right {
148+
flex: 1;
149+
text-align: right;
150+
}
151+
142152
.preference-switch {
143153
font-size: 12px;
144154
border-bottom: 1px solid var(--vt-c-divider-light);
@@ -150,24 +160,43 @@ onMounted(() => {
150160
z-index: 5;
151161
}
152162
153-
@media (max-width: 1279px) {
154-
.hide-on-mobile {
155-
display: none;
156-
}
157-
}
158-
159163
@media (min-width: 1280px) {
160164
.content-container > .preference-switch {
161165
display: none;
162166
}
163167
}
164168
165169
@media (max-width: 1279px) {
170+
.hide-on-mobile {
171+
display: none;
172+
}
173+
166174
.mobile-wrapper {
167175
display: flex;
168176
flex-direction: row;
169177
gap: 8px;
170178
}
179+
180+
.switch-container {
181+
padding: 0 1em;
182+
}
183+
184+
#preference-switches {
185+
font-size: 11px;
186+
padding: 8px 4px;
187+
}
188+
189+
.vt-switch {
190+
margin: auto;
191+
}
192+
193+
.switch-link {
194+
margin-left: auto;
195+
}
196+
197+
.switch-container label:first-child {
198+
width: 46px;
199+
}
171200
}
172201
173202
.switches {
@@ -198,6 +227,7 @@ onMounted(() => {
198227
.vt-link-icon {
199228
position: relative;
200229
top: 1px;
230+
transition: transform 0.5s
201231
}
202232
203233
.vt-link-icon.open {
@@ -218,12 +248,6 @@ onMounted(() => {
218248
align-items: center;
219249
}
220250
221-
@media (max-width: 959px) {
222-
.switch-container {
223-
padding: 0 1em;
224-
}
225-
}
226-
227251
.switch-container:not(:first-child) {
228252
margin-top: 10px;
229253
}
@@ -242,81 +266,52 @@ onMounted(() => {
242266
width: 50px;
243267
}
244268
245-
.switch-link {
246-
margin-left: 8px;
247-
font-size: 11px;
248-
min-width: 14px;
249-
height: 14px;
250-
line-height: 13px;
251-
text-align: center;
252-
color: var(--vt-c-green);
253-
border: 1px solid var(--vt-c-green);
254-
border-radius: 50%;
255-
}
256269
257-
@media (max-width: 1439px) {
258-
#preference-switches {
259-
font-size: 11px;
260-
padding: 8px 4px;
261-
}
262-
263-
.vt-switch {
264-
margin: auto;
265-
}
266-
267-
.switch-link {
268-
margin-left: auto;
269-
}
270-
271-
.switch-container label:first-child {
272-
width: 46px;
273-
}
274-
}
275270
</style>
276271

277272
<style>
278273
.maven,
279-
.kts,
280-
.mojmap {
274+
.groovy,
275+
.reobf {
281276
display: none;
282277
}
283278
284279
.prefer-maven .gradle,
285-
.prefer-kts .groovy,
286-
.prefer-mojmap .reobf {
280+
.prefer-groovy .kts,
281+
.prefer-reobf .mojmap {
287282
display: none;
288283
}
289284
290285
.prefer-maven .maven,
291-
.prefer-kts .kts,
292-
.prefer-mojmap .mojmap {
286+
.prefer-groovy .groovy,
287+
.prefer-reobf .reobf {
293288
display: initial;
294289
}
295290
296291
.maven-label,
297-
.kts-label,
298-
.mojmap-label,
292+
.groovy-label,
293+
.reobf-label,
299294
.prefer-maven .gradle-label,
300-
.prefer-kts .groovy-label,
301-
.prefer-mojmap .reobf-label {
295+
.prefer-groovy .kts-label,
296+
.prefer-reobf .mojmap-label {
302297
color: var(--vt-c-text-3);
303298
}
304299
305300
.prefer-maven .maven-label,
306-
.prefer-kts .kts-label,
307-
.prefer-mojmap .mojmap-label {
301+
.prefer-groovy .groovy-label,
302+
.prefer-reobf .reobf-label {
308303
color: var(--vt-c-text-1);
309304
}
310305
311306
.prefer-maven .api-switch .vt-switch-check {
312307
transform: translateX(18px);
313308
}
314309
315-
.prefer-kts .dsl-switch .vt-switch-check {
310+
.prefer-groovy .dsl-switch .vt-switch-check {
316311
transform: translateX(18px);
317312
}
318313
319-
.prefer-mojmap .mapping-switch .vt-switch-check {
314+
.prefer-reobf .mapping-switch .vt-switch-check {
320315
transform: translateX(18px);
321316
}
322317

docs/.vitepress/theme/prefer/prefer.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ function getBoolean(key: string, defaultValue: boolean) {
1111
}
1212

1313
export const openPreferenceKey = 'command-api-docs-prefer-open-preference'
14-
export const openPreference = ref(getBoolean(openPreferenceKey, false))
14+
export const openPreference = ref(getBoolean(openPreferenceKey, true))
1515

1616
export const preferMavenKey = 'command-api-docs-prefer-maven'
17-
export const preferMaven = ref(getBoolean(preferMavenKey, true))
17+
export const preferMaven = ref(getBoolean(preferMavenKey, false))
1818

19-
export const preferKotlinDslInGradleKey = 'command-api-docs-prefer-kotlin-dsl-in-gradle'
20-
export const preferKotlinDslInGradle = ref(getBoolean(preferKotlinDslInGradleKey, true))
19+
export const preferGroovyInGradleKey = 'command-api-docs-prefer-groovy-dsl-in-gradle'
20+
export const preferGroovyInGradle = ref(getBoolean(preferGroovyInGradleKey, false))
2121

22-
export const preferMojmapKey = 'command-api-docs-prefer-mojmap'
23-
export const preferMojmap = ref(getBoolean(preferMojmapKey, true))
22+
export const preferReobfKey = 'command-api-docs-prefer-mojmap'
23+
export const preferReobf = ref(getBoolean(preferReobfKey, false))

0 commit comments

Comments
 (0)