Skip to content

Commit 6458eb5

Browse files
committed
feat(web): add privacy and 404 page
1 parent e1348be commit 6458eb5

File tree

7 files changed

+186
-5
lines changed

7 files changed

+186
-5
lines changed

.github/workflows/site_build.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# idk why im bothering with this, not like im going to use cloudflare for it
2+
13
name: Site Build
24

35
on:

web/src/components/404.tsx

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
import { motion } from "framer-motion";
2+
3+
export const _404 = () => {
4+
return (
5+
<section
6+
className="lg:mb-16 w-full flex flex-col justify-center items-center bg-bgDark1"
7+
id="404"
8+
>
9+
<div className="shape-divider-bottom-1665696614">
10+
<svg
11+
data-name="Layer 1"
12+
xmlns="http://www.w3.org/2000/svg"
13+
viewBox="0 0 1200 120"
14+
preserveAspectRatio="none"
15+
className="bg-bgDark2 fill-bgDark2"
16+
>
17+
<path
18+
d="M1200 120L0 16.48 0 0 1200 0 1200 120z"
19+
className="bg-bgDark1 fill-bgDark1"
20+
></path>
21+
</svg>
22+
</div>
23+
<motion.div
24+
initial={{ opacity: 0 }}
25+
whileInView={{ opacity: 1 }}
26+
viewport={{ once: true }}
27+
transition={{ duration: 0.5, delay: 0.2 }}
28+
>
29+
<div className=" 2xl:w-[1150px] xl:w-[1050px] md:w-4/5 flex justify-center bg-bgDark1 pt-12 lg:pt-24 pb-8 lg:pb-20 mx-auto flex-col">
30+
<div className="w-3/4 lg:w-1/2 flex flex-col lg:mx-unset mx-auto">
31+
<span className="block-subtitle">Terms 404</span>
32+
<h2 className="mt-10 mb-8 text-4xl lg:text-5xl block-big-title">
33+
Page Not Found
34+
</h2>
35+
<p className="text-secondaryText leading-loose">
36+
Please go home
37+
</p>
38+
<button
39+
className="w-[210px] h-12 contained-button mr-10 "
40+
onClick={() => (window.location.href = "/")}
41+
aria-label="Get started"
42+
>
43+
Home
44+
</button>
45+
</div>
46+
</div>
47+
</motion.div>
48+
<div className="shape-divider-top-1665696661 w-full">
49+
<svg
50+
data-name="Layer 1"
51+
xmlns="http://www.w3.org/2000/svg"
52+
viewBox="0 0 1200 120"
53+
preserveAspectRatio="none"
54+
className="bg-bgDark2 fill-bgDark2"
55+
>
56+
<path
57+
d="M1200 120L0 16.48 0 0 1200 0 1200 120z"
58+
className="bg-bgDark1 fill-bgDark1"
59+
></path>
60+
</svg>
61+
</div>
62+
</section>
63+
);
64+
};
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
import { motion } from "framer-motion";
2+
3+
export const LegalStuffPrivacy = () => {
4+
return (
5+
<section
6+
className="lg:mb-16 w-full flex flex-col justify-center items-center bg-bgDark1"
7+
id="tos"
8+
>
9+
<div className="shape-divider-bottom-1665696614">
10+
<svg
11+
data-name="Layer 1"
12+
xmlns="http://www.w3.org/2000/svg"
13+
viewBox="0 0 1200 120"
14+
preserveAspectRatio="none"
15+
className="bg-bgDark2 fill-bgDark2"
16+
>
17+
<path
18+
d="M1200 120L0 16.48 0 0 1200 0 1200 120z"
19+
className="bg-bgDark1 fill-bgDark1"
20+
></path>
21+
</svg>
22+
</div>
23+
<motion.div
24+
initial={{ opacity: 0 }}
25+
whileInView={{ opacity: 1 }}
26+
viewport={{ once: true }}
27+
transition={{ duration: 0.5, delay: 0.2 }}
28+
>
29+
<div className=" 2xl:w-[1150px] xl:w-[1050px] md:w-4/5 flex justify-center bg-bgDark1 pt-12 lg:pt-24 pb-8 lg:pb-20 mx-auto flex-col">
30+
<div className="w-3/4 lg:w-1/2 flex flex-col lg:mx-unset mx-auto">
31+
<span className="block-subtitle">Privacy Policy</span>
32+
<h2 className="mt-10 mb-8 text-4xl lg:text-5xl block-big-title">
33+
Privacy Policy
34+
</h2>
35+
<p className="text-secondaryText leading-loose mb-4">
36+
Your privacy is important to us, which is why we've
37+
outlined what information is stored when using
38+
Feedr:
39+
</p>
40+
<ul className="mb-8 text-secondaryText leading-loose list-disc list-inside">
41+
<li>What channels guilds are tracking</li>
42+
<li>What roles to ping when there's an upload</li>
43+
<li>What channel we should post uploads to</li>
44+
<li>The latest upload of each channel</li>
45+
</ul>
46+
<p className="text-secondaryText leading-loose mb-8">
47+
That's it. No user or guild information is stored;
48+
just what is required for the bot to be functional.
49+
</p>
50+
<i className="text-secondaryText leading-loose">
51+
Last updated 15th August 2024
52+
</i>
53+
<button
54+
className="w-[210px] h-12 contained-button mr-10 "
55+
onClick={() => window.open("/invite/bot", "_blank")}
56+
aria-label="Get started"
57+
>
58+
Get Started
59+
</button>
60+
</div>
61+
</div>
62+
</motion.div>
63+
<div className="shape-divider-top-1665696661 w-full">
64+
<svg
65+
data-name="Layer 1"
66+
xmlns="http://www.w3.org/2000/svg"
67+
viewBox="0 0 1200 120"
68+
preserveAspectRatio="none"
69+
className="bg-bgDark2 fill-bgDark2"
70+
>
71+
<path
72+
d="M1200 120L0 16.48 0 0 1200 0 1200 120z"
73+
className="bg-bgDark1 fill-bgDark1"
74+
></path>
75+
</svg>
76+
</div>
77+
</section>
78+
);
79+
};

