Skip to content

Commit 8792ec0

Browse files
committed
feat: added docs
1 parent c4d1d87 commit 8792ec0

3 files changed

Lines changed: 202 additions & 2 deletions

File tree

Lines changed: 145 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
export const PrivacyPolicyContent = () => (
2+
<div className="text-left space-y-4 text-stone-300">
3+
<h2 className="text-xl font-semibold text-stone-100 mb-4">Privacy Policy</h2>
4+
<p className="text-stone-400"><strong>Last updated:</strong> July 20, 2025</p>
5+
6+
<p className="text-stone-400 leading-relaxed">
7+
This Privacy Policy explains how we collect, use, and protect your personal data when using <strong>Quantified</strong> – a Minecraft statistics syncing tool available at <a href="https://quantifiedmc.com" className="text-blue-400 hover:text-blue-300">quantifiedmc.com</a>.
8+
</p>
9+
10+
<section>
11+
<h3 className="text-lg font-medium text-stone-200 mb-2">1. Information We Collect</h3>
12+
<ul className="text-stone-400 leading-relaxed list-disc list-inside space-y-1">
13+
<li>Minecraft player statistics (synced from your game)</li>
14+
<li>OAuth profile information from Discord and/or Google (e.g., user ID, display name, email if available)</li>
15+
</ul>
16+
</section>
17+
18+
<section>
19+
<h3 className="text-lg font-medium text-stone-200 mb-2">2. How We Use Your Data</h3>
20+
<ul className="text-stone-400 leading-relaxed list-disc list-inside space-y-1">
21+
<li>To provide access to your personal statistics dashboard</li>
22+
<li>To identify you and associate data with your account</li>
23+
</ul>
24+
<p className="text-stone-400 leading-relaxed mt-2">
25+
We do <strong>not</strong> sell or share your data with third parties.
26+
</p>
27+
</section>
28+
29+
<section>
30+
<h3 className="text-lg font-medium text-stone-200 mb-2">3. Data Storage and Retention</h3>
31+
<p className="text-stone-400 leading-relaxed">
32+
Your data is stored as long as your account exists. You may delete your account or stats at any time, which will permanently remove the associated data.
33+
</p>
34+
</section>
35+
36+
<section>
37+
<h3 className="text-lg font-medium text-stone-200 mb-2">4. Your Rights</h3>
38+
<ul className="text-stone-400 leading-relaxed list-disc list-inside space-y-1">
39+
<li>Access your stored data</li>
40+
<li>Correct inaccurate data</li>
41+
<li>Request deletion of your data</li>
42+
</ul>
43+
<p className="text-stone-400 leading-relaxed mt-2">
44+
To exercise these rights, contact us via GitHub at <a href="https://github.com/risdn/quantified/issues" className="text-blue-400 hover:text-blue-300">github.com/risdn/quantified</a>.
45+
</p>
46+
</section>
47+
48+
<section>
49+
<h3 className="text-lg font-medium text-stone-200 mb-2">5. Third-Party Services</h3>
50+
<p className="text-stone-400 leading-relaxed">
51+
We use Google and Discord OAuth for login. No data is shared with them beyond authentication.
52+
</p>
53+
</section>
54+
55+
<section>
56+
<h3 className="text-lg font-medium text-stone-200 mb-2">6. Children's Privacy</h3>
57+
<p className="text-stone-400 leading-relaxed">
58+
Quantified is not intended for users under the age required by Minecraft's Terms of Service.
59+
</p>
60+
</section>
61+
62+
<section>
63+
<h3 className="text-lg font-medium text-stone-200 mb-2">7. Not Affiliated With Mojang</h3>
64+
<p className="text-stone-400 leading-relaxed">
65+
This project is not affiliated with Mojang AB or Microsoft. Minecraft is a trademark of Mojang/Microsoft.
66+
</p>
67+
</section>
68+
69+
<section>
70+
<h3 className="text-lg font-medium text-stone-200 mb-2">8. Changes to This Policy</h3>
71+
<p className="text-stone-400 leading-relaxed">
72+
We may update this policy. Changes will be posted on this page.
73+
</p>
74+
</section>
75+
</div>
76+
);
77+
78+
export const TermsOfServiceContent = () => (
79+
<div className="text-left space-y-4 text-stone-300">
80+
<h2 className="text-xl font-semibold text-stone-100 mb-4">Terms of Service</h2>
81+
<p className="text-stone-400"><strong>Last updated:</strong> July 20, 2025</p>
82+
83+
<p className="text-stone-400 leading-relaxed">
84+
By using Quantified (the "Service"), you agree to the following terms:
85+
</p>
86+
87+
<section>
88+
<h3 className="text-lg font-medium text-stone-200 mb-2">1. Eligibility</h3>
89+
<p className="text-stone-400 leading-relaxed">
90+
You must comply with the Minecraft End User License Agreement and Terms of Service. The service is open to users worldwide who meet these conditions.
91+
</p>
92+
</section>
93+
94+
<section>
95+
<h3 className="text-lg font-medium text-stone-200 mb-2">2. User Accounts</h3>
96+
<p className="text-stone-400 leading-relaxed">
97+
You may log in using Discord or Google OAuth. You are responsible for maintaining the security of your account.
98+
</p>
99+
</section>
100+
101+
<section>
102+
<h3 className="text-lg font-medium text-stone-200 mb-2">3. Usage Rules</h3>
103+
<ul className="text-stone-400 leading-relaxed list-disc list-inside space-y-1">
104+
<li>Do not use the service for abuse, spam, or illegal activity.</li>
105+
<li>Do not reverse-engineer or disrupt the service.</li>
106+
<li>Only sync statistics from Minecraft accounts you own or control.</li>
107+
</ul>
108+
</section>
109+
110+
<section>
111+
<h3 className="text-lg font-medium text-stone-200 mb-2">4. Intellectual Property</h3>
112+
<p className="text-stone-400 leading-relaxed">
113+
We claim no ownership over your synced data. You retain full rights to your Minecraft statistics.
114+
</p>
115+
</section>
116+
117+
<section>
118+
<h3 className="text-lg font-medium text-stone-200 mb-2">5. Availability and Modifications</h3>
119+
<p className="text-stone-400 leading-relaxed">
120+
We reserve the right to modify or terminate the service at any time without notice.
121+
</p>
122+
</section>
123+
124+
<section>
125+
<h3 className="text-lg font-medium text-stone-200 mb-2">6. No Warranty</h3>
126+
<p className="text-stone-400 leading-relaxed">
127+
The service is provided "as is". We make no guarantees about uptime or data accuracy.
128+
</p>
129+
</section>
130+
131+
<section>
132+
<h3 className="text-lg font-medium text-stone-200 mb-2">7. Limitation of Liability</h3>
133+
<p className="text-stone-400 leading-relaxed">
134+
We are not liable for any damages resulting from your use of the service.
135+
</p>
136+
</section>
137+
138+
<section>
139+
<h3 className="text-lg font-medium text-stone-200 mb-2">8. Jurisdiction</h3>
140+
<p className="text-stone-400 leading-relaxed">
141+
This service is available globally with no specific jurisdiction enforced. If local laws prohibit use, you may not access the service.
142+
</p>
143+
</section>
144+
</div>
145+
);

