diff --git a/src/app/registers/RegisterBrowser.tsx b/src/app/registers/RegisterBrowser.tsx
index ccf10c0..15b2c13 100644
--- a/src/app/registers/RegisterBrowser.tsx
+++ b/src/app/registers/RegisterBrowser.tsx
@@ -4,6 +4,7 @@ import { useState } from 'react';
import Link from 'next/link';
import { Register, RegisterAccess, Note } from './types';
import { Form, Card, Container, Row, Col, Tabs, Tab, Table, OverlayTrigger, Tooltip } from 'react-bootstrap';
+import RegisterDetail from "@/app/registers/RegisterDetail";
interface RegisterBrowserProps {
registers: Register[];
@@ -95,31 +96,7 @@ export default function RegisterBrowser({ registers }: RegisterBrowserProps) {
{filteredRegisters.map(register => {
const defaultActiveKey = getDefaultActiveKey(register);
return (
-
-
-
- {register.hex_address} ( {register.dec_address} )
- {register.name} {register.issue_4_only && Issue 4 Only}
-
-
-
-
- {register.common && {renderAccess(register.common)}}
- {register.read && {renderAccess(register.read)}}
- {register.write && {renderAccess(register.write)}}
-
- {register.notes.map((note, index) => (
- {note.ref} {note.text}
- ))}
- {register.text && register.text.length > 0 && (
-
-
Notes:
-
{register.text}
-
- )}
-
-
-
+
);
})}
diff --git a/src/app/registers/RegisterDetail.tsx b/src/app/registers/RegisterDetail.tsx
new file mode 100644
index 0000000..0073803
--- /dev/null
+++ b/src/app/registers/RegisterDetail.tsx
@@ -0,0 +1,48 @@
+"use client";
+
+import { Col, Card, Tabs, Tab } from 'react-bootstrap';
+import { Register } from './types';
+import { renderAccess } from './RegisterBrowser';
+import Link from "next/link";
+
+/**
+ * A client-side component that displays the details of a single register.
+ * @param register The register object to display.
+ * @param defaultActiveKey The default active tab to display.
+ * @returns A React component that displays the register details.
+ */
+export default function RegisterDetail({
+ register,
+ defaultActiveKey,
+}: {
+ register: Register;
+ defaultActiveKey?: string;
+}) {
+ return (
+
+
+
+ {register.hex_address} ( {register.dec_address} )
+ {register.name} {register.issue_4_only && Issue 4 Only}
+
+
+
+
+ {register.common && {renderAccess(register.common)}}
+ {register.read && {renderAccess(register.read)}}
+ {register.write && {renderAccess(register.write)}}
+
+ {register.notes.map((note, index) => (
+ {note.ref} {note.text}
+ ))}
+ {register.text && register.text.length > 0 && (
+
+
Notes:
+
{register.text}
+
+ )}
+
+
+
+ );
+}
diff --git a/src/app/registers/RegisterDetailClient.tsx b/src/app/registers/RegisterDetailClient.tsx
deleted file mode 100644
index b1fc99e..0000000
--- a/src/app/registers/RegisterDetailClient.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-"use client";
-
-import { Container, Row, Col, Card, Tabs, Tab } from 'react-bootstrap';
-import { Register } from './types';
-import { renderAccess } from './RegisterBrowser';
-
-/**
- * A client-side component that displays the details of a single register.
- * @param register The register object to display.
- * @param defaultActiveKey The default active tab to display.
- * @returns A React component that displays the register details.
- */
-export default function RegisterDetailClient({
- register,
- defaultActiveKey,
-}: {
- register: Register;
- defaultActiveKey?: string;
-}) {
- return (
-
-
-
-
-
- {register.name} ({register.hex_address} / {register.dec_address}){' '}
- {register.issue_4_only && Issue 4 Only}
-
-
- {defaultActiveKey ? (
-
- {register.common && (
-
- {renderAccess(register.common)}
-
- )}
- {register.read && (
-
- {renderAccess(register.read)}
-
- )}
- {register.write && (
-
- {renderAccess(register.write)}
-
- )}
-
- ) : null}
- {register.notes.map((note, index) => (
-
- {note.ref} {note.text}
-
- ))}
- {register.text && register.text.length > 0 && (
-
-
Notes:
-
{register.text}
-
- )}
-
-
-
-
-
- );
-}
diff --git a/src/app/registers/[hex]/page.tsx b/src/app/registers/[hex]/page.tsx
index 8f2916b..50ad619 100644
--- a/src/app/registers/[hex]/page.tsx
+++ b/src/app/registers/[hex]/page.tsx
@@ -3,7 +3,8 @@ import path from 'path';
import { notFound } from 'next/navigation';
import Link from 'next/link';
import { Register, RegisterAccess } from '../../registers/types';
-import RegisterDetailClient from '../../registers/RegisterDetailClient';
+import RegisterDetail from '../RegisterDetail';
+import {Container, Row} from "react-bootstrap";
async function parseNextReg(fileContent: string): Promise {
const registers: Register[] = [];
@@ -173,11 +174,13 @@ export default async function RegisterDetailPage({ params }: { params: { hex: st
const defaultActiveKey = register.common ? 'common' : (register.read ? 'read' : (register.write ? 'write' : undefined));
return (
-
+
← Back to Registers
-
-
+
+
+
+
);
}