1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2025-05-29 22:37:44 +02:00

feat: rewrite blog to Next.js v13 app directory

Improvement: Support light theme in code block
This commit is contained in:
2023-08-01 17:07:19 +02:00
parent caa6a90418
commit 4b2e7bae90
9 changed files with 297 additions and 65 deletions

View File

@ -1,5 +1,6 @@
'use client'
import { usePathname } from 'next/navigation'
import { useCallback, useEffect, useState, useRef } from 'react'
import classNames from 'clsx'
@ -16,6 +17,7 @@ export interface LocalesProps {
export const Locales = (props: LocalesProps): JSX.Element => {
const { currentLocale, cookiesStore } = props
const pathname = usePathname()
const [hiddenMenu, setHiddenMenu] = useState(true)
const languageClickRef = useRef<HTMLDivElement | null>(null)
@ -48,6 +50,10 @@ export const Locales = (props: LocalesProps): JSX.Element => {
setLocale(locale)
}
if (pathname.startsWith('/blog')) {
return <></>
}
return (
<div className='flex cursor-pointer flex-col items-center justify-center'>
<div

View File

@ -7,13 +7,7 @@ import { getI18n } from '@/i18n/i18n.server'
import { Locales } from './Locales'
import { SwitchTheme } from './SwitchTheme'
export interface HeaderProps {
showLocale?: boolean
}
export const Header: React.FC<HeaderProps> = (props) => {
const { showLocale = false } = props
export const Header = (): JSX.Element => {
const cookiesStore = cookies()
const i18n = getI18n()
@ -44,12 +38,10 @@ export const Header: React.FC<HeaderProps> = (props) => {
Blog
</Link>
</div>
{showLocale ? (
<Locales
currentLocale={i18n.locale}
cookiesStore={cookiesStore.toString()}
/>
) : null}
<Locales
currentLocale={i18n.locale}
cookiesStore={cookiesStore.toString()}
/>
<SwitchTheme cookiesStore={cookiesStore.toString()} />
</div>
</header>