diff --git a/public/raw/changelog.md b/public/raw/changelog.md index 3b9e852..832ae7c 100644 --- a/public/raw/changelog.md +++ b/public/raw/changelog.md @@ -11,20 +11,28 @@ All notable changes to this project. Released December 23, 2025 -**Mobile menu improvements** +**Mobile menu redesign with sidebar integration** -- Mobile menu now includes search and theme toggle - - Header controls moved from top navigation to mobile menu drawer - - Easier access to search and theme switching on mobile devices - - Desktop navigation unchanged +- Mobile navigation controls moved to left side + - Hamburger menu, search, and theme toggle now positioned on the left + - Order: hamburger first, then search, then theme toggle + - Consistent left-aligned navigation on mobile devices - Sidebar table of contents in mobile menu - - When a page or post uses sidebar layout, the TOC appears in the mobile menu - - Page sidebar hidden on mobile to avoid duplication - - All sidebar features work: collapsible sections, active heading highlighting, smooth scroll navigation - - Sidebar remains visible on tablet for better UX + - When a page or blog post has sidebar layout, the TOC appears in the mobile menu + - Desktop sidebar hidden on mobile (max-width: 768px) since accessible via hamburger + - Back button and CopyPageDropdown remain visible above main content on mobile + - Sidebar headings displayed with same collapsible tree structure as desktop -Updated files: `src/context/SidebarContext.tsx`, `src/components/MobileMenu.tsx`, `src/components/Layout.tsx`, `src/pages/Post.tsx`, `src/pages/Home.tsx`, `src/pages/Blog.tsx`, `src/pages/Stats.tsx`, `src/pages/Write.tsx`, `src/styles/global.css` +- Typography standardization + - All mobile menu elements use CSS variables for font sizes + - Font-family standardized using `inherit` to match body font + - Mobile menu TOC links use consistent sizing with desktop sidebar + - Added CSS variables: `--font-size-mobile-toc-title` and `--font-size-mobile-toc-link` + +New files: `src/context/SidebarContext.tsx` + +Updated files: `src/components/Layout.tsx`, `src/components/MobileMenu.tsx`, `src/pages/Post.tsx`, `src/styles/global.css` ## v1.24.1 diff --git a/src/config/siteConfig.ts b/src/config/siteConfig.ts index 4cd2b96..2d95311 100644 --- a/src/config/siteConfig.ts +++ b/src/config/siteConfig.ts @@ -20,6 +20,14 @@ export interface VisitorMapConfig { title?: string; // Optional title above the map } +// Inner page logo configuration +// Shows the site logo in the header on blog page, individual posts, and pages +// Does not affect the homepage logo (which is controlled separately) +export interface InnerPageLogoConfig { + enabled: boolean; // Enable/disable logo on inner pages + size: number; // Logo size in pixels (applied as height) +} + // Blog page configuration // Controls whether posts appear on homepage, dedicated blog page, or both export interface BlogPageConfig { @@ -61,6 +69,9 @@ export interface SiteConfig { // Visitor map configuration (stats page) visitorMap: VisitorMapConfig; + // Inner page logo configuration (blog page, posts, pages) + innerPageLogo: InnerPageLogoConfig; + // Blog page configuration blogPage: BlogPageConfig; @@ -144,6 +155,14 @@ export const siteConfig: SiteConfig = { title: "Live Visitors", // Optional title above the map }, + // Inner page logo configuration + // Shows logo on blog page, individual posts, and static pages + // Desktop: top left corner, Mobile: top right corner (small) + innerPageLogo: { + enabled: true, // Set to false to hide logo on inner pages + size: 28, // Logo height in pixels (keeps aspect ratio) + }, + // Blog page configuration // Set enabled to true to create a dedicated /blog page blogPage: { diff --git a/src/pages/Blog.tsx b/src/pages/Blog.tsx index dcd378e..1b9f2f5 100644 --- a/src/pages/Blog.tsx +++ b/src/pages/Blog.tsx @@ -1,5 +1,5 @@ import { useState, useEffect } from "react"; -import { useNavigate } from "react-router-dom"; +import { Link, useNavigate } from "react-router-dom"; import { useQuery } from "convex/react"; import { api } from "../../convex/_generated/api"; import PostList from "../components/PostList"; @@ -43,12 +43,23 @@ export default function Blog() { return (