diff --git a/src/App.jsx b/src/App.jsx index 9108e22..3709e77 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,10 +2,10 @@ import React, { useState } from 'react'; import AppRoutes from './routes/AppRoutes'; import CampfireAppBar from './components/AppBar'; import CampfirePanelBar from './components/PanelBar'; +import Dashboard from './pages/Dashboard'; import { useNavigate, useLocation } from 'react-router-dom'; import { IconsContext } from '@progress/kendo-react-common'; import Copyright from './components/UI/Copyright'; -import Dashboard from './pages/Dashboard'; function App() { const [isLoggedIn, setIsLoggedIn] = useState(false); @@ -38,32 +38,35 @@ function App() { )} {isLoggedIn && location.pathname !== '/login' ? ( - - {/* AppRoutes are the main content of the Panel */} - - +
+ {/* Always render the PanelBar on the left */} + + {/* AppRoutes are the main content of the Panel */} + + + + {/* Render Dashboard on the right only when on /dashboard */} + {location.pathname === '/dashboard' && ( +
+ + + +
+ )} +
) : ( // If not logged in or on the login page, just render the routes )} - - {isLoggedIn && location.pathname === '/dashboard' ? ( - - - - ) : ( - - )} ); +} -}; - -export default App; \ No newline at end of file +export default App; diff --git a/src/assets/header/#0-setting-up-camp.jpg b/src/assets/header/#0-setting-up-camp.jpg new file mode 100644 index 0000000..ab36649 Binary files /dev/null and b/src/assets/header/#0-setting-up-camp.jpg differ diff --git a/src/assets/header/#1-the-great-gitea-migration.jpg b/src/assets/header/#1-the-great-gitea-migration.jpg new file mode 100644 index 0000000..d33dea0 Binary files /dev/null and b/src/assets/header/#1-the-great-gitea-migration.jpg differ diff --git a/src/assets/header/#2-retrofitting-the-privacy-policy.png b/src/assets/header/#2-retrofitting-the-privacy-policy.png new file mode 100644 index 0000000..5d1dcec Binary files /dev/null and b/src/assets/header/#2-retrofitting-the-privacy-policy.png differ diff --git a/src/assets/header/#3-data-privacy-things-to-consider.jpg b/src/assets/header/#3-data-privacy-things-to-consider.jpg new file mode 100644 index 0000000..1256b65 Binary files /dev/null and b/src/assets/header/#3-data-privacy-things-to-consider.jpg differ diff --git a/src/assets/header/#4-refactoring-a-false-sense-of-simplicity.png b/src/assets/header/#4-refactoring-a-false-sense-of-simplicity.png new file mode 100644 index 0000000..9c80eee Binary files /dev/null and b/src/assets/header/#4-refactoring-a-false-sense-of-simplicity.png differ diff --git a/src/assets/header/#5-the-power-of-separation-compels-you.webp b/src/assets/header/#5-the-power-of-separation-compels-you.webp new file mode 100644 index 0000000..48c6e7e Binary files /dev/null and b/src/assets/header/#5-the-power-of-separation-compels-you.webp differ diff --git a/src/assets/icons/DEV_Community_Badge.svg b/src/assets/icons/DEV_Community_Badge.svg new file mode 100644 index 0000000..0c521b6 Binary files /dev/null and b/src/assets/icons/DEV_Community_Badge.svg differ diff --git a/src/assets/icons/Gitea_Logo.svg b/src/assets/icons/Gitea_Logo.svg new file mode 100644 index 0000000..d55f365 Binary files /dev/null and b/src/assets/icons/Gitea_Logo.svg differ diff --git a/src/assets/icons/Hashnode_icon.svg b/src/assets/icons/Hashnode_icon.svg new file mode 100644 index 0000000..4b09b00 Binary files /dev/null and b/src/assets/icons/Hashnode_icon.svg differ diff --git a/src/assets/icons/Notion-logo.svg b/src/assets/icons/Notion-logo.svg new file mode 100644 index 0000000..ac5be54 Binary files /dev/null and b/src/assets/icons/Notion-logo.svg differ diff --git a/src/assets/images/campfire_logs_square_logo_bg_match.png b/src/assets/images/campfire_logs_square_logo_bg_match.png new file mode 100644 index 0000000..6ca1f5b Binary files /dev/null and b/src/assets/images/campfire_logs_square_logo_bg_match.png differ diff --git a/src/assets/images/campfire_logs_square_logo_no_bg.png b/src/assets/images/campfire_logs_square_logo_no_bg.png deleted file mode 100644 index 179f5bd..0000000 Binary files a/src/assets/images/campfire_logs_square_logo_no_bg.png and /dev/null differ diff --git a/src/components/LoginComponent.jsx b/src/components/LoginComponent.jsx index 4df0f4c..808e5a5 100644 --- a/src/components/LoginComponent.jsx +++ b/src/components/LoginComponent.jsx @@ -36,10 +36,10 @@ const LoginComponent = ({ onLogin }) => {
- setPassword(e.target.value)} autoComplete="current-password" /> + setPassword(e.target.value)} autoComplete="current-password" />
- +
{error && ( setError('')}> diff --git a/src/components/PanelBar.jsx b/src/components/PanelBar.jsx index a77a8c5..d6d4048 100644 --- a/src/components/PanelBar.jsx +++ b/src/components/PanelBar.jsx @@ -91,6 +91,7 @@ const CampfirePanelBar = ({ isExpanded = true }) => { {item.title}
} + expanded={true} > {item.items.map(renderItem)} diff --git a/src/components/UI/Copyright.jsx b/src/components/UI/Copyright.jsx index a82b939..cdca40a 100644 --- a/src/components/UI/Copyright.jsx +++ b/src/components/UI/Copyright.jsx @@ -10,7 +10,7 @@ export default function Copyright() { }} >

