Reset, clean up and bump deps
This commit is contained in:
@@ -19,13 +19,6 @@ const nextConfig = {
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
typescript: {
|
|
||||||
// !! WARN !!
|
|
||||||
// Dangerously allow production builds to successfully complete even if
|
|
||||||
// your project has type errors.
|
|
||||||
// !! WARN !!
|
|
||||||
ignoreBuildErrors: true,
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const millionConfig = {
|
const millionConfig = {
|
||||||
@@ -37,5 +30,4 @@ const withMDX = createMDX({
|
|||||||
// Add markdown plugins here, as desired
|
// Add markdown plugins here, as desired
|
||||||
});
|
});
|
||||||
|
|
||||||
// export default withMDX(million.next(nextConfig, millionConfig));
|
export default withMDX(million.next(nextConfig, millionConfig));
|
||||||
export default withMDX(nextConfig);
|
|
||||||
|
|||||||
1908
package-lock.json
generated
1908
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
28
package.json
28
package.json
@@ -11,12 +11,12 @@
|
|||||||
"lint:fix": "next lint --fix"
|
"lint:fix": "next lint --fix"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.691.0",
|
"@aws-sdk/client-s3": "^3.693.0",
|
||||||
"@heroicons/react": "^2.1.5",
|
"@heroicons/react": "^2.1.5",
|
||||||
"@mdx-js/loader": "^3.0.1",
|
"@mdx-js/loader": "^3.0.1",
|
||||||
"@mdx-js/react": "^3.0.1",
|
"@mdx-js/react": "^3.0.1",
|
||||||
"@next/bundle-analyzer": "^14.2.18",
|
"@next/bundle-analyzer": "^15.0.3",
|
||||||
"@next/mdx": "^14.2.18",
|
"@next/mdx": "^15.0.3",
|
||||||
"@tailwindcss/typography": "^0.5.15",
|
"@tailwindcss/typography": "^0.5.15",
|
||||||
"@types/better-sqlite3": "^7.6.11",
|
"@types/better-sqlite3": "^7.6.11",
|
||||||
"@types/mdx": "^2.0.13",
|
"@types/mdx": "^2.0.13",
|
||||||
@@ -25,29 +25,29 @@
|
|||||||
"@types/react-dom": "^18.3.0",
|
"@types/react-dom": "^18.3.0",
|
||||||
"@typescript-eslint/eslint-plugin": "^8.14.0",
|
"@typescript-eslint/eslint-plugin": "^8.14.0",
|
||||||
"autoprefixer": "^10.4.20",
|
"autoprefixer": "^10.4.20",
|
||||||
"babel-plugin-react-compiler": "^0.0.0-experimental-6067d4e-20240924",
|
"babel-plugin-react-compiler": "^19.0.0-beta-a7bf2bd-20241110",
|
||||||
"better-sqlite3": "^11.5.0",
|
"better-sqlite3": "^11.5.0",
|
||||||
"drizzle-kit": "^0.28.1",
|
"drizzle-kit": "^0.28.1",
|
||||||
"drizzle-orm": "^0.36.1",
|
"drizzle-orm": "^0.36.3",
|
||||||
"eslint": "^9.11.1",
|
"eslint": "^9.15.0",
|
||||||
"eslint-config-next": "^15.0.0-rc.0",
|
"eslint-config-next": "^15.0.4-canary.15",
|
||||||
"exif-reader": "^2.0.1",
|
"exif-reader": "^2.0.1",
|
||||||
"framer-motion": "^11.11.15",
|
"framer-motion": "^11.11.17",
|
||||||
"glob": "^11.0.0",
|
"glob": "^11.0.0",
|
||||||
"million": "^3.1.11",
|
"million": "^3.1.11",
|
||||||
"next": "15.0.4-canary.2",
|
"next": "15.0.4-canary.15",
|
||||||
"next-auth": "beta",
|
"next-auth": "5.0.0-beta.25",
|
||||||
"postcss": "^8.4.49",
|
"postcss": "^8.4.49",
|
||||||
"radash": "^12.1.0",
|
"radash": "^12.1.0",
|
||||||
"react": "19.0.0-rc-5c56b873-20241107",
|
"react": "19.0.0-rc-e1ef8c95-20241115",
|
||||||
"react-dom": "19.0.0-rc-5c56b873-20241107",
|
"react-dom": "19.0.0-rc-e1ef8c95-20241115",
|
||||||
"react-zoom-pan-pinch": "^3.6.1",
|
"react-zoom-pan-pinch": "^3.6.1",
|
||||||
"reflect-metadata": "^0.2.2",
|
"reflect-metadata": "^0.2.2",
|
||||||
"server-only": "^0.0.1",
|
"server-only": "^0.0.1",
|
||||||
"sharp": "^0.33.5",
|
"sharp": "^0.33.5",
|
||||||
"tailwind-scrollbar": "^3.1.0",
|
"tailwind-scrollbar": "^3.1.0",
|
||||||
"tailwindcss": "^3.4.13",
|
"tailwindcss": "^3.4.15",
|
||||||
"typescript": "^5.6.2",
|
"typescript": "^5.6.2",
|
||||||
"yet-another-react-lightbox": "^3.21.6"
|
"yet-another-react-lightbox": "^3.21.7"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import Image from "next/image";
|
import Image from "next/image";
|
||||||
import Lightbox from "@/components/lightbox";
|
import FilteredLightbox from "@/components/lightbox";
|
||||||
import { type GetPhotos } from "@/app/api/photos/route";
|
import { type GetPhotos } from "@/app/api/photos/route";
|
||||||
|
|
||||||
async function getImageData(): Promise<GetPhotos> {
|
async function getImageData(): Promise<GetPhotos> {
|
||||||
@@ -12,7 +12,7 @@ export default async function Photos(): Promise<React.JSX.Element> {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="mx-auto">
|
<div className="mx-auto">
|
||||||
<Lightbox imageData={imageData.images}>
|
<FilteredLightbox imageData={imageData.images}>
|
||||||
{imageData.images.map((image) => (
|
{imageData.images.map((image) => (
|
||||||
<Image
|
<Image
|
||||||
key={image.src}
|
key={image.src}
|
||||||
@@ -27,7 +27,7 @@ export default async function Photos(): Promise<React.JSX.Element> {
|
|||||||
placeholder="blur"
|
placeholder="blur"
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
</Lightbox>
|
</FilteredLightbox>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,11 +16,8 @@ export async function generateStaticParams(): Promise<{slug: string[]}[]> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export default async function Post({params}: {params: Promise<{ slug: string[] }>}): Promise<React.JSX.Element> {
|
export default async function Post({params}: {params: Promise<{ slug: string[] }>}): Promise<React.JSX.Element> {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
||||||
const mdxFile = await import(`../../../../markdown/posts/[...slug]/${(await params).slug.join('/')}.mdx`);
|
const mdxFile = await import(`../../../../markdown/posts/[...slug]/${(await params).slug.join('/')}.mdx`);
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-return
|
|
||||||
const Post = dynamic(() => mdxFile);
|
const Post = dynamic(() => mdxFile);
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
||||||
return (
|
return (
|
||||||
<Post/>
|
<Post/>
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -22,12 +22,9 @@ async function loadPostDetails(): Promise<postDetails[]> {
|
|||||||
|
|
||||||
const loadPostData = posts.map(async (post) => {
|
const loadPostData = posts.map(async (post) => {
|
||||||
const slug = [post.split('/').at(-1)!.slice(0, -4)];
|
const slug = [post.split('/').at(-1)!.slice(0, -4)];
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
||||||
const mdxFile = await import(`../../../../src/markdown/posts/[...slug]/${slug.join('/')}.mdx`);
|
const mdxFile = await import(`../../../../src/markdown/posts/[...slug]/${slug.join('/')}.mdx`);
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
||||||
return {
|
return {
|
||||||
link: getCurrentUrl() + '/posts/' + slug.join('/'),
|
link: getCurrentUrl() + '/posts/' + slug.join('/'),
|
||||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
|
|
||||||
metadata: mdxFile.metadata,
|
metadata: mdxFile.metadata,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ function NextJsImage({ slide, offset, rect, unoptimized = false }: {slide: Image
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function MyLightbox({imageData, children}: {imageData: ImageData[], children: React.JSX.Element[]}): React.JSX.Element {
|
export function Lightbox({imageData, children}: {imageData: ImageData[], children: React.JSX.Element[]}): React.JSX.Element {
|
||||||
const [active, setActive] = useState<number | null>(null);
|
const [active, setActive] = useState<number | null>(null);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -102,7 +102,7 @@ interface UsernameFormElement extends HTMLFormElement {
|
|||||||
readonly elements: FormElements
|
readonly elements: FormElements
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Test(props: {imageData: ImageData[], children: React.JSX.Element[]}): React.JSX.Element {
|
export default function FilteredLightbox(props: {imageData: ImageData[], children: React.JSX.Element[]}): React.JSX.Element {
|
||||||
const [imageData, setImageData] = useState(props.imageData);
|
const [imageData, setImageData] = useState(props.imageData);
|
||||||
|
|
||||||
function handleSubmit(event: React.FormEvent<UsernameFormElement>): void {
|
function handleSubmit(event: React.FormEvent<UsernameFormElement>): void {
|
||||||
@@ -124,9 +124,9 @@ export default function Test(props: {imageData: ImageData[], children: React.JSX
|
|||||||
</div>
|
</div>
|
||||||
<button type="submit">Submit</button>
|
<button type="submit">Submit</button>
|
||||||
</form>
|
</form>
|
||||||
<MyLightbox imageData={imageData}>
|
<Lightbox imageData={imageData}>
|
||||||
{...children}
|
{...children}
|
||||||
</MyLightbox>
|
</Lightbox>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user