diff --git a/src/app.tsx b/src/app.tsx
index 8c29a94e..c1cf23b5 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -5,7 +5,7 @@ import styles from './app.module.css';
import useTheme from './hooks/use-theme';
import Subplebbit from './views/subplebbit';
import { isHomeView } from './lib/utils/view-utils';
-import TopNav from './components/topnav';
+import BoardNav from './components/board-nav';
const App = () => {
const [theme] = useTheme();
@@ -26,7 +26,7 @@ const App = () => {
const boardLayout = (
<>
-
+
{/*
*/}
diff --git a/src/components/topnav.module.css b/src/components/board-nav/board-nav.module.css
similarity index 53%
rename from src/components/topnav.module.css
rename to src/components/board-nav/board-nav.module.css
index b17d5574..45a90f9c 100644
--- a/src/components/topnav.module.css
+++ b/src/components/board-nav/board-nav.module.css
@@ -1,7 +1,8 @@
.boardNavDesktop {
padding: 5px;
- font-size: var(--topnav-font-size);
+ font-size: var(--boardnav-font-size);
+ color: var(--boardnav-separator-color);
}
.boardNavDesktop a {
@@ -14,6 +15,23 @@
text-decoration: var(--internal-link-text-decoration-hover);
}
+.boardNavMobile {
+ padding: 2px 4px;
+ background-color: var(--boardnav-mobile-background-color);
+ border-bottom: var(--boardnav-mobile-border-bottom);
+ position: fixed;
+ width: 100%;
+ font-size: 10px;
+}
+
+.boardNavMobile strong {
+ padding-right: 5px;
+}
+
+.boardNavMobile select {
+ font-size: 10px;
+}
+
@media (max-width: 640px) {
.boardNavDesktop {
display: none;
diff --git a/src/components/board-nav/board-nav.tsx b/src/components/board-nav/board-nav.tsx
new file mode 100644
index 00000000..74e6516a
--- /dev/null
+++ b/src/components/board-nav/board-nav.tsx
@@ -0,0 +1,62 @@
+import { Link, useNavigate, useParams } from 'react-router-dom';
+import useDefaultSubplebbits from '../../hooks/use-default-subplebbits';
+import styles from './board-nav.module.css';
+
+interface BoardNavProps {
+ subplebbits: any;
+ currentSubplebbit?: string | undefined;
+}
+
+const BoardNavDesktop = ({ subplebbits }: BoardNavProps) => {
+ return (
+
+ [
+ {subplebbits.map((subplebbit: any, index: number) => (
+
+ {index === 0 ? null : ' '}
+
+ {subplebbit.address.includes('.') ? subplebbit.address : subplebbit.title || subplebbit.address.slice(0, 10).concat('...')}
+
+ {index !== subplebbits.length - 1 ? ' /' : null}
+
+ ))}
+ ]
+
+ );
+};
+
+const BoardNavMobile = ({ subplebbits, currentSubplebbit }: BoardNavProps) => {
+ const navigate = useNavigate();
+
+ return (
+
+
+ Board
+
+
+
+
+ );
+};
+
+const BoardNav = () => {
+ const defaultSubplebbits = useDefaultSubplebbits();
+ const subplebbitAddress = useParams().subplebbitAddress;
+
+ return (
+ <>
+
+
+ >
+ );
+};
+
+export default BoardNav;
diff --git a/src/components/board-nav/index.ts b/src/components/board-nav/index.ts
new file mode 100644
index 00000000..9fe1a732
--- /dev/null
+++ b/src/components/board-nav/index.ts
@@ -0,0 +1 @@
+export { default } from './board-nav';
diff --git a/src/components/index.ts b/src/components/index.ts
deleted file mode 100644
index 6871a43a..00000000
--- a/src/components/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default } from './topnav';
diff --git a/src/components/topnav.tsx b/src/components/topnav.tsx
deleted file mode 100644
index 4f1505bb..00000000
--- a/src/components/topnav.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import { Link } from 'react-router-dom';
-import useDefaultSubplebbits from '../hooks/use-default-subplebbits';
-import styles from './topnav.module.css';
-
-const BoardNavDesktop = ({ subplebbits }: { subplebbits: any }) => {
- return (
-
- [
- {subplebbits.map((subplebbit: any, index: number) => (
-
- {index === 0 ? null : ' '}
-
- {subplebbit.address.includes('.') ? subplebbit.address : subplebbit.title || subplebbit.address.slice(0, 10).concat('...')}
-
- {index !== subplebbits.length - 1 ? ' /' : null}
-
- ))}
- ]
-
- );
-};
-
-const BoardNavMobile = ({ subplebbits }: { subplebbits: any }) => {
- return (
-
-
BoardNavMobile
-
- );
-};
-
-const TopNav = () => {
- const defaultSubplebbits = useDefaultSubplebbits();
-
- return (
- <>
-
-
- >
- );
-};
-
-export default TopNav;
diff --git a/src/themes.css b/src/themes.css
index 5ecc4bc9..254e021b 100644
--- a/src/themes.css
+++ b/src/themes.css
@@ -2,6 +2,11 @@
--background-base-color: #ffe;
--background-pattern-image: url("/public/assets/background-fade.png");
--background-text-color: #fff;
+ --boardnav-font-size: 9pt;
+ --boardnav-separator-color: #b86;
+ --boardnav-mobile-background-color: #f0e0d6;
+ --boardnav-mobile-border-bottom: 2px solid #d9c5b7;
+ --boardnav-mobile-font-size: 11pt;
--body-font-color: maroon;
--body-font-family: arial, helvetica, sans-serif;
--body-font-size: 10pt;
@@ -21,14 +26,17 @@
--text-color-on-color2-hover: #c63;
--text-color-standard: #000;
--text-color-inverse: #fff;
- --topnav-font-size: 9pt;
- --topnav-separator-color: #b86;
}
:root .yotsuba-b {
--background-base-color: #eef2ff;
--background-pattern-image: url("/public/assets/background-fade-blue.png");
--background-text-color: #fff;
+ --boardnav-font-size: 9pt;
+ --boardnav-separator-color: #89a;
+ --boardnav-mobile-background-color: #d6daf0;
+ --boardnav-mobile-border-bottom: 2px solid #b7c5d9;
+ --boardnav-mobile-font-size: 11pt;
--body-font-color: #000;
--body-font-family: arial, helvetica, sans-serif;
--body-font-size: 10pt;
@@ -48,14 +56,17 @@
--text-color-on-color2-hover: #fff;
--text-color-standard: #000;
--text-color-inverse: #fff;
- --topnav-font-size: 9pt;
- --topnav-separator-color: #89a;
}
:root .futaba {
--background-base-color: #ffe;
--background-pattern-image: none;
--background-text-color: #fff;
+ --boardnav-font-size: 11pt;
+ --boardnav-separator-color: none;
+ --boardnav-mobile-background-color: #f0e0d6;
+ --boardnav-mobile-border-bottom: 2px solid #d9c5b7;
+ --boardnav-mobile-font-size: 11pt;
--body-font-color: maroon;
--body-font-family: times new roman, serif;
--body-font-size: 12pt;
@@ -75,14 +86,17 @@
--text-color-on-color2-hover: #c63;
--text-color-standard: #000;
--text-color-inverse: #fff;
- --topnav-font-size: 11pt;
- --topnav-separator-color: #89a;
}
:root .burichan {
--background-base-color: #eef2ff;
--background-pattern-image: none;
--background-text-color: #fff;
+ --boardnav-font-size: 11pt;
+ --boardnav-separator-color: none;
+ --boardnav-mobile-background-color: #d6daf0;
+ --boardnav-mobile-border-bottom: 2px solid #b7c5d9;
+ --boardnav-mobile-font-size: 11pt;
--body-font-color: #000;
--body-font-family: times new roman, serif;
--body-font-size: 12pt;
@@ -102,8 +116,6 @@
--text-color-on-color2-hover: #fff;
--text-color-standard: #000;
--text-color-inverse: #fff;
- --topnav-font-size: 11pt;
- --topnav-separator-color: #89a;
}
@@ -111,6 +123,11 @@
--background-base-color: #1d1f21;
--background-pattern-image: none;
--background-text-color: #282a2e;
+ --boardnav-font-size: 9pt;
+ --boardnav-separator-color: #c5c8c6;
+ --boardnav-mobile-background-color: #1d1f21;
+ --boardnav-mobile-border-bottom: 2px solid #282a2e;
+ --boardnav-mobile-font-size: 11pt;
--body-font-color: #c5c8c6;
--body-font-family: arial, helvetica, sans-serif;
--body-font-size: 10pt;
@@ -124,19 +141,20 @@
--text-color-on-color1: #c5c8c6;
--text-color-on-color2: #c5c8c6;
--text-color-on-color3: #c5c8c6;
- --topnav-font-size: 9pt;
- --topnav-separator-color: #89a;
}
:root .photon {
--background-base-color: #eee;
--background-pattern-image: none;
+ --boardnav-font-size: 9pt;
+ --boardnav-separator-color: #333;
+ --boardnav-mobile-background-color: #ddd;
+ --boardnav-mobile-border-bottom: 2px solid #ccc;
+ --boardnav-mobile-font-size: 11pt;
--body-font-color: #333;
--body-font-family: arial, helvetica, sans-serif;
--body-font-size: 10pt;
--internal-link-text-color: #f60;
--internal-link-text-color-hover: #f30;
--text-color: #333;
- --topnav-font-size: 9pt;
- --topnav-separator-color: #333;
}
\ No newline at end of file
diff --git a/src/views/subplebbit/subplebbit.module.css b/src/views/subplebbit/subplebbit.module.css
index 3fe76a44..6b48d171 100644
--- a/src/views/subplebbit/subplebbit.module.css
+++ b/src/views/subplebbit/subplebbit.module.css
@@ -1,6 +1,6 @@
.debug {
position: fixed;
- top: 0;
+ top: 20px;
right: 0;
padding: 0.5em;
}