diff --git a/src/assets/locales/en.json b/src/assets/locales/en.json
index b2bed70a..abe4e754 100644
--- a/src/assets/locales/en.json
+++ b/src/assets/locales/en.json
@@ -111,7 +111,8 @@
"onboarding": "Setup",
"pagetitle": "{{title}} - sudo-flix",
"register": "Register",
- "settings": "Settings"
+ "settings": "Settings",
+ "jip": "Jip"
}
},
"home": {
@@ -481,6 +482,18 @@
"title": "How can I report a bug or issue?"
}
},
+ "jip": {
+ "title": "Jip",
+ "text": "sudo-flix didn't fall out of a coconut tree, it was made mostly by a single person (a very epic one at that).",
+ "q1": {
+ "body": "Well, you can join the official <0>sudo-flix discord0> and ask questions there or you can email the one provided at the bottom of this page.",
+ "title": "Where can I get help?"
+ },
+ "q2": {
+ "body": "We have a <0>GitHub0> where you can create a detailed issue in our repository. Additionally, if you wish, you can create a pull request to fix the issue yourself.",
+ "title": "How can I report a bug or issue?"
+ }
+ },
"screens": {
"dmca": {
"text": "Welcome to sudo-flix's DMCA contact page. If you believe your copyrighted work has been improperly used on our platform (😢), please send a detailed DMCA notice to: {{dmca}} below. Please include a description of the copyrighted material, your contact details, and a statement of good faith belief. We're committed to resolving these matters promptly and appreciate your cooperation.",
diff --git a/src/components/media/MediaBookmark.tsx b/src/components/media/MediaBookmark.tsx
index fab77479..45e8f9e2 100644
--- a/src/components/media/MediaBookmark.tsx
+++ b/src/components/media/MediaBookmark.tsx
@@ -41,7 +41,7 @@ export function MediaBookmarkButton({ media }: MediaBookmarkProps) {
);
}
diff --git a/src/pages/Jip.tsx b/src/pages/Jip.tsx
new file mode 100644
index 00000000..7c41cef4
--- /dev/null
+++ b/src/pages/Jip.tsx
@@ -0,0 +1,57 @@
+import classNames from "classnames";
+import { Trans, useTranslation } from "react-i18next";
+
+import { ThinContainer } from "@/components/layout/ThinContainer";
+import { Heading1, Paragraph } from "@/components/utils/Text";
+import { PageTitle } from "@/pages/parts/util/PageTitle";
+
+import { SubPageLayout } from "./layouts/SubPageLayout";
+
+// too lazy to import the actual button component
+function Button(props: {
+ className: string;
+ onClick?: () => void;
+ children: React.ReactNode;
+ disabled?: boolean;
+}) {
+ return (
+
+ );
+}
+
+export function JipPage() {
+ const { t } = useTranslation();
+
+ return (
+
+
+
+ {t("jip.title")}
+
+ ,
+ }}
+ />
+
+
+
+
+ );
+}
diff --git a/src/setup/App.tsx b/src/setup/App.tsx
index 97983c7b..f2e7a231 100644
--- a/src/setup/App.tsx
+++ b/src/setup/App.tsx
@@ -20,6 +20,7 @@ import { DmcaPage, shouldHaveDmcaPage } from "@/pages/Dmca";
import MaintenancePage from "@/pages/errors/MaintenancePage";
import { NotFoundPage } from "@/pages/errors/NotFoundPage";
import { HomePage } from "@/pages/HomePage";
+import { JipPage } from "@/pages/Jip";
import { LoginPage } from "@/pages/Login";
import { OnboardingPage } from "@/pages/onboarding/Onboarding";
import { OnboardingExtensionPage } from "@/pages/onboarding/OnboardingExtension";
@@ -150,6 +151,7 @@ function App() {
) : null}
{/* Support page */}
} />
+ } />
{/* Discover page */}
} />
{/* Settings page */}