Skip to content

Commit d354b6c

Browse files
committed
Show HMR badge in the inspector
1 parent f910bc9 commit d354b6c

File tree

3 files changed

+22
-25
lines changed

3 files changed

+22
-25
lines changed

.changeset/fair-mirrors-buy.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@solid-devtools/frontend": patch
3+
---
4+
5+
Show HMR badge in the inspector

packages/frontend/src/SidePanel.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,12 @@ export function createSidePanel() {
6161
>
6262
<header class="relative p-l-4 flex items-center">
6363
<div class={panel_header_el_border} />
64-
<OwnerName name={state.name} type={state.type} is_title />
64+
<div class="flex items-center gap-x-2">
65+
<OwnerName name={state.name} type={state.type} is_title />
66+
{state.hmr && <>
67+
<ui.Badge>HMR</ui.Badge>
68+
</>}
69+
</div>
6570
<div class="p-x-1 ml-auto flex items-center gap-x-1">
6671
{/* <button class={styles.actions.button}>
6772
<Icon.Eye class={styles.actions.icon} />

packages/frontend/src/ui/owner-name.tsx

Lines changed: 11 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,37 +14,24 @@ export function Node_Type_Icon(props: {
1414
let prev_rendered: s.JSX.Element | undefined
1515

1616
const fn = (): s.JSX.Element => {
17+
1718
let IconComp: IconComponent | undefined
1819
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
1920
switch (props.type) {
20-
case NodeType.Memo:
21-
IconComp = Icon.Memo
22-
break
23-
case NodeType.Effect:
24-
IconComp = Icon.Effect
25-
break
26-
case NodeType.Root:
27-
IconComp = Icon.Root
28-
break
29-
case NodeType.Render:
30-
IconComp = Icon.RenderEffect
31-
break
32-
case NodeType.Computation:
33-
IconComp = Icon.Computation
34-
break
35-
case NodeType.Context:
36-
IconComp = Icon.Context
37-
break
38-
case NodeType.Signal:
39-
IconComp = Icon.Signal
40-
break
21+
case NodeType.Memo: IconComp = Icon.Memo ;break
22+
case NodeType.Effect: IconComp = Icon.Effect ;break
23+
case NodeType.Root: IconComp = Icon.Root ;break
24+
case NodeType.Render: IconComp = Icon.RenderEffect ;break
25+
case NodeType.Computation: IconComp = Icon.Computation ;break
26+
case NodeType.Context: IconComp = Icon.Context ;break
27+
case NodeType.Signal: IconComp = Icon.Signal ;break
4128
}
4229

4330
if (IconComp === prev_icon) {
4431
return prev_rendered
4532
}
4633
prev_icon = IconComp
47-
prev_rendered = IconComp ? <IconComp class={props.class} /> : null
34+
prev_rendered = IconComp ? <IconComp class={clsx('mb-px', props.class)} /> : null
4835
return prev_rendered
4936
}
5037
return fn as any as s.JSX.Element
@@ -54,10 +41,10 @@ const strike_through_line =
5441
'before:content-empty before:absolute before:-z-1 before:top-1/2 before:inset-x-0 before:h-px before:bg-current'
5542

5643
const node_type_classes = (frozen: boolean): string =>
57-
clsx('text-.8em select-none text-disabled', frozen && strike_through_line)
44+
clsx('mt-px -mb-px text-.8em select-none text-disabled', frozen && strike_through_line)
5845

5946
const name_classes = (frozen: boolean): string =>
60-
clsx(frozen && [strike_through_line, 'text-disabled'])
47+
clsx('mt-px -mb-px', frozen && [strike_through_line, 'text-disabled'])
6148

6249
const component_classes = (frozen: boolean): string =>
6350
clsx(name_classes(frozen), ui.tag_brackets, 'text-component')

0 commit comments

Comments
 (0)