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 discord 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>GitHub 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 */}