feat(blog): add file-based blog with dynamic slugs, MDX content and layout shell
- Introduced blog routing using Next.js App Router - Implemented dynamic [slug] pages for blog posts - Added MDX-based content loading via lib/posts - Integrated shared TopBar layout with navigation - Established clear content, lib and component separation
This commit is contained in:
8
apps/public-web/node_modules/next/dist/shared/lib/deep-readonly.d.ts
generated
vendored
Normal file
8
apps/public-web/node_modules/next/dist/shared/lib/deep-readonly.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
/**
|
||||
* A type that represents a deeply readonly object. This is similar to
|
||||
* TypeScript's `Readonly` type, but it recursively applies the `readonly`
|
||||
* modifier to all properties of an object and all elements of arrays.
|
||||
*/
|
||||
export type DeepReadonly<T> = T extends (infer R)[] ? ReadonlyArray<DeepReadonly<R>> : T extends object ? {
|
||||
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
||||
} : T;
|
||||
Reference in New Issue
Block a user