- © Derek L. Seitz |{" "} + © 2025{" | "}Derek L. Seitz{" | "} dlseitz.dev diff --git a/src/data/BlogPosts/#0-setting-up-camp.md b/src/data/BlogPosts/#0-setting-up-camp.md index 3c11f56..2455aa2 100644 --- a/src/data/BlogPosts/#0-setting-up-camp.md +++ b/src/data/BlogPosts/#0-setting-up-camp.md @@ -5,7 +5,7 @@ date: 2025-08-24 05:00:00 UTC tags: fullstack,developerjourney,BuildInPublic,introduction canonical_url: https://campfire.dlseitz.dev/0-setting-up-camp header: - image: /assets/kemal-berkay-dogan-TcUN5sDZPZ8-unsplash.jpg + image: /assets/#0-setting-up-camp.jpg attribution: 'Photo by Kemal Berkay Dogan on Unsplash' --- diff --git a/src/data/BlogPosts/#1-the-great-gitea-migration.md b/src/data/BlogPosts/#1-the-great-gitea-migration.md index 17e2737..9816516 100644 --- a/src/data/BlogPosts/#1-the-great-gitea-migration.md +++ b/src/data/BlogPosts/#1-the-great-gitea-migration.md @@ -5,7 +5,7 @@ date: 2025-08-27 20:19:51 UTC tags: CampfireLogs,SelfHosting,Devops,gitea canonical_url: https://campfire.dlseitz.dev/1-the-great-gitea-migration header: - image: /assets/leon-contreras-YndHL7gQIJE-unsplash.jpg + image: /assets/header/#1-the-great-gitea-migration.jpg attribution: 'Photo by Leon Contreras on Unsplash' --- diff --git a/src/data/BlogPosts/#2-retrofitting-the-privacy-policy.md b/src/data/BlogPosts/#2-retrofitting-the-privacy-policy.md index 5b7812b..6083bdf 100644 --- a/src/data/BlogPosts/#2-retrofitting-the-privacy-policy.md +++ b/src/data/BlogPosts/#2-retrofitting-the-privacy-policy.md @@ -5,7 +5,7 @@ date: 2025-09-02 20:41:21 UTC tags: WebDevelopment,FullStackDevelopment,Nodejs,DevLife canonical_url: https://campfire.dlseitz.dev/2-retrofitting-the-privacy-policy header: - image: /assets/2-privacy-policy-head-img.png + image: /assets/header/#2-retrofitting-the-privacy-policy.png attribution: 'Image generated with Sora. | © 2025 Derek L. Seitz' --- diff --git a/src/data/BlogPosts/#3-data-privacy-things-to-consider.md b/src/data/BlogPosts/#3-data-privacy-things-to-consider.md index d94da39..288b7e6 100644 --- a/src/data/BlogPosts/#3-data-privacy-things-to-consider.md +++ b/src/data/BlogPosts/#3-data-privacy-things-to-consider.md @@ -5,7 +5,7 @@ date: 2025-09-03 03:49:36 UTC tags: dataprivacy,WebDevelopment,Freelancing,PrivacyPolicy canonical_url: https://campfire.dlseitz.dev/3-data-privacy-things-to-consider header: - image: /assets/toa-heftiba-x9I-6yoXrXE-unsplash.jpg + image: /assets/header/#3-data-privacy-things-to-consider.jpg attribution: 'Photo by Toa Heftiba on Unsplash' --- diff --git a/src/data/BlogPosts/#4-refactoring-a-false-sense-of-simplicity.md b/src/data/BlogPosts/#4-refactoring-a-false-sense-of-simplicity.md index 4980dd5..6df1da9 100644 --- a/src/data/BlogPosts/#4-refactoring-a-false-sense-of-simplicity.md +++ b/src/data/BlogPosts/#4-refactoring-a-false-sense-of-simplicity.md @@ -5,7 +5,7 @@ date: 2025-09-12 01:08:54 UTC tags: refactoring,WebDevelopment,FrontendDevelopment,CSS canonical_url: https://campfire.dlseitz.dev/4-refactoring-a-false-sense-of-simplicity header: - image: '/assets/20250911_2016_Coding by Campfire_simple_compose_01k4xqta8sfjyrws9ezcwjpg9x.png' + image: '/assets/header/#4-refactoring-a-false-sense-of-simplicity.png' attribution: 'Image generated with Sora. | © 2025 Derek L. Seitz' --- diff --git a/src/data/BlogPosts/#5-the-power-of-separation-compels-you.md b/src/data/BlogPosts/#5-the-power-of-separation-compels-you.md index 920a275..b31a2ad 100644 --- a/src/data/BlogPosts/#5-the-power-of-separation-compels-you.md +++ b/src/data/BlogPosts/#5-the-power-of-separation-compels-you.md @@ -5,7 +5,7 @@ date: 2025-09-20 21:51:29 UTC tags: WebDevelopment,refactoring,JavaScript,apiintegration canonical_url: https://campfire.dlseitz.dev/5-the-power-of-separation-compels-you header: - image: /assets/5-separation.webp + image: /assets/header/#5-the-power-of-separation-compels-you.webp attribution: 'Image generated with Sora. | © 2025 Derek L. Seitz' contentImagePath: /assets/#5/ --- diff --git a/src/data/blog-post-data.js b/src/data/blog-post-data.js index 74ad2e4..6ab7c33 100644 --- a/src/data/blog-post-data.js +++ b/src/data/blog-post-data.js @@ -66,7 +66,7 @@ export const blogPosts = [ published: true }, { - title: "#5 - The Power of Separation Compels You!", + title: "#5 - The Power of [Separation] Compels You!", slug: "5-the-power-of-separation-compels-you", filename: "#5-the-power-of-separation-compels-you.md", date: "2025-09-20 21:51:29 UTC", diff --git a/src/pages/Dashboard.jsx b/src/pages/Dashboard.jsx index bd67b25..01aef33 100644 --- a/src/pages/Dashboard.jsx +++ b/src/pages/Dashboard.jsx @@ -14,10 +14,10 @@ const Dashboard = React.forwardRef((props, ref) => { }; return ( -

+

Dashboard

-
+

Published Posts

{publishedPosts.length ? (
    @@ -26,8 +26,8 @@ const Dashboard = React.forwardRef((props, ref) => { {post.title} {' '} - {post.date}{' '} - + {post.date}{' '} + ))}
@@ -36,14 +36,14 @@ const Dashboard = React.forwardRef((props, ref) => { )}
-
+

Drafts

{draftPosts.length ? (
    {draftPosts.map(post => (
  • {post.title}{' '} - +
  • ))}
diff --git a/src/pages/Login.jsx b/src/pages/Login.jsx index b922d45..c0f84cc 100644 --- a/src/pages/Login.jsx +++ b/src/pages/Login.jsx @@ -1,6 +1,6 @@ import React from 'react'; import LoginComponent from '../components/LoginComponent'; -import Logo from '../assets/images/campfire_logs_square_logo.png'; +import Logo from '../assets/images/campfire_logs_square_logo_bg_match.png'; const LoginPage = React.forwardRef(({ onLogin }, ref) => { return (