‎src/app/(routes)/docs/page.tsx‎

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
"use client";
2+
3+
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
4+
import DarkPanel from "@/lib/components/DarkPanel";
5+
import { useSearchParams } from "next/navigation";
6+
import { PrivacyPolicyContent, TermsOfServiceContent } from "./DocumentComponents";
7+
import Button from "@/lib/components/Button";
8+
import Link from "next/link";
9+
10+
const DocsPage = () => {
11+
const searchParams = useSearchParams();
12+
const tab = searchParams.get('tab');
13+
const defaultTab = (tab === 'privacy' || tab === 'terms') ? tab : 'privacy';
14+
return (
15+
<div className="mt-8 px-4">
16+
<DarkPanel>
17+
<div className="space-y-4 text-center">
18+
<h1 className="font-minecraft text-stone-100 text-2xl">Documents</h1>
19+
<Link href={"/"}>
20+
<Button className="text-sm!" variant="green">
21+
Go back Home
22+
</Button>
23+
</Link>
24+
</div>
25+
<div className="flex justify-center items-center mt-4">
26+
<Tabs defaultValue={defaultTab} className="w-full max-w-4xl">
27+
<TabsList className="grid w-full grid-cols-2 bg-stone-800 border border-stone-700">
28+
<TabsTrigger
29+
className="cursor-pointer text-stone-400 hover:text-stone-200 data-[state=active]:bg-stone-700 data-[state=active]:text-stone-100 data-[state=active]:border-stone-600 rounded-2xl transition-all duration-200"
30+
value="privacy"
31+
>
32+
Privacy Policy
33+
</TabsTrigger>
34+
<TabsTrigger
35+
className="cursor-pointer text-stone-400 hover:text-stone-200 data-[state=active]:bg-stone-700 data-[state=active]:text-stone-100 data-[state=active]:border-stone-600 rounded-2xl transition-all duration-200"
36+
value="terms"
37+
>
38+
Terms of Service
39+
</TabsTrigger>
40+
</TabsList>
41+
<TabsContent value="privacy" className="mt-6">
42+
<PrivacyPolicyContent />
43+
</TabsContent>
44+
<TabsContent value="terms" className="mt-6">
45+
<TermsOfServiceContent />
46+
</TabsContent>
47+
</Tabs>
48+
</div>
49+
</DarkPanel >
50+
</div>
51+
);
52+
};
53+
54+
55+
export default DocsPage;

‎src/lib/components/Footer.tsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,11 @@ const Footer = async () => {
9292
© {currentYear} Quantified. All rights reserved.
9393
</p>
9494
<p className="text-stone-400">
95-
<Link href="/privacy" className='text-stone-400 hover:text-stone-200 transition-colors duration-200'>
95+
<Link href="/docs?tab=privacy" className='text-stone-400 hover:text-stone-200 transition-colors duration-200'>
9696
Privacy Policy
9797
</Link>
9898
{' | '}
99-
<Link href="/terms" className='text-stone-400 hover:text-stone-200 transition-colors duration-200'>
99+
<Link href="/docs?tab=terms" className='text-stone-400 hover:text-stone-200 transition-colors duration-200'>
100100
Terms of Service
101101
</Link>
102102
</p>

0 commit comments

Comments
 (0)