diff --git a/package.json b/package.json index 769a980..d8bdfcb 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "@unocss/postcss": "^0.61.5", "@unocss/transformer-directives": "^0.61.5", "@unocss/webpack": "^0.61.5", + "discord.js": "^14.15.3", "inngest": "^3.21.2", "input-otp": "^1.2.4", "json-beautify": "^1.1.1", diff --git a/src/app/legal/external-content-agreement/page.tsx b/src/app/legal/external-content-agreement/page.tsx index 231d7e9..a5a395e 100644 --- a/src/app/legal/external-content-agreement/page.tsx +++ b/src/app/legal/external-content-agreement/page.tsx @@ -1,7 +1,9 @@ +import ClientFadeIn from "@/components/ClientFadeIn"; + export default function ECA() { return (
-
+
External Content Agreement (ECA)
By making external content available for anyone to see, there needs to @@ -16,62 +18,96 @@ export default function ECA() { uploaded onto the platform are.

- Source Code + +
+ Source Code +
+ The source code for MHSF is defined by the{" "} + + MIT License + + . You are free to use MHSF for commercial use, and you may modify + the software however you'd like. Taking copies of the software (aka + "forking") is also freely allowed. +
+
+

- The source code for MHSF is defined by the{" "} - - MIT License - - . You are free to use MHSF for commercial use, and you may modify the - software however you'd like. Taking copies of the software (aka - "forking") is also freely allowed. + +
+ What your limits are +
+ When creating content, if its a matter of making a profile picture, + or editing the description for a server, (and more), you must follow + the underlying agreements below. +
+ For making banners & descriptions, you must follow{" "} + + Minehuts Terms of Service + {" "} + + as all content made is associated to Minehut (as the server is + mostly on a community for Minehut). + {" "} +
+ For making Discord server embeds, you must follow{" "} + + Discords Terms of Service + {" "} + as all content made is associated to Discord.
+ + For all other content, they must follow the following:
+
+ - No inappropriate/adult images
+ - No swear words of any kind or slurs
- Endorsing unethical + client modifications (aka cheating or hacking) +
+
+

+ +
+ When you agree to the ECA +
+ When you add customization to your server, or add a profile picture + (linking an account is included), you must follow the ECA. +
+
+

- What your limits are + +
+ When linking an account +
+ When linking an account, you must follow the privacy policy and + terms of service to the associated service that you linked your MHSF + account to. Additionally, if you link an external account{" "} + after account creation, everything said before is still true. +
+
+

- When creating content, if its a matter of making a profile picture, or - editing the description for a server, (and more), you must follow the - underlying agreements below. + +
+ Violations +
+ Violations from above have 1 warning. Your first interaction is a + warning by removing the content from MHSF, and your 2nd is + banning/deleting your account. (some violations are an instant + delete) +
+

- For making banners & descriptions, you must follow{" "} - - Minehuts Terms of Service - {" "} - - as all content made is associated to Minehut (as the server is mostly - on a community for Minehut). - {" "} -
- For making Discord server embeds, you must follow{" "} - Discords Terms of Service{" "} - as all content made is associated to Discord.
- - For all other content, they must follow the following:
-
- - No inappropriate/adult images
- - No swear words of any kind or slurs
- Endorsing unethical client - modifications (aka cheating or hacking) -
-
- When you agree to the ECA -
- When you add customization to your server, or add a profile picture - (linking an account is included), you must follow the ECA. -
-
- When linking an account -
- When linking an account, you must follow the privacy policy and terms of - service to the associated service that you linked your MHSF account to. - Additionally, if you link an external account after account - creation, everything said before is still true. -
-
- Violations -
- Violations from above have 1 warning. Your first interaction is a - warning by removing the content from MHSF, and your 2nd is - banning/deleting your account. + +
+ Reporting +
+ If you personally see a violation of the ECA, you can report it by + clicking the customization tab on a server, and hitting the Report + button (it doesn't appear when the server was never owned). If you + misuse this feature, you may get your account deleted. +
+
); diff --git a/src/components/ServerCustomize.tsx b/src/components/ServerCustomize.tsx index 4c549ef..c27b1ea 100644 --- a/src/components/ServerCustomize.tsx +++ b/src/components/ServerCustomize.tsx @@ -6,6 +6,7 @@ import { Dispatch, SetStateAction, useEffect, useState } from "react"; import { getCustomization, ownServer, + reportServer, setCustomization, serverOwned as sOFunc, unownServer, @@ -43,6 +44,14 @@ import { useTheme } from "next-themes"; import { DiscordPopover } from "./misc/DiscordPopover"; import { Spinner } from "./ui/spinner"; import { BannerPopover } from "./misc/BannerPopover"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, + DialogTrigger, +} from "./ui/dialog"; const formSchema = z.object({ description: z @@ -67,6 +76,7 @@ export default function ServerCustomize({ const [serverOwned, setServerOwned] = useState(false); const [userOwned, setUserOwned] = useState(false); const [loading, setLoading] = useState(true); + const [reason, setReason] = useState(""); const [description, setDescription] = useState(""); const [get, setGet] = useState({}); const [author, setAuthor] = useState(""); @@ -134,6 +144,74 @@ export default function ServerCustomize({ customize it. )} + {serverOwned && !userOwned && ( +
+
+ Is this server in violation of the ECA? +
+ Is this server in violation of the{" "} + + External Content Agreement (aka ECA) + + ? You can report the server to remove the customizations from the + server. + + + + + + + Report Server + + This will send a notification to MHSF maintainers. This + server must be in violation of the{" "} + ECA to + be a valid report. Typical response times include 1 hour to + 1 day, and you will not be notified if your report is + successful or not.{" "} + + Please do not spam this form with mindless reports. If you + do, your account will be banned. We are not Minehut + support, we cannot help you with a problem within the + Minehut platform or within the server, we can only + moderate the customization of the server. + {" "} + (if the problem is within the server,{" "} + + report it on Minehut + + )
+
+ Reason: +
+
+