Skip to content

Commit

Permalink
Merge pull request #350 from coldsurfers/release/blog-client-v2.0.1
Browse files Browse the repository at this point in the history
release(blog-client): 🎨 v2.0.1
  • Loading branch information
yungblud authored Feb 12, 2025
2 parents 790099f + 385fc42 commit eb99998
Show file tree
Hide file tree
Showing 31 changed files with 228 additions and 508 deletions.
18 changes: 9 additions & 9 deletions apps/blog-client/app/[locale]/[series]/[slug]/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,22 +23,22 @@ export async function generateStaticParams() {
return result.map((value) => ({ slug: value.slug, locale: value.lang }))
}

export async function generateMetadata({
params,
}: {
params: { series: SeriesCategory; slug: string; locale: AppLocale }
export async function generateMetadata(props: {
params: Promise<{ series: SeriesCategory; slug: string; locale: AppLocale }>
}) {
const params = await props.params
const page = await querySeriesItem({ slug: params.slug, lang: params.locale, seriesCategory: params.series })
return generateLogDetailMetadata(page, { locale: params.locale, slug: params.slug, seriesCategory: params.series })
}

export default async function SeriesSlugPageLayout({
params,
children,
}: {
export default async function SeriesSlugPageLayout(props: {
children: ReactNode
params: { series: SeriesCategory; slug: string; locale: AppLocale }
params: Promise<{ series: SeriesCategory; slug: string; locale: AppLocale }>
}) {
const params = await props.params

const { children } = props

setRequestLocale(params.locale)
const queryClient = getQueryClient()
await queryClient.prefetchQuery(
Expand Down
17 changes: 10 additions & 7 deletions apps/blog-client/app/[locale]/[series]/[slug]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
'use client'
import { use } from 'react'

import { LogDetailRenderer } from '@/features'
import { AppLocale } from '@/lib/types/i18n'
import { SeriesCategory } from '@/lib/types/series'
import { PageProps } from 'i18n/types'

export default function SeriesSlugPage({
params,
}: PageProps<{
slug: string
series: SeriesCategory
}>) {
export default function SeriesSlugPage(props: {
params: Promise<{
slug: string
series: SeriesCategory
locale: AppLocale
}>
}) {
const params = use(props.params)
return <LogDetailRenderer slug={params.slug} locale={params.locale} seriesCategory={params.series} />
}
18 changes: 11 additions & 7 deletions apps/blog-client/app/[locale]/[series]/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,10 @@ export function generateStaticParams() {
return routing.locales.map((locale) => ({ locale }))
}

export function generateMetadata({ params }: { params: { series: SeriesCategory; locale: AppLocale } }): Metadata {
export async function generateMetadata(props: {
params: Promise<{ series: SeriesCategory; locale: AppLocale }>
}): Promise<Metadata> {
const params = await props.params
const metaTitle = match(params.series)
.with('sound', () => 'COLDSURF Blog: Article about music')
.with('tech', () => 'COLDSURF Blog: Article about Software Development')
Expand All @@ -39,16 +42,17 @@ export function generateMetadata({ params }: { params: { series: SeriesCategory;
})
}

export default async function SeriesPageLayout({
params,
children,
}: {
export default async function SeriesPageLayout(props: {
children: ReactNode
params: {
params: Promise<{
locale: AppLocale
series: SeriesCategory
}
}>
}) {
const params = await props.params

const { children } = props

setRequestLocale(params.locale)

const seriesValidation = SeriesCategorySchema.safeParse(params.series)
Expand Down
10 changes: 4 additions & 6 deletions apps/blog-client/app/[locale]/[series]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
'use client'
import { use } from 'react'

import { PAGINATION_PER_PAGE } from '@/lib/pagination.constants'
import { AppLocale } from '@/lib/types/i18n'
import { SeriesCategory } from '@/lib/types/series'
import { convertSeriesCategoryToTitle } from '@/lib/utils'
import { PageLayout, Pagination, PostPaginationList } from '@/ui'
import { PageProps } from 'i18n/types'
import { useSearchParams } from 'next/navigation'
import { SeriesListQuery } from './(component)'

export default function SeriesPage({
params,
}: PageProps<{
series: SeriesCategory
}>) {
export default function SeriesPage(props: { params: Promise<{ series: SeriesCategory; locale: AppLocale }> }) {
const params = use(props.params)
const searchParams = useSearchParams()
const pageParam = searchParams.get('page')
const page = pageParam ? Number(pageParam) : 1
Expand Down
5 changes: 3 additions & 2 deletions apps/blog-client/app/[locale]/about/[user]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { AppLocale } from '@/lib/types/i18n'
import { redirect, routing } from 'i18n/routing'
import { PageProps } from 'i18n/types'
import { setRequestLocale } from 'next-intl/server'
import { NotionAPI } from 'notion-client'
import { PageRenderer } from './(ui)'
Expand All @@ -22,7 +22,8 @@ export async function generateMetadata() {
}
}

const AboutDetailPage = async ({ params }: PageProps<{ user: string }>) => {
const AboutDetailPage = async (props: { params: Promise<{ user: string; locale: AppLocale }> }) => {
const params = await props.params
const { locale, user } = params
if (user !== 'paul') {
return redirect({ href: '/404', locale: locale })
Expand Down
8 changes: 5 additions & 3 deletions apps/blog-client/app/[locale]/about/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ import { getQueryClient } from '@/lib/react-query/react-query.utils'
import { PageLayout } from '@/ui'
import { dehydrate, HydrationBoundary } from '@tanstack/react-query'
import { routing } from 'i18n/routing'
import { PageProps } from 'i18n/types'
import { setRequestLocale } from 'next-intl/server'

import { NotionRenderer } from '@/features/notion/notion-renderer'
import { SITE_URL } from '@/lib/constants'
import { metadataInstance } from '@/lib/metadata'
import { AppLocale } from '@/lib/types/i18n'
import { Metadata } from 'next/types'
import { NotionAPI } from 'notion-client'
import { StyledAboutPageInnerLayout, StyledWritersPageHeader } from './page.styled'
Expand All @@ -22,7 +22,8 @@ export function generateStaticParams() {
return routing.locales.map((locale) => ({ locale }))
}

export function generateMetadata({ params }: PageProps) {
export async function generateMetadata(props: { params: Promise<{ locale: AppLocale }> }) {
const params = await props.params
const metaTitle = 'COLDSURF Blog: Writers & Members'
const metaDescription = 'Introduce our writers and members'

Expand All @@ -44,7 +45,8 @@ export function generateMetadata({ params }: PageProps) {
return meta
}

export default async function WritersPage({ params }: PageProps) {
export default async function WritersPage(props: { params: Promise<{ locale: AppLocale }> }) {
const params = await props.params
const { locale } = params
const recordMap = await notion.getPage(
locale === 'en' ? 'about-2025-En-18d2bbac578280bc9271f7d4ab58b33a' : 'about-2025-18d2bbac5782804d8c88dc076b26c359',
Expand Down
6 changes: 5 additions & 1 deletion apps/blog-client/app/[locale]/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,11 @@ export function generateStaticParams() {
return routing.locales.map((locale) => ({ locale }))
}

export default async function RootLayout({ children, params }: { params: { locale: AppLocale }; children: ReactNode }) {
export default async function RootLayout(props: { params: Promise<{ locale: AppLocale }>; children: ReactNode }) {
const params = await props.params

const { children } = props

const { locale } = params
// Ensure that the incoming `locale` is valid
if (!routing.locales.includes(locale as never)) {
Expand Down
6 changes: 4 additions & 2 deletions apps/blog-client/app/[locale]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
'use client'
import { use } from 'react'

import { PAGINATION_PER_PAGE } from '@/lib/pagination.constants'
import { AppLocale } from '@/lib/types/i18n'
import { PageLayout, Pagination, PostPaginationList } from '@/ui'
import { PageProps } from 'i18n/types'
import { useSearchParams } from 'next/navigation'
import { SeriesListAllQuery } from './(components)'

export default function RootPage({ params }: PageProps) {
export default function RootPage(props: { params: Promise<{ locale: AppLocale }> }) {
const params = use(props.params)
const searchParams = useSearchParams()
const pageParam = searchParams.get('page')
const page = pageParam ? Number(pageParam) : 1
Expand Down
14 changes: 8 additions & 6 deletions apps/blog-client/app/[locale]/tags/[tag]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { queryTags } from '@/features'
import { queryKeyFactory } from '@/lib/react-query/react-query.key-factory'
import { getQueryClient } from '@/lib/react-query/react-query.utils'
import { AppLocale } from '@/lib/types/i18n'
import { dehydrate, HydrationBoundary } from '@tanstack/react-query'
import { routing } from 'i18n/routing'
import { PageProps } from 'i18n/types'
import { setRequestLocale } from 'next-intl/server'
import { TagPostList } from './(ui)'

Expand All @@ -23,11 +23,13 @@ export async function generateStaticParams() {
return params
}

export default async function TagDetailPage({
params,
}: PageProps<{
tag: string
}>) {
export default async function TagDetailPage(props: {
params: Promise<{
tag: string
locale: AppLocale
}>
}) {
const params = await props.params
const { tag, locale } = params
const decodedTag = decodeURIComponent(tag)
setRequestLocale(locale)
Expand Down
5 changes: 3 additions & 2 deletions apps/blog-client/app/[locale]/tags/page.tsx
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
import { queryKeyFactory } from '@/lib/react-query/react-query.key-factory'
import { getQueryClient } from '@/lib/react-query/react-query.utils'
import { AppLocale } from '@/lib/types/i18n'
import { dehydrate, HydrationBoundary } from '@tanstack/react-query'
import { routing } from 'i18n/routing'
import { PageProps } from 'i18n/types'
import { setRequestLocale } from 'next-intl/server'
import { TagsPageClient } from './page.client'

export function generateStaticParams() {
return routing.locales.map((locale) => ({ locale }))
}

export default async function TagsPage({ params }: PageProps) {
export default async function TagsPage(props: { params: Promise<{ locale: AppLocale }> }) {
const params = await props.params
const { locale } = params
setRequestLocale(locale)
const queryClient = getQueryClient()
Expand Down
1 change: 0 additions & 1 deletion apps/blog-client/features/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
export * from './color-scheme'
export * from './logs'
export * from './notion'
export * from './pdf'
export * from './spotify'
Expand Down
2 changes: 0 additions & 2 deletions apps/blog-client/features/logs/index.ts

This file was deleted.

3 changes: 0 additions & 3 deletions apps/blog-client/features/logs/logs.constants.ts

This file was deleted.

139 changes: 0 additions & 139 deletions apps/blog-client/features/logs/logs.query.ts

This file was deleted.

Loading

0 comments on commit eb99998

Please sign in to comment.