File tree Expand file tree Collapse file tree 4 files changed +31
-5
lines changed Expand file tree Collapse file tree 4 files changed +31
-5
lines changed Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ export default function PrimarySideBar({
16
16
< SideBar position = "left" >
17
17
< SideBarEntry
18
18
title = "Source"
19
+ position = { "left" }
19
20
onClick = { ( ) => onSelectTool ( "Source" ) }
20
21
selected = { selected == "Source" }
21
22
>
@@ -24,6 +25,7 @@ export default function PrimarySideBar({
24
25
25
26
< SideBarEntry
26
27
title = "Settings"
28
+ position = { "left" }
27
29
onClick = { ( ) => onSelectTool ( "Settings" ) }
28
30
selected = { selected == "Settings" }
29
31
>
Original file line number Diff line number Diff line change @@ -20,6 +20,7 @@ export default function SecondarySideBar({
20
20
< SideBar position = "right" >
21
21
< SideBarEntry
22
22
title = "Format (alpha)"
23
+ position = { "right" }
23
24
selected = { selected === SecondaryTool . Format }
24
25
onClick = { ( ) => onSelected ( SecondaryTool . Format ) }
25
26
>
@@ -28,6 +29,7 @@ export default function SecondarySideBar({
28
29
29
30
< SideBarEntry
30
31
title = "AST"
32
+ position = { "right" }
31
33
selected = { selected === SecondaryTool . AST }
32
34
onClick = { ( ) => onSelected ( SecondaryTool . AST ) }
33
35
>
@@ -36,6 +38,7 @@ export default function SecondarySideBar({
36
38
37
39
< SideBarEntry
38
40
title = "Tokens"
41
+ position = { "right" }
39
42
selected = { selected === SecondaryTool . Tokens }
40
43
onClick = { ( ) => onSelected ( SecondaryTool . Tokens ) }
41
44
>
@@ -44,6 +47,7 @@ export default function SecondarySideBar({
44
47
45
48
< SideBarEntry
46
49
title = "Formatter IR"
50
+ position = { "right" }
47
51
selected = { selected === SecondaryTool . FIR }
48
52
onClick = { ( ) => onSelected ( SecondaryTool . FIR ) }
49
53
>
Original file line number Diff line number Diff line change @@ -22,9 +22,7 @@ export default function ShareButton({ onShare }: { onShare?: () => void }) {
22
22
>
23
23
Share
24
24
</ span >
25
- < span aria-hidden = "false" >
26
- Copied!
27
- </ span >
25
+ < span aria-hidden = "false" > Copied!</ span >
28
26
</ AstralButton >
29
27
) : (
30
28
< AstralButton
Original file line number Diff line number Diff line change @@ -23,6 +23,8 @@ export interface SideBarEntryProps {
23
23
title : string ;
24
24
selected : boolean ;
25
25
children : ReactNode ;
26
+ position : "left" | "right" ;
27
+
26
28
onClick ?( ) : void ;
27
29
}
28
30
@@ -31,20 +33,40 @@ export function SideBarEntry({
31
33
onClick,
32
34
children,
33
35
selected,
36
+ position,
34
37
} : SideBarEntryProps ) {
35
38
return (
36
39
< li
37
- title = { title }
40
+ aria-label = { title }
38
41
onClick = { onClick }
39
42
role = "button"
40
- className = { `py-4 px-2 relative flex items-center flex-col fill-white text-white ${
43
+ className = { `group py-4 px-2 relative flex items-center justify -center flex-col fill-white text-white ${
41
44
selected ? "opacity-100" : "opacity-50 hover:opacity-100"
42
45
} `}
43
46
>
44
47
{ children }
45
48
{ selected && (
46
49
< span className = "absolute start-0 inset-y-0 bg-white w-0.5" > </ span >
47
50
) }
51
+
52
+ < Tooltip position = { position } > { title } </ Tooltip >
48
53
</ li >
49
54
) ;
50
55
}
56
+
57
+ interface TooltipProps {
58
+ children : ReactNode ;
59
+ position : "left" | "right" ;
60
+ }
61
+
62
+ function Tooltip ( { children, position } : TooltipProps ) {
63
+ return (
64
+ < span
65
+ className = { `z-10 absolute w-100 rounded dark:border-[1px] dark:border-white bg-space dark:bg-white px-2 py-1 hidden text-xs text-white dark:text-black group-hover:flex whitespace-nowrap ${
66
+ position === "right" ? "right-[52px]" : "left-[52px]"
67
+ } `}
68
+ >
69
+ { children }
70
+ </ span >
71
+ ) ;
72
+ }
You can’t perform that action at this time.
0 commit comments