From f8745808b9758ee82e17e9c8de0f55c9373b25a6 Mon Sep 17 00:00:00 2001 From: "D. Rimron-Soutter" Date: Fri, 10 Oct 2025 13:03:39 +0100 Subject: [PATCH] Adding source viewer to individual registers --- src/app/registers/RegisterDetail.tsx | 38 ++++++++++++++++++++++------ src/utils/parser.ts | 2 +- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/app/registers/RegisterDetail.tsx b/src/app/registers/RegisterDetail.tsx index 93c5820..aaaab6c 100644 --- a/src/app/registers/RegisterDetail.tsx +++ b/src/app/registers/RegisterDetail.tsx @@ -1,6 +1,7 @@ "use client"; -import { Col, Card, Tabs, Tab } from 'react-bootstrap'; +import { useState } from 'react'; +import { Col, Card, Tabs, Tab, Button, Modal } from 'react-bootstrap'; import { Register } from '@/utils/parser'; import { renderAccess } from './RegisterBrowser'; import Link from "next/link"; @@ -19,6 +20,8 @@ export default function RegisterDetail({ register: Register; defaultActiveKey?: string; }) { + const [showSource, setShowSource] = useState(false); + return ( @@ -28,13 +31,17 @@ export default function RegisterDetail({ {register.name} {register.issue_4_only && Issue 4 Only} {/**/}
- +   - + +   +
@@ -54,11 +61,26 @@ export default function RegisterDetail({ )}
- - {register.source.map((line, index) => ( - {line}
- ))} -
+ + setShowSource(false)} size="xl" centered scrollable> + + Source: {register.name} [{register.hex_address}] + + +
+              {register.source && register.source.length > 0 ? (
+                register.source.map((line, index) => (
+                  {line}
+ )) + ) : ( + No source available. + )} +
+
+ + + +
); } diff --git a/src/utils/parser.ts b/src/utils/parser.ts index 1172436..af3c0ec 100644 --- a/src/utils/parser.ts +++ b/src/utils/parser.ts @@ -86,7 +86,7 @@ export function processRegisterBlock(paragraph: string, registers: Register[]) { if(line.includes('Issue 4 Only')) reg.issue_4_only = true; const trimmedLine = line.trim(); - reg.source.push(trimmedLine); + reg.source.push(line); if (trimmedLine.startsWith('//')) continue;