fix: build errors

This commit is contained in:
trafficlunar 2026-04-17 14:35:44 +01:00
parent 1d11cf3f99
commit 8ef2b18424
11 changed files with 28 additions and 64 deletions

View file

@ -2,9 +2,6 @@ import type { NextConfig } from "next";
const nextConfig: NextConfig = {
output: "standalone",
images: {
unoptimized: true,
},
async headers() {
return [
{

View file

@ -36,7 +36,9 @@
"sharp": "^0.34.5",
"sjcl-with-all": "1.0.8",
"swr": "^2.4.1",
"zod": "^4.3.6"
"zod": "^4.3.6",
"@tomodachi-share/shared": "workspace:*"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.5",
@ -53,8 +55,7 @@
"prisma": "^6.19.2",
"schema-dts": "^2.0.0",
"tailwindcss": "^4.2.2",
"typescript": "^6.0.2",
"@tomodachi-share/shared": "workspace:*"
"typescript": "^6.0.2"
},
"exports": {
".": "./src/types.d.ts"

View file

@ -1,50 +0,0 @@
import { Metadata } from "next";
import { redirect } from "next/navigation";
import { auth } from "@/lib/auth";
import { prisma } from "@/lib/prisma";
import EditForm from "@/components/submit-form/edit-form";
interface Props {
params: Promise<{ id: string }>;
}
export async function generateMetadata({ params }: Props): Promise<Metadata> {
const { id } = await params;
const mii = await prisma.mii.findUnique({
where: {
id: Number(id),
},
});
return {
title: `${mii?.name} - TomodachiShare`,
description: `Edit the name, tags, and images of '${mii?.name}'`,
robots: {
index: false,
follow: false,
},
};
}
export default async function MiiPage({ params }: Props) {
const { id } = await params;
const session = await auth();
const mii = await prisma.mii.findUnique({
where: {
id: Number(id),
},
include: {
_count: {
select: { likedBy: true }, // Get total like count
},
},
});
// Check ownership
if (!mii || (Number(session?.user?.id) !== mii.userId && Number(session?.user?.id) !== Number(process.env.NEXT_PUBLIC_ADMIN_USER_ID))) redirect("/404");
return <EditForm mii={mii} likes={mii._count.likedBy} />;
}

View file

@ -1,3 +1,5 @@
"use client";
import { useState } from "react";
import ReasonSelector from "./reason-selector";

View file

@ -1,3 +1,5 @@
"use client";
import { Icon } from "@iconify/react";
import { ReportReason } from "@prisma/client";
import { useSelect } from "downshift";

View file

@ -1,9 +1,11 @@
"use client";
import { useState } from "react";
import ReasonSelector from "./reason-selector";
import SubmitButton from "../submit-button";
import { ReportReason } from "@prisma/client";
import { User } from "next-auth";
import { ReportReason, User } from "@prisma/client";
import Image from "next/image";
interface Props {
user: User;
@ -39,7 +41,13 @@ export default function ReportUserForm({ user }: Props) {
<hr className="border-zinc-300" />
<div className="bg-orange-100 rounded-xl border-2 border-orange-400 flex p-4 gap-4">
<image src={user.image ?? "/guest.png"} width={96} height={96} className="aspect-square rounded-full border-2 border-orange-400" />
<Image
src={user.image ?? "/guest.png"}
alt="profile picture"
width={96}
height={96}
className="aspect-square rounded-full border-2 border-orange-400"
/>
<p className="text-xl font-bold overflow-hidden text-ellipsis">{user.name}</p>
</div>

View file

@ -1,3 +1,5 @@
"use client";
import { useState } from "react";
import { Icon } from "@iconify/react";