Skip to content

Commit 6f1dd95

Browse files
authored
Remove page tooltip for memory ranges (#315)
* Remove page tooltip for memory ranges * improve spacing
1 parent caf42d2 commit 6f1dd95

File tree

4 files changed

+256
-56
lines changed

4 files changed

+256
-56
lines changed

package-lock.json

Lines changed: 218 additions & 14 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"@radix-ui/react-slot": "^1.1.0",
2626
"@radix-ui/react-switch": "^1.1.0",
2727
"@radix-ui/react-tabs": "^1.1.0",
28-
"@radix-ui/react-tooltip": "^1.1.2",
28+
"@radix-ui/react-tooltip": "^1.1.7",
2929
"@reduxjs/toolkit": "^2.2.8",
3030
"@tanstack/react-virtual": "^3.10.9",
3131
"@typeberry/block": "0.0.1-447d5c4",

src/components/MemoryPreview/MemoryInfinite.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,13 @@ export const MemoryCell = ({
3030
selectedAddress,
3131
index,
3232
findMemoryForWorker,
33+
isPageTooltipDisabled = false,
3334
}: {
3435
value: number;
3536
address: number;
3637
selectedAddress: number | null;
3738
index: number;
39+
isPageTooltipDisabled?: boolean;
3840
findMemoryForWorker: FindMemoryForWorkerType;
3941
}) => {
4042
const workers = useAppSelector(selectWorkers);
@@ -66,7 +68,7 @@ export const MemoryCell = ({
6668
>
6769
{isEqualAcrossWorkers ? (
6870
<TooltipProvider>
69-
<Tooltip delayDuration={100}>
71+
<Tooltip delayDuration={100} open={isPageTooltipDisabled ? false : undefined}>
7072
<TooltipTrigger>
7173
{valueToNumeralSystem(value, numeralSystem, numeralSystem ? 2 : 3, false)}
7274
</TooltipTrigger>

src/components/MemoryPreview/MemoryRanges.tsx

Lines changed: 34 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { INPUT_STYLES } from "@/components/ui/input";
44
import { Card } from "@/components/ui/card";
55
import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover";
66
import { Label } from "@/components/ui/label";
7-
import { Edit3, Check, HelpCircle, ArrowUp, ArrowDown, Trash } from "lucide-react";
7+
import { Edit3, Check, ArrowUp, ArrowDown, Trash } from "lucide-react";
88
import { loadMemoryRangeAllWorkers, selectMemoryRangesForFirstWorker } from "@/store/workers/workersSlice";
99
import { useAppDispatch, useAppSelector } from "@/store/hooks";
1010
import { AddressInput, MemoryCell } from "./MemoryInfinite";
@@ -210,54 +210,48 @@ function MemoryRangeRow({
210210
</div>
211211
</div>
212212

213-
<div className="mt-2 text-sm font-mono">
213+
<div className="mt-4 mb-2 mx-2 text-sm font-mono">
214214
<div style={{ maxHeight: "100px", overflowY: "auto" }}>
215215
{flatData.length === 0 ? (
216216
<div>(no data)</div>
217217
) : (
218218
flatData.map((byte, idx) => (
219-
<MemoryCell
220-
index={idx}
221-
address={draftStart + idx}
222-
value={byte}
223-
selectedAddress={null}
224-
findMemoryForWorker={findMemoryForWorkerRange(matchingRange?.startAddress || 0)}
225-
/>
219+
<Popover>
220+
<PopoverTrigger>
221+
<MemoryCell
222+
index={idx}
223+
address={draftStart + idx}
224+
value={byte}
225+
selectedAddress={null}
226+
findMemoryForWorker={findMemoryForWorkerRange(matchingRange?.startAddress || 0)}
227+
isPageTooltipDisabled
228+
/>
229+
</PopoverTrigger>
230+
<PopoverContent className="w-auto p-2">
231+
<a
232+
href={`https://papi.fluffylabs.dev/?data=${uint8ToHex(new Uint8Array(flatData))}`}
233+
target="_blank"
234+
rel="noreferrer"
235+
className="underline text-blue-600 block mb-2"
236+
>
237+
Open codec tool
238+
</a>
239+
240+
{!interpretResult ? (
241+
<div>(no data)</div>
242+
) : (
243+
<div className="text-sm space-y-1 font-mono">
244+
{interpretResult.map((interpretation) => (
245+
<div key={interpretation}>{interpretation}</div>
246+
))}
247+
</div>
248+
)}
249+
</PopoverContent>
250+
</Popover>
226251
))
227252
)}
228253
</div>
229254
</div>
230-
231-
<div className="mt-2">
232-
<Popover>
233-
<PopoverTrigger asChild>
234-
<Button variant="ghost" size="sm" className="flex gap-1 items-center">
235-
<HelpCircle className="h-4 w-4" />
236-
Interpretations
237-
</Button>
238-
</PopoverTrigger>
239-
<PopoverContent className="w-auto p-2">
240-
<a
241-
href={`https://papi.fluffylabs.dev/?data=${uint8ToHex(new Uint8Array(flatData))}`}
242-
target="_blank"
243-
rel="noreferrer"
244-
className="underline text-blue-600 block mb-2"
245-
>
246-
Open codec tool
247-
</a>
248-
249-
{!interpretResult ? (
250-
<div>(no data)</div>
251-
) : (
252-
<div className="text-sm space-y-1 font-mono">
253-
{interpretResult.map((interpretation) => (
254-
<div key={interpretation}>{interpretation}</div>
255-
))}
256-
</div>
257-
)}
258-
</PopoverContent>
259-
</Popover>
260-
</div>
261255
</Card>
262256
);
263257
}

0 commit comments

Comments
 (0)