- Copyright (C) 2024 trafficlunar
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published
- by the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If your software can interact with users remotely through a computer
-network, you should also make sure that it provides a way for users to
-get its source. For example, if your program is a web application, its
-interface could display a "Source" link that leads users to an archive
-of the code. There are many ways you could offer source, and different
-solutions will be better for different programs; see section 13 for the
-specific requirements.
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU AGPL, see
-.
diff --git a/README.md b/README.md
deleted file mode 100644
index 37072a8..0000000
--- a/README.md
+++ /dev/null
@@ -1,39 +0,0 @@
-
-
-
-
-
-
-
- Discover and share Mii residents for your Tomodachi Life island!
-
-
-
-
-
-
-
----
-
-## About
-
-TomodachiShare is a fan-made website that lets you easily discover, upload, and share Mii characters for the game Tomodachi Life.
-
-- 📷 Upload or scan your Mii QR codes
-- ✨ Generates Mii renders for previews
-- 🖼️ Add custom images of your Mii on your island
-- 🌎 Browse and add Miis from other players
-- 🏝️ Build your perfect island by finding the perfect residents
-
-### Development Instructions
-
----
-
-
-
- TomodachiShare branding is not covered by the AGPL-3.0.
- The name and logo may not be used to suggest affiliation with or endorsement by this project.
-
- Tomodachi Life and Mii characters are trademarks of Nintendo. This project is fan-made and not affiliated with Nintendo.
-
-
diff --git a/prisma/migrations/20260405230714_remove_copyright_report_type/migration.sql b/prisma/migrations/20260405230714_remove_copyright_report_type/migration.sql
new file mode 100644
index 0000000..0588f32
--- /dev/null
+++ b/prisma/migrations/20260405230714_remove_copyright_report_type/migration.sql
@@ -0,0 +1,14 @@
+/*
+ Warnings:
+
+ - The values [COPYRIGHT] on the enum `ReportReason` will be removed. If these variants are still used in the database, this will fail.
+
+*/
+-- AlterEnum
+BEGIN;
+CREATE TYPE "ReportReason_new" AS ENUM ('INAPPROPRIATE', 'SPAM', 'BAD_QUALITY', 'OTHER');
+ALTER TABLE "reports" ALTER COLUMN "reason" TYPE "ReportReason_new" USING ("reason"::text::"ReportReason_new");
+ALTER TYPE "ReportReason" RENAME TO "ReportReason_old";
+ALTER TYPE "ReportReason_new" RENAME TO "ReportReason";
+DROP TYPE "public"."ReportReason_old";
+COMMIT;
diff --git a/prisma/schema.prisma b/prisma/schema.prisma
index a8dd165..160b7fe 100644
--- a/prisma/schema.prisma
+++ b/prisma/schema.prisma
@@ -193,7 +193,6 @@ enum ReportType {
enum ReportReason {
INAPPROPRIATE
SPAM
- COPYRIGHT
BAD_QUALITY
OTHER
}
diff --git a/src/app/api/report/route.ts b/src/app/api/report/route.ts
index 4973e12..d495815 100644
--- a/src/app/api/report/route.ts
+++ b/src/app/api/report/route.ts
@@ -10,8 +10,8 @@ import { RateLimit } from "@/lib/rate-limit";
const reportSchema = z.object({
id: z.coerce.number({ error: "ID must be a number" }).int({ error: "ID must be an integer" }).positive({ error: "ID must be valid" }),
type: z.enum(["mii", "user"], { error: "Type must be either 'mii' or 'user'" }),
- reason: z.enum(["inappropriate", "spam", "copyright", "bad_quality", "other"], {
- message: "Reason must be either 'inappropriate', 'spam', 'copyright', 'bad_quality' or 'other'",
+ reason: z.enum(["inappropriate", "spam", "bad_quality", "other"], {
+ message: "Reason must be either 'inappropriate', 'spam', 'bad_quality' or 'other'",
}),
notes: z.string().trim().max(256).optional(),
});
diff --git a/src/components/footer.tsx b/src/components/footer.tsx
index efd06c8..03245eb 100644
--- a/src/components/footer.tsx
+++ b/src/components/footer.tsx
@@ -41,19 +41,6 @@ export default function Footer() {
•
-
-
- Source Code
-
-
-
- •
-
-
Made by trafficlunar
diff --git a/src/components/report/reason-selector.tsx b/src/components/report/reason-selector.tsx
index 5121ab3..c3513d1 100644
--- a/src/components/report/reason-selector.tsx
+++ b/src/components/report/reason-selector.tsx
@@ -12,7 +12,6 @@ interface Props {
const reasonMap: Record = {
INAPPROPRIATE: "Inappropriate content",
SPAM: "Spam",
- COPYRIGHT: "Copyrighted content",
BAD_QUALITY: "Bad quality",
OTHER: "Other...",
};
diff --git a/src/lib/settings.ts b/src/lib/settings.ts
index ae51103..85e9df3 100644
--- a/src/lib/settings.ts
+++ b/src/lib/settings.ts
@@ -1,4 +1,4 @@
export const settings = {
canSubmit: true,
- queueEnabled: false,
+ queueEnabled: true,
};
diff --git a/src/lib/switch.ts b/src/lib/switch.ts
index e8cc21c..972b29d 100644
--- a/src/lib/switch.ts
+++ b/src/lib/switch.ts
@@ -7,7 +7,7 @@ export function minifyInstructions(instructions: Partial)
for (const key in object) {
const value = object[key as keyof SwitchMiiInstructions];
- if (value === null || value === undefined || (DEFAULT_ZERO_FIELDS.has(key) && value === 0)) {
+ if (value === null || value === undefined || (typeof value === "boolean" && value === false) || (DEFAULT_ZERO_FIELDS.has(key) && value === 0)) {
delete object[key as keyof SwitchMiiInstructions];
continue;
}