11 changed files with 207 additions and 24 deletions
@ -0,0 +1,43 @@ |
|||||||
|
interface TextProps { |
||||||
|
className?: string; |
||||||
|
children: React.ReactNode; |
||||||
|
} |
||||||
|
|
||||||
|
export function Heading1(props: TextProps) { |
||||||
|
return ( |
||||||
|
<h1 |
||||||
|
className={[ |
||||||
|
"text-5xl font-bold text-white mb-9", |
||||||
|
props.className ?? "", |
||||||
|
].join(" ")} |
||||||
|
> |
||||||
|
{props.children} |
||||||
|
</h1> |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
export function Heading2(props: TextProps) { |
||||||
|
return ( |
||||||
|
<h2 |
||||||
|
className={[ |
||||||
|
"text-3xl font-bold text-white mt-20 mb-9", |
||||||
|
props.className ?? "", |
||||||
|
].join(" ")} |
||||||
|
> |
||||||
|
{props.children} |
||||||
|
</h2> |
||||||
|
); |
||||||
|
} |
||||||
|
|
||||||
|
export function Paragraph(props: TextProps) { |
||||||
|
return ( |
||||||
|
<p |
||||||
|
className={[ |
||||||
|
"text-type-text my-9 font-medium", |
||||||
|
props.className ?? "", |
||||||
|
].join(" ")} |
||||||
|
> |
||||||
|
{props.children} |
||||||
|
</p> |
||||||
|
); |
||||||
|
} |
@ -0,0 +1,73 @@ |
|||||||
|
/* eslint-disable react/no-unescaped-entities */ |
||||||
|
import { ThinContainer } from "@/components/layout/ThinContainer"; |
||||||
|
import { Heading1, Heading2, Paragraph } from "@/components/utils/Text"; |
||||||
|
|
||||||
|
import { SubPageLayout } from "./layouts/SubPageLayout"; |
||||||
|
|
||||||
|
export function AboutPage() { |
||||||
|
return ( |
||||||
|
<SubPageLayout> |
||||||
|
<ThinContainer> |
||||||
|
<Heading1>About us</Heading1> |
||||||
|
<Paragraph> |
||||||
|
Blue, oh so blue, like the tranquil sky on a summer's day. It's the |
||||||
|
color of calm and serenity, a gentle embrace for your senses. When you |
||||||
|
think of blue, you think of the vast ocean stretching endlessly, |
||||||
|
inviting you to dive deep into its azure depths. Blue is the color of |
||||||
|
dreams, where the world slows down, and you can hear the whispers of |
||||||
|
the wind in the tall grass. It's a symphony of peacefulness that |
||||||
|
resonates with your soul, like a melody that lingers in your heart. |
||||||
|
</Paragraph> |
||||||
|
<Heading2>How does it work?</Heading2> |
||||||
|
<Paragraph> |
||||||
|
Blue, well, it's like this cosmic wavelength, man, and it's like the |
||||||
|
universe is just vibin', you know? It's like, when you stare at the |
||||||
|
blue, it's like you're staring at the secrets of the cosmos, like, |
||||||
|
whoa, it's like a trippy trip to another dimension where time doesn't |
||||||
|
even matter, and you're just floating in a sea of, like, blue, man. |
||||||
|
And it's like, it's not just a color, it's a whole experience, like, |
||||||
|
you're in this cosmic rollercoaster ride through the quantum soup of |
||||||
|
existence, and you're just riding the blue wave, man. |
||||||
|
</Paragraph> |
||||||
|
<Paragraph> |
||||||
|
Blue, like, it's totally, um, the essence of like, everything, you |
||||||
|
know? It's like, you look at it, and it's like, it's there, but it's |
||||||
|
also not there, and it's like, you're trying to grasp the concept of |
||||||
|
blue, but it's like trying to catch a dream in a net made of |
||||||
|
spaghetti, you know? It's like, it's the ultimate paradox, and it's |
||||||
|
like, it's just blowing your mind, man, like, it's like trying to find |
||||||
|
the meaning of life in a jar of peanut butter, but the peanut butter |
||||||
|
is made of pure energy, man, and it's like, whoa. |
||||||
|
</Paragraph> |
||||||
|
<Heading2>Frequently asked questions</Heading2> |
||||||
|
<Paragraph> |
||||||
|
Blue, blue, b-b-b-bluuuuuueeeeeeeee, zippity zappity zoooooo, it's |
||||||
|
like, you know, it's like, blue is like, um, you know, it's like, um, |
||||||
|
like a thing, but it's also not a thing, and it's like, whoa, dude, |
||||||
|
it's like, it's like trying to juggle invisible watermelons while |
||||||
|
riding a unicycle made of rubber bands and ketchup, and it's like, |
||||||
|
you're just floating in the cosmic jellyfish of existence, and the |
||||||
|
jellyfish are like, playing the accordion, man, and it's like, the |
||||||
|
accordion is made of, like, spaghetti and, like, um, interdimensional |
||||||
|
cheese, and it's like, whoa, dude, like, whoa. |
||||||
|
</Paragraph> |
||||||
|
<Paragraph> |
||||||
|
Bloo-bloo-bloo, bleepity-bloop, blibber-blabber, blarble-blurble, blue |
||||||
|
is like, um, you know, flibberflabberfloober, like, |
||||||
|
zoomity-zamity-zoom, and it's like, um, sproingity-sproing, like, uh, |
||||||
|
gibber-gabber-gobblygook, you know, it's like, um, |
||||||
|
jibber-jabber-jibberish, like, whatchamacallit, thingamajig, |
||||||
|
doodad-doodad-dingdong, like, ploopity-ploop, um, blibbity-blam, |
||||||
|
flibbity-floo, like, gobbledygook-gobbledygook, |
||||||
|
whoopsy-daisy-dingleberry, and it's like, uh, |
||||||
|
flibberflabberflooberzoomity-sproing, um, like, |
||||||
|
blibber-gibber-jibber-jabber, thingamajig-whatchamacallit, like, you |
||||||
|
know, thingamajig-doodad-doodledee, and it's like, um, |
||||||
|
doodad-gobbledygook-doodley-doo, like, |
||||||
|
ploopity-whoopsy-doodleberry-flibber, you know, it's like, uh, blue, |
||||||
|
man, like, totally, um, blue. |
||||||
|
</Paragraph> |
||||||
|
</ThinContainer> |
||||||
|
</SubPageLayout> |
||||||
|
); |
||||||
|
} |
@ -0,0 +1,25 @@ |
|||||||
|
/* eslint-disable react/no-unescaped-entities */ |
||||||
|
import { useTranslation } from "react-i18next"; |
||||||
|
|
||||||
|
import { Icon, Icons } from "@/components/Icon"; |
||||||
|
import { ThinContainer } from "@/components/layout/ThinContainer"; |
||||||
|
import { Heading1, Paragraph } from "@/components/utils/Text"; |
||||||
|
|
||||||
|
import { SubPageLayout } from "./layouts/SubPageLayout"; |
||||||
|
|
||||||
|
export function DmcaPage() { |
||||||
|
const { t } = useTranslation(); |
||||||
|
|
||||||
|
return ( |
||||||
|
<SubPageLayout> |
||||||
|
<ThinContainer> |
||||||
|
<Heading1>{t("dmca.title")}</Heading1> |
||||||
|
<Paragraph>{t("dmca.description")}</Paragraph> |
||||||
|
<Paragraph className="flex space-x-3 items-center"> |
||||||
|
<Icon icon={Icons.MAIL} /> |
||||||
|
<span>dmca@movie-web.app</span> |
||||||
|
</Paragraph> |
||||||
|
</ThinContainer> |
||||||
|
</SubPageLayout> |
||||||
|
); |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
import { FooterView } from "@/components/layout/Footer"; |
||||||
|
import { Navigation } from "@/components/layout/Navigation"; |
||||||
|
|
||||||
|
export function SubPageLayout(props: { children: React.ReactNode }) { |
||||||
|
return ( |
||||||
|
<div |
||||||
|
className="from-[#0D0D1A] to-background-main" |
||||||
|
style={{ |
||||||
|
backgroundImage: |
||||||
|
"linear-gradient(to bottom, var(--tw-gradient-from), var(--tw-gradient-to) 800px)", |
||||||
|
}} |
||||||
|
> |
||||||
|
{/* Blur elipsis */} |
||||||
|
<div className="absolute top-0 -right-48 rotate-[32deg] w-[50rem] h-[15rem] rounded-[70rem] bg-background-accentA blur-[100px] pointer-events-none opacity-25" /> |
||||||
|
<div className="absolute top-0 right-48 rotate-[32deg] w-[50rem] h-[15rem] rounded-[70rem] bg-background-accentB blur-[100px] pointer-events-none opacity-25" /> |
||||||
|
|
||||||
|
{/* Main page */} |
||||||
|
<FooterView> |
||||||
|
<Navigation noLightbar /> |
||||||
|
<div className="mt-40">{props.children}</div> |
||||||
|
</FooterView> |
||||||
|
</div> |
||||||
|
); |
||||||
|
} |
Loading…
Reference in new issue