Skip to content

Commit 3ee675c

Browse files
committed
feat: adjust ui
1 parent e1b39e8 commit 3ee675c

File tree

7 files changed

+1094
-994
lines changed

7 files changed

+1094
-994
lines changed

packages/devtools/src/app/components/flowmap/ModuleFlow.vue

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -106,31 +106,37 @@ const codeDisplay = computed(() => {
106106

107107
<template>
108108
<div of-auto pt4>
109-
<div v-if="info.importers?.length" flex="~ gap-2" pb4 text-sm>
110-
<VMenu>
111-
<FlowmapNode :lines="{ bottom: true }" :active="selected != null" class-node-outer="border-dashed">
112-
<template #inner>
113-
<div flex="~ items-center gap-1" text-sm text-blue px3 py1>
114-
<div i-ph-arrows-merge-duotone rotate-270 />
115-
{{ info.importers?.length }} importers
109+
<div v-if="info.importers?.length" text-sm>
110+
<div flex>
111+
<VMenu>
112+
<FlowmapNode class-node-outer="border-dashed">
113+
<template #inner>
114+
<div flex="~ items-center gap-1" text-sm text-blue px3 py1>
115+
<div i-ph-arrows-merge-duotone rotate-270 />
116+
{{ info.importers?.length }} importers
117+
</div>
118+
</template>
119+
</FlowmapNode>
120+
<template #popper="{ hide }">
121+
<div p2 flex="~ col gap-1">
122+
<DisplayModuleId
123+
v-for="importer of info.importers"
124+
:id="importer"
125+
:key="importer"
126+
:session="session"
127+
:link="true"
128+
class="hover:bg-active"
129+
px2 py1 rounded
130+
@click="hide"
131+
/>
116132
</div>
117133
</template>
118-
</FlowmapNode>
119-
<template #popper="{ hide }">
120-
<div p2 flex="~ col gap-1">
121-
<DisplayModuleId
122-
v-for="importer of info.importers"
123-
:id="importer"
124-
:key="importer"
125-
:session="session"
126-
:link="true"
127-
class="hover:bg-active"
128-
px2 py1 rounded
129-
@click="hide"
130-
/>
131-
</div>
132-
</template>
133-
</VMenu>
134+
</VMenu>
135+
</div>
136+
<div
137+
pl-10 border="r" h-4 w-1px z-flowmap-line
138+
class="border-flow-line border-dashed"
139+
/>
134140
</div>
135141
<div flex="~">
136142
<FlowmapNode
@@ -149,7 +155,7 @@ const codeDisplay = computed(() => {
149155
<template v-if="info.imports?.length">
150156
<div w-10 border="t base dashed" mya />
151157
<VMenu mya>
152-
<FlowmapNode :active="selected != null" class-node-outer="border-dashed">
158+
<FlowmapNode class-node-outer="border-dashed">
153159
<template #inner>
154160
<div flex="~ items-center gap-1" text-sm text-orange px3 py1>
155161
<div i-ph-arrows-split-duotone rotate-270 />
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<script setup lang="ts">
2+
import type { ModuleListItem, SessionContext } from '../../types/data'
3+
4+
defineProps<{
5+
session: SessionContext
6+
modules: ModuleListItem[]
7+
}>()
8+
</script>
9+
10+
<template>
11+
<div flex="~ col gap-2" p4>
12+
<template v-for="mod of modules" :key="mod">
13+
<DisplayModuleId
14+
:id="mod.id"
15+
:session
16+
hover="bg-active" block px2 p1
17+
border="~ base rounded"
18+
:link="true"
19+
/>
20+
</template>
21+
</div>
22+
</template>

packages/devtools/src/app/pages/session/[session]/index.vue

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,10 @@ const searched = computed(() => {
152152
<!-- TODO: should we add filters for node_modules? -->
153153
<!-- {{ allNodeModules }} -->
154154
</div>
155-
<template v-for="mod of searched" :key="mod">
156-
<DisplayModuleId
157-
:id="mod.id"
158-
:session
159-
hover="bg-active" block px2 p1
160-
border="~ base rounded"
161-
:link="true"
162-
/>
163-
</template>
155+
<ModulesList
156+
:session="session"
157+
:modules="searched"
158+
/>
164159
<div text-center text-xs op50 m4>
165160
{{ filtered.length }} of {{ session.modulesList.length }}
166161
</div>

packages/devtools/src/app/styles/global.css

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,19 @@ summary::-webkit-details-marker {
7272
.v-popper--theme-tooltip .v-popper__arrow-inner,
7373
.v-popper--theme-dropdown .v-popper__arrow-inner {
7474
visibility: visible;
75-
--at-apply: border-white dark:border-#111;
75+
--at-apply: border-solid border-white dark:border-#111;
7676
}
7777

7878
.v-popper--theme-tooltip .v-popper__arrow-outer,
7979
.v-popper--theme-dropdown .v-popper__arrow-outer {
80-
--at-apply: border-base;
80+
--at-apply: border-solid border-base;
8181
}
8282

8383
.v-popper--theme-tooltip.v-popper--shown,
8484
.v-popper--theme-tooltip.v-popper--shown * {
8585
transition: none !important;
8686
}
87+
88+
.v-popper__popper--shown {
89+
overflow: visible !important;
90+
}

packages/devtools/src/node/rolldown/events-manager.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ export class RolldownEventsManager {
2828
if (event.action === 'ModuleGraphReady') {
2929
for (const module of event.modules) {
3030
this.modules.set(module.id, module)
31+
module.importers = Array.from(new Set(module.importers || [])).sort((a, b) => a.localeCompare(b))
32+
module.imports = Array.from(new Set(module.imports || [])).sort((a, b) => a.localeCompare(b))
3133
}
3234
}
3335

0 commit comments

Comments
 (0)