web/src/components/LegalStuffTos.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export const LegalStuffTos = () => {
44
return (
55
<section
66
className="lg:mb-16 w-full flex flex-col justify-center items-center bg-bgDark1"
7-
id="youtube"
7+
id="tos"
88
>
99
<div className="shape-divider-bottom-1665696614">
1010
<svg
@@ -52,13 +52,13 @@ export const LegalStuffTos = () => {
5252
<i className="text-secondaryText leading-loose">
5353
Last updated 15th August 2024
5454
</i>
55-
{/* <button
55+
<button
5656
className="w-[210px] h-12 contained-button mr-10 "
57-
onClick={() => setIsModalOpen(true)} // TODO: Add the invite link for the bot
57+
onClick={() => window.open("/invite/bot", "_blank")}
5858
aria-label="Get started"
5959
>
6060
Get Started
61-
</button> */}
61+
</button>
6262
</div>
6363
</div>
6464
</motion.div>

web/src/components/TrustedBy.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export const TrustedBy = () => {
1414
transition={{ duration: 0.5, delay: 0.2 }}
1515
onViewportEnter={() => {
1616
setTimeout(() => {
17-
setOdometerValue(150);
17+
setOdometerValue(180);
1818
}, 500);
1919
}}
2020
>

web/src/pages/404.astro

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
import Layout from "../layouts/Layout.astro";
3+
import { Hero } from "../components/Hero";
4+
import { Navbar } from "../components/Navbar";
5+
import { Footer } from "../components/Footer";
6+
import { ScrollUpButton } from "../components/ScrollUpButton";
7+
import { LegalStuffTos } from "../components/LegalStuffTos";
8+
import { _404 as Page404 } from "../components/404";
9+
import "../styles/Theme.css";
10+
import "../styles/Diagonals.css";
11+
---
12+
13+
<Layout title="Page Not Found - Feedr Discord Bot">
14+
<Navbar client:load />
15+
<Page404 client:load />
16+
<Footer />
17+
<ScrollUpButton client:load />
18+
</Layout>

web/src/pages/privacy.astro

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
---
2+
import Layout from "../layouts/Layout.astro";
3+
import { Hero } from "../components/Hero";
4+
import { Navbar } from "../components/Navbar";
5+
import { Footer } from "../components/Footer";
6+
import { ScrollUpButton } from "../components/ScrollUpButton";
7+
import { LegalStuffPrivacy } from "../components/LegalStuffPrivacy";
8+
import "../styles/Theme.css";
9+
import "../styles/Diagonals.css";
10+
---
11+
12+
<Layout title="TOS - Feedr Discord Bot">
13+
<Navbar client:load />
14+
<!-- <Hero client:load /> -->
15+
<LegalStuffPrivacy client:load />
16+
<Footer />
17+
<ScrollUpButton client:load />
18+
</Layout>

0 commit comments

Comments
 (0)