@@ -6,6 +6,14 @@ const { ui, host } = useStudio()
66
77const uiConfig = ui .config
88const user = host .user .get ()
9+
10+ const showTechnicalMode = computed ({
11+ get : () => uiConfig .value .showTechnicalMode ,
12+ set : (value ) => {
13+ uiConfig .value .showTechnicalMode = value
14+ },
15+ })
16+
917const repositoryUrl = computed (() => {
1018 switch (host .repository .provider ) {
1119 case ' github' :
@@ -18,14 +26,17 @@ const repositoryUrl = computed(() => {
1826})
1927
2028const userMenuItems = computed (() => [
21- repositoryUrl .value
22- ? [{
29+ [{
30+ slot: ' view-mode' as const ,
31+ }, repositoryUrl .value
32+ ? {
2333 label: ` ${host .repository .owner }/${host .repository .repo } ` ,
2434 icon: ' i-simple-icons:github' ,
2535 to: repositoryUrl .value ,
2636 target: ' _blank' ,
27- }]
28- : [],
37+ }
38+ : undefined
39+ ].filter (Boolean ),
2940 [{
3041 label: ' Sign out' ,
3142 icon: ' i-lucide-log-out' ,
@@ -35,7 +46,7 @@ const userMenuItems = computed(() => [
3546 })
3647 },
3748 }],
38- ]. filter ( group => group . length > 0 ) )
49+ ])
3950 </script >
4051
4152<template >
@@ -47,6 +58,19 @@ const userMenuItems = computed(() => [
4758 :items =" userMenuItems"
4859 :ui =" { content: 'w-full' }"
4960 >
61+ <template #view-mode >
62+ <div
63+ class =" w-full"
64+ @click.stop
65+ >
66+ <USwitch
67+ v-model =" showTechnicalMode"
68+ label =" Technical view"
69+ size =" xs"
70+ :ui =" { root: 'w-full flex-row-reverse justify-between', wrapper: 'ms-0' }"
71+ />
72+ </div >
73+ </template >
5074 <UButton
5175 color =" neutral"
5276 variant =" ghost"
0 commit comments