+
{items.map((item) => (
-
+ item={item}
+ active={activeId === item.id}
+ onSelect={() => onSelect(item.id)}
+ />
))}
diff --git a/src/components/topbar/Topbar.css b/src/components/topbar/Topbar.css
index 725d353..bd5f3da 100644
--- a/src/components/topbar/Topbar.css
+++ b/src/components/topbar/Topbar.css
@@ -69,6 +69,7 @@
cursor: pointer;
padding: 0;
+ font: inherit;
background: transparent;
border: var(--border-width-active) solid transparent;
diff --git a/src/pages/DspPage/DspPage.tsx b/src/pages/DspPage/DspPage.tsx
index f03d918..1d3783d 100644
--- a/src/pages/DspPage/DspPage.tsx
+++ b/src/pages/DspPage/DspPage.tsx
@@ -32,6 +32,101 @@ function DSPPage({
label: 'Gain',
icon:
,
},
+ {
+ id: 'gate',
+ label: 'Gate',
+ icon:
,
+ },
+ {
+ id: 'compressor',
+ label: 'Compressor',
+ icon:
,
+ },
+ {
+ id: 'limiter',
+ label: 'Limiter',
+ icon:
,
+ },
+ {
+ id: 'delay',
+ label: 'Delay',
+ icon:
,
+ },
+ {
+ id: 'matrix',
+ label: 'Matrix',
+ icon:
,
+ },
+ {
+ id: 'geq',
+ label: 'Graphic Equalizer',
+ icon:
,
+ },
+ {
+ id: 'ina',
+ label: 'In A',
+ icon:
,
+ },
+ {
+ id: 'inb',
+ label: 'In B',
+ icon:
,
+ },
+ {
+ id: 'inc',
+ label: 'In C',
+ icon:
,
+ },
+ {
+ id: 'ind',
+ label: 'In D (TESTTEST)',
+ icon:
,
+ },
+ {
+ id: 'out1',
+ label: 'Out 1',
+ icon:
,
+ },
+ {
+ id: 'out2',
+ label: 'Out 2',
+ icon:
,
+ },
+ {
+ id: 'out3',
+ label: 'Out 3',
+ icon:
,
+ },
+ {
+ id: 'out4',
+ label: 'Out 4',
+ icon:
,
+ },
+ {
+ id: 'out5',
+ label: 'Out 5',
+ icon:
,
+ },
+ {
+ id: 'out6',
+ label: 'Out 6',
+ icon:
,
+ },
+ {
+ id: 'out7',
+ label: 'Out 7',
+ icon:
,
+ },
+ {
+ id: 'out8',
+ label: 'Out 8',
+ icon:
,
+ },
+ {
+ id: 'miscellaneous',
+ label: 'Miscellaneous',
+ icon:
,
+ },
];
const renderTab = () => {
diff --git a/src/styles/variables.css b/src/styles/variables.css
index c30487a..808b322 100644
--- a/src/styles/variables.css
+++ b/src/styles/variables.css
@@ -15,6 +15,10 @@
--accent-down: #ff5c5c;
--accent-connecting: #f5a623;
+ /* ---------- Type ---------- */
+ --font-ui: 'Inter', -apple-system, 'Segoe UI', sans-serif;
+ --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
+
/* ---------- Font ---------- */
--font-xs: 0.75rem;
--font-sm: 0.875rem;
@@ -50,46 +54,6 @@
--radius-lg: 10px;
--radius-pill: 999px;
- /* ---------- Header ---------- */
- --header-height: 50px;
- --font-size-header: 1rem;
-
- --tab-height: calc(var(--header-height) * 0.75);
-
- /* ---------- Card ---------- */
- --card-width: 500px;
- --card-control-height: 36px;
-
- /* ---------- Button ---------- */
- --disabled-opacity: 0.45;
-
- /* ---------- SideBar ---------- */
- --sidebar-width-collapsed: calc(var(--header-height) * 0.85 + 2 * var(--space-3));
-
- --gain-section-height: 40vh;
-
- --sidebar-width-expanded: 22vh;
-
- --sidebar-icon-size: 2vh;
- --sidebar-item-size: 4.5vh;
- --sidebar-toggle-size: 3vh;
- --sidebar-label-size: 1.9vh;
- --sidebar-item-gap: 1vh;
- --sidebar-item-padding: 1vh;
-
- --font-size-sm: 0.875rem;
-
- /* --tab-add-size: 2.6vh; */
- --tab-add-empty-height: 3vh;
-
- --crown-icon-size: 2.2vh;
- --tab-add-icon-size: 1.6vh;
- --logo-size: 18vh;
-
- /* ---------- Type ---------- */
- --font-ui: 'Inter', -apple-system, 'Segoe UI', sans-serif;
- --font-mono: 'JetBrains Mono', 'SF Mono', Menlo, monospace;
-
/* ---------- Motion ---------- */
--dur-fast: 100ms;
--dur-base: 180ms;
@@ -106,8 +70,20 @@
--transition-fast: 120ms;
--transition-base: 180ms;
- --font-button: 1.5vh;
- --font-label: 1.4vh;
- --font-title: 1.8vh;
- --font-value: 1.6vh;
+ /* ---------- Header ---------- */
+ --header-height: 50px;
+ --font-size-header: 1rem;
+
+ --tab-height: calc(var(--header-height) * 0.75);
+
+ /* ---------- Card ---------- */
+ --card-width: 500px;
+ --card-control-height: 36px;
+
+ /* ---------- Button ---------- */
+ --disabled-opacity: 0.45;
+
+ /* ---------- SideBar ---------- */
+ --sidebar-width-collapsed: calc(var(--header-height) * 0.85 + 2 * var(--space-3));
+ --sidebar-width-expanded: 200px;
}