11 changed files with 207 additions and 24 deletions
@ -0,0 +1,43 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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