feat: Add FAQ and Terms pages, redesign Privacy page
Create FAQ page with accordion-style Q&A sections and Terms of Service page with comprehensive legal content. Redesign Privacy page with neon styling. All legal pages use system font for headings to ensure readability. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
191
src/routes/faq/+page.svelte
Normal file
191
src/routes/faq/+page.svelte
Normal file
@@ -0,0 +1,191 @@
|
||||
<script lang="ts">
|
||||
import { HelpCircle, ChevronDown, Zap, Upload, Shield, Code } from 'lucide-svelte';
|
||||
|
||||
interface FaqItem {
|
||||
question: string;
|
||||
answer: string;
|
||||
category: string;
|
||||
}
|
||||
|
||||
const faqItems: FaqItem[] = [
|
||||
{
|
||||
category: 'Getting Started',
|
||||
question: 'What is teamflash.rip?',
|
||||
answer:
|
||||
'teamflash.rip is a free, open-source platform for analyzing Counter-Strike 2 matchmaking matches. We parse demo files to provide detailed statistics, including who flashed their teammates (hence the name).'
|
||||
},
|
||||
{
|
||||
category: 'Getting Started',
|
||||
question: 'How do I get my matches analyzed?',
|
||||
answer:
|
||||
'You can upload your CS2 demo files directly, or if your Steam profile is public, we can automatically fetch your recent competitive matches. Just search for your Steam ID or profile URL.'
|
||||
},
|
||||
{
|
||||
category: 'Getting Started',
|
||||
question: 'Is teamflash.rip free to use?',
|
||||
answer:
|
||||
'Yes, completely free! We are an open-source project with no premium tiers or paywalls. All features are available to everyone.'
|
||||
},
|
||||
{
|
||||
category: 'Matches & Stats',
|
||||
question: 'What statistics do you track?',
|
||||
answer:
|
||||
'We track kills, deaths, assists, ADR, KAST, headshot percentage, utility damage, flash assists, enemies flashed, teammates flashed (the important one!), and much more from parsed demo files.'
|
||||
},
|
||||
{
|
||||
category: 'Matches & Stats',
|
||||
question: 'How accurate is the data?',
|
||||
answer:
|
||||
'Our data comes directly from parsing CS2 demo files, so it is as accurate as the game itself records. We use the official demo format provided by Valve.'
|
||||
},
|
||||
{
|
||||
category: 'Matches & Stats',
|
||||
question: 'Why are some of my matches missing?',
|
||||
answer:
|
||||
'We can only analyze matches where demo files are available. Valve only keeps demo files for a limited time (usually 30 days for matchmaking). Upload demos manually if you want to preserve older matches.'
|
||||
},
|
||||
{
|
||||
category: 'Privacy & Data',
|
||||
question: 'What data do you collect?',
|
||||
answer:
|
||||
'We only collect publicly available Steam data and match statistics from demo files. We do not require accounts or collect personal information. See our Privacy Policy for details.'
|
||||
},
|
||||
{
|
||||
category: 'Privacy & Data',
|
||||
question: 'Can I remove my data?',
|
||||
answer:
|
||||
'Yes. Contact us through our GitHub repository to request data removal. Since we only display public Steam data, you can also adjust your Steam privacy settings.'
|
||||
},
|
||||
{
|
||||
category: 'Technical',
|
||||
question: 'What file formats do you support?',
|
||||
answer:
|
||||
'We support CS2 demo files (.dem). We no longer support CS:GO demos as the platform has been rebuilt specifically for CS2.'
|
||||
},
|
||||
{
|
||||
category: 'Technical',
|
||||
question: 'How can I contribute?',
|
||||
answer:
|
||||
'We welcome contributions! Visit our GitHub repository to report bugs, suggest features, or submit pull requests. The frontend and backend are both open source.'
|
||||
}
|
||||
];
|
||||
|
||||
const categories = [...new Set(faqItems.map((item) => item.category))];
|
||||
|
||||
let openItems = $state<Set<number>>(new Set());
|
||||
|
||||
function toggleItem(index: number) {
|
||||
const newSet = new Set(openItems);
|
||||
if (newSet.has(index)) {
|
||||
newSet.delete(index);
|
||||
} else {
|
||||
newSet.add(index);
|
||||
}
|
||||
openItems = newSet;
|
||||
}
|
||||
|
||||
function getCategoryIcon(category: string) {
|
||||
switch (category) {
|
||||
case 'Getting Started':
|
||||
return Zap;
|
||||
case 'Matches & Stats':
|
||||
return Upload;
|
||||
case 'Privacy & Data':
|
||||
return Shield;
|
||||
case 'Technical':
|
||||
return Code;
|
||||
default:
|
||||
return HelpCircle;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>FAQ | teamflash.rip</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Frequently asked questions about teamflash.rip - CS2 match analysis platform."
|
||||
/>
|
||||
</svelte:head>
|
||||
|
||||
<div class="relative min-h-screen bg-void">
|
||||
<!-- Decorative Background -->
|
||||
<div class="pointer-events-none absolute inset-0 overflow-hidden">
|
||||
<div class="absolute -left-40 top-20 h-80 w-80 rounded-full bg-neon-blue/10 blur-[100px]"></div>
|
||||
<div
|
||||
class="absolute -right-40 top-60 h-80 w-80 rounded-full bg-neon-purple/10 blur-[100px]"
|
||||
></div>
|
||||
<div
|
||||
class="absolute inset-0 opacity-20"
|
||||
style="background-image: linear-gradient(rgba(0, 212, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 212, 255, 0.03) 1px, transparent 1px); background-size: 60px 60px;"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="container relative z-10 mx-auto max-w-4xl px-4 py-12">
|
||||
<!-- Header -->
|
||||
<div class="mb-12 text-center">
|
||||
<div class="mb-4 inline-flex rounded-full border border-neon-blue/30 bg-neon-blue/10 p-4">
|
||||
<HelpCircle class="h-12 w-12 text-neon-blue" />
|
||||
</div>
|
||||
<h1 class="mb-4 text-4xl font-bold text-white">Frequently Asked Questions</h1>
|
||||
<p class="text-lg text-white/60">Everything you need to know about teamflash.rip</p>
|
||||
</div>
|
||||
|
||||
<!-- FAQ Sections -->
|
||||
{#each categories as category}
|
||||
{@const CategoryIcon = getCategoryIcon(category)}
|
||||
<div class="mb-8">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<CategoryIcon class="h-5 w-5 text-neon-blue" />
|
||||
<h2 class="text-xl font-semibold text-white">{category}</h2>
|
||||
</div>
|
||||
|
||||
<div class="space-y-3">
|
||||
{#each faqItems as item, index}
|
||||
{#if item.category === category}
|
||||
<div class="overflow-hidden rounded-xl border border-white/10 bg-void-light">
|
||||
<button
|
||||
class="flex w-full items-center justify-between p-4 text-left transition-colors hover:bg-white/5"
|
||||
onclick={() => toggleItem(index)}
|
||||
aria-expanded={openItems.has(index)}
|
||||
>
|
||||
<span class="pr-4 font-medium text-white">{item.question}</span>
|
||||
<ChevronDown
|
||||
class="h-5 w-5 shrink-0 text-white/50 transition-transform duration-200 {openItems.has(
|
||||
index
|
||||
)
|
||||
? 'rotate-180'
|
||||
: ''}"
|
||||
/>
|
||||
</button>
|
||||
{#if openItems.has(index)}
|
||||
<div class="border-t border-white/10 px-4 py-4">
|
||||
<p class="leading-relaxed text-white/70">{item.answer}</p>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{/if}
|
||||
{/each}
|
||||
</div>
|
||||
</div>
|
||||
{/each}
|
||||
|
||||
<!-- Still Have Questions -->
|
||||
<div class="mt-12 rounded-xl border border-neon-blue/20 bg-void-light p-8 text-center">
|
||||
<h2 class="mb-3 text-xl font-semibold text-white">Still have questions?</h2>
|
||||
<p class="mb-6 text-white/60">
|
||||
Can't find what you're looking for? Check out our GitHub or open an issue.
|
||||
</p>
|
||||
<a
|
||||
href="https://somegit.dev/CSGOWTF/csgowtf/issues"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="inline-flex items-center gap-2 rounded-lg bg-neon-blue px-6 py-3 font-medium text-void transition-all duration-300 hover:shadow-[0_0_25px_rgba(0,212,255,0.4)]"
|
||||
>
|
||||
<HelpCircle class="h-5 w-5" />
|
||||
Ask on GitHub
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,6 +1,11 @@
|
||||
<script lang="ts">
|
||||
import Card from '$lib/components/ui/Card.svelte';
|
||||
import { Shield, Eye, Cookie, Server, Mail } from 'lucide-svelte';
|
||||
import { Shield, Eye, Cookie, Server, Mail, Lock, Users, Globe } from 'lucide-svelte';
|
||||
|
||||
const lastUpdated = new Date().toLocaleDateString('en-US', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric'
|
||||
});
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
@@ -11,207 +16,345 @@
|
||||
/>
|
||||
</svelte:head>
|
||||
|
||||
<div class="container mx-auto max-w-4xl space-y-8 px-4 py-12">
|
||||
<!-- Header -->
|
||||
<div class="text-center">
|
||||
<div class="mb-4 inline-flex rounded-full bg-primary/10 p-4">
|
||||
<Shield class="h-12 w-12 text-primary" />
|
||||
</div>
|
||||
<h1 class="mb-4 text-4xl font-bold text-base-content">Privacy Policy</h1>
|
||||
<p class="text-lg text-base-content/70">
|
||||
Last updated: {new Date().toLocaleDateString('en-US', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric'
|
||||
})}
|
||||
</p>
|
||||
<div class="relative min-h-screen bg-void">
|
||||
<!-- Decorative Background -->
|
||||
<div class="pointer-events-none absolute inset-0 overflow-hidden">
|
||||
<div class="absolute -left-40 top-20 h-80 w-80 rounded-full bg-neon-blue/10 blur-[100px]"></div>
|
||||
<div
|
||||
class="absolute -right-40 top-60 h-80 w-80 rounded-full bg-neon-purple/10 blur-[100px]"
|
||||
></div>
|
||||
<div
|
||||
class="absolute bottom-40 left-1/3 h-60 w-60 rounded-full bg-neon-green/5 blur-[80px]"
|
||||
></div>
|
||||
<div
|
||||
class="absolute inset-0 opacity-20"
|
||||
style="background-image: linear-gradient(rgba(0, 212, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 212, 255, 0.03) 1px, transparent 1px); background-size: 60px 60px;"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
<!-- Introduction -->
|
||||
<Card padding="lg">
|
||||
<h2 class="mb-4 text-2xl font-bold text-base-content">Introduction</h2>
|
||||
<p class="text-base-content/80">
|
||||
teamflash.rip ("we", "our", or "us") is committed to protecting your privacy. This Privacy
|
||||
Policy explains how we collect, use, and safeguard your information when you use our CS2 match
|
||||
statistics and flash crime analysis platform.
|
||||
</p>
|
||||
</Card>
|
||||
|
||||
<!-- Data Collection -->
|
||||
<Card padding="lg">
|
||||
<div class="mb-4 flex items-center gap-2">
|
||||
<Eye class="h-6 w-6 text-primary" />
|
||||
<h2 class="text-2xl font-bold text-base-content">Information We Collect</h2>
|
||||
<!-- Content -->
|
||||
<div class="legal-content container relative z-10 mx-auto max-w-4xl space-y-8 px-4 py-12">
|
||||
<!-- Header -->
|
||||
<div class="text-center">
|
||||
<div
|
||||
class="mb-4 inline-flex rounded-full border border-neon-green/30 bg-neon-green/10 p-4"
|
||||
style="box-shadow: 0 0 30px rgba(0, 255, 136, 0.2);"
|
||||
>
|
||||
<Shield
|
||||
class="h-12 w-12 text-neon-green"
|
||||
style="filter: drop-shadow(0 0 10px rgba(0, 255, 136, 0.5));"
|
||||
/>
|
||||
</div>
|
||||
<h1
|
||||
class="mb-4 text-4xl font-bold text-white"
|
||||
style="text-shadow: 0 0 30px rgba(0, 212, 255, 0.5);"
|
||||
>
|
||||
Privacy Policy
|
||||
</h1>
|
||||
<p class="text-lg text-white/60">Last updated: {lastUpdated}</p>
|
||||
</div>
|
||||
|
||||
<div class="space-y-4 text-base-content/80">
|
||||
<div>
|
||||
<h3 class="mb-2 font-semibold text-base-content">Public Steam Data</h3>
|
||||
<p>
|
||||
We collect publicly available information from Steam profiles and CS2 match data,
|
||||
including:
|
||||
</p>
|
||||
<ul class="ml-6 mt-2 list-disc space-y-1">
|
||||
<li>Steam ID and profile information</li>
|
||||
<li>Match statistics and performance data</li>
|
||||
<li>In-game chat messages (from parsed demo files)</li>
|
||||
<li>VAC and game ban status</li>
|
||||
<!-- Introduction -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Introduction</h2>
|
||||
<p class="text-white/70">
|
||||
teamflash.rip ("we", "our", or "us") is committed to protecting your privacy. This Privacy
|
||||
Policy explains how we collect, use, and safeguard your information when you use our CS2
|
||||
match statistics and flash crime analysis platform.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Data Collection -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Eye
|
||||
class="h-6 w-6 text-neon-blue"
|
||||
style="filter: drop-shadow(0 0 8px rgba(0, 212, 255, 0.5));"
|
||||
/>
|
||||
<h2 class="text-2xl font-bold text-white">Information We Collect</h2>
|
||||
</div>
|
||||
|
||||
<div class="space-y-6 text-white/70">
|
||||
<div>
|
||||
<h3 class="mb-2 font-semibold text-white">Public Steam Data</h3>
|
||||
<p class="mb-2">
|
||||
We collect publicly available information from Steam profiles and CS2 match data,
|
||||
including:
|
||||
</p>
|
||||
<ul class="ml-4 space-y-1">
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-blue"></span>
|
||||
Steam ID and profile information
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-blue"></span>
|
||||
Match statistics and performance data
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-blue"></span>
|
||||
In-game chat messages (from parsed demo files)
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-blue"></span>
|
||||
VAC and game ban status
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 class="mb-2 font-semibold text-white">Usage Data</h3>
|
||||
<p>
|
||||
We may collect information about how you interact with our service, including pages
|
||||
visited and features used.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 class="mb-2 font-semibold text-white">Browser Storage</h3>
|
||||
<p>
|
||||
We use browser local storage to save your preferences (favorite players, recently
|
||||
visited players) locally on your device. This data never leaves your browser.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- How We Use Data -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Server
|
||||
class="h-6 w-6 text-neon-purple"
|
||||
style="filter: drop-shadow(0 0 8px rgba(168, 85, 247, 0.5));"
|
||||
/>
|
||||
<h2 class="text-2xl font-bold text-white">How We Use Your Information</h2>
|
||||
</div>
|
||||
|
||||
<div class="space-y-2 text-white/70">
|
||||
<p>We use collected information to:</p>
|
||||
<ul class="ml-4 space-y-1">
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-purple"></span>
|
||||
Provide match statistics and performance analysis
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-purple"></span>
|
||||
Track player performance over time
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-purple"></span>
|
||||
Generate charts and visualizations
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-purple"></span>
|
||||
Improve our service and user experience
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-purple"></span>
|
||||
Detect and prevent abuse
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 class="mb-2 font-semibold text-base-content">Usage Data</h3>
|
||||
<p>
|
||||
We may collect information about how you interact with our service, including pages
|
||||
visited and features used.
|
||||
</p>
|
||||
<!-- Cookies -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Cookie
|
||||
class="h-6 w-6 text-neon-gold"
|
||||
style="filter: drop-shadow(0 0 8px rgba(255, 170, 0, 0.5));"
|
||||
/>
|
||||
<h2 class="text-2xl font-bold text-white">Cookies and Local Storage</h2>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<h3 class="mb-2 font-semibold text-base-content">Browser Storage</h3>
|
||||
<p>
|
||||
We use browser local storage to save your preferences (theme, favorite players, recently
|
||||
visited players) locally on your device. This data never leaves your browser.
|
||||
<div class="space-y-2 text-white/70">
|
||||
<p>We use browser local storage to:</p>
|
||||
<ul class="ml-4 space-y-1">
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-gold"></span>
|
||||
Remember your favorite players
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-gold"></span>
|
||||
Track recently visited player profiles
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-gold"></span>
|
||||
Save navigation state for better UX
|
||||
</li>
|
||||
</ul>
|
||||
<p class="mt-4">
|
||||
You can clear this data at any time through your browser settings. No tracking cookies are
|
||||
used.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
<!-- How We Use Data -->
|
||||
<Card padding="lg">
|
||||
<div class="mb-4 flex items-center gap-2">
|
||||
<Server class="h-6 w-6 text-primary" />
|
||||
<h2 class="text-2xl font-bold text-base-content">How We Use Your Information</h2>
|
||||
<!-- Data Sharing -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Users
|
||||
class="h-6 w-6 text-neon-blue"
|
||||
style="filter: drop-shadow(0 0 8px rgba(0, 212, 255, 0.5));"
|
||||
/>
|
||||
<h2 class="text-2xl font-bold text-white">Data Sharing and Disclosure</h2>
|
||||
</div>
|
||||
<div class="space-y-2 text-white/70">
|
||||
<p>We do not sell, trade, or rent your personal information to third parties.</p>
|
||||
<p>We may share information in the following circumstances:</p>
|
||||
<ul class="ml-4 space-y-1">
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-blue"></span>
|
||||
When required by law or legal process
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-blue"></span>
|
||||
To protect our rights, property, or safety
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-blue"></span>
|
||||
With service providers who assist in operating our platform
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="space-y-2 text-base-content/80">
|
||||
<p>We use collected information to:</p>
|
||||
<ul class="ml-6 list-disc space-y-1">
|
||||
<li>Provide match statistics and performance analysis</li>
|
||||
<li>Track player performance over time</li>
|
||||
<li>Generate charts and visualizations</li>
|
||||
<li>Improve our service and user experience</li>
|
||||
<li>Detect and prevent abuse</li>
|
||||
</ul>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
<!-- Cookies -->
|
||||
<Card padding="lg">
|
||||
<div class="mb-4 flex items-center gap-2">
|
||||
<Cookie class="h-6 w-6 text-primary" />
|
||||
<h2 class="text-2xl font-bold text-base-content">Cookies and Local Storage</h2>
|
||||
</div>
|
||||
|
||||
<div class="space-y-2 text-base-content/80">
|
||||
<p>We use browser local storage to:</p>
|
||||
<ul class="ml-6 list-disc space-y-1">
|
||||
<li>Save your theme preference (light/dark mode)</li>
|
||||
<li>Remember your favorite players</li>
|
||||
<li>Track recently visited player profiles</li>
|
||||
</ul>
|
||||
<p class="mt-4">
|
||||
You can clear this data at any time through your browser settings. No tracking cookies are
|
||||
used.
|
||||
<!-- Security -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Lock
|
||||
class="h-6 w-6 text-neon-green"
|
||||
style="filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.5));"
|
||||
/>
|
||||
<h2 class="text-2xl font-bold text-white">Data Security</h2>
|
||||
</div>
|
||||
<p class="text-white/70">
|
||||
We implement reasonable security measures to protect your information. However, no method of
|
||||
transmission over the Internet is 100% secure. All Steam data displayed is already publicly
|
||||
available through Steam's Community features.
|
||||
</p>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
<!-- Data Sharing -->
|
||||
<Card padding="lg">
|
||||
<h2 class="mb-4 text-2xl font-bold text-base-content">Data Sharing and Disclosure</h2>
|
||||
<div class="space-y-2 text-base-content/80">
|
||||
<p>We do not sell, trade, or rent your personal information to third parties.</p>
|
||||
<p>We may share information in the following circumstances:</p>
|
||||
<ul class="ml-6 list-disc space-y-1">
|
||||
<li>When required by law or legal process</li>
|
||||
<li>To protect our rights, property, or safety</li>
|
||||
<li>With service providers who assist in operating our platform</li>
|
||||
</ul>
|
||||
<!-- Your Rights -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Your Rights</h2>
|
||||
<div class="space-y-2 text-white/70">
|
||||
<p>You have the right to:</p>
|
||||
<ul class="ml-4 space-y-1">
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-green"></span>
|
||||
Access the data we have about you
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-green"></span>
|
||||
Request correction of inaccurate data
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-green"></span>
|
||||
Request deletion of your data
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-green"></span>
|
||||
Opt-out of data collection by not using our service
|
||||
</li>
|
||||
</ul>
|
||||
<p class="mt-4">
|
||||
Since we only display publicly available Steam data, you can control what information is
|
||||
public through your Steam privacy settings.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
<!-- Security -->
|
||||
<Card padding="lg">
|
||||
<h2 class="mb-4 text-2xl font-bold text-base-content">Data Security</h2>
|
||||
<p class="text-base-content/80">
|
||||
We implement reasonable security measures to protect your information. However, no method of
|
||||
transmission over the Internet is 100% secure. All Steam data displayed is already publicly
|
||||
available through Steam's Community features.
|
||||
</p>
|
||||
</Card>
|
||||
<!-- Third-Party Services -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Globe
|
||||
class="h-6 w-6 text-neon-purple"
|
||||
style="filter: drop-shadow(0 0 8px rgba(168, 85, 247, 0.5));"
|
||||
/>
|
||||
<h2 class="text-2xl font-bold text-white">Third-Party Services</h2>
|
||||
</div>
|
||||
<div class="space-y-2 text-white/70">
|
||||
<p>Our service may contain links to third-party websites, including:</p>
|
||||
<ul class="ml-4 space-y-1">
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-purple"></span>
|
||||
Steam Community profiles
|
||||
</li>
|
||||
<li class="flex items-center gap-2">
|
||||
<span class="h-1.5 w-1.5 rounded-full bg-neon-purple"></span>
|
||||
Google Translate (for chat translation)
|
||||
</li>
|
||||
</ul>
|
||||
<p class="mt-4">
|
||||
We are not responsible for the privacy practices of these third-party services. Please
|
||||
review their privacy policies.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Your Rights -->
|
||||
<Card padding="lg">
|
||||
<h2 class="mb-4 text-2xl font-bold text-base-content">Your Rights</h2>
|
||||
<div class="space-y-2 text-base-content/80">
|
||||
<p>You have the right to:</p>
|
||||
<ul class="ml-6 list-disc space-y-1">
|
||||
<li>Access the data we have about you</li>
|
||||
<li>Request correction of inaccurate data</li>
|
||||
<li>Request deletion of your data</li>
|
||||
<li>Opt-out of data collection by not using our service</li>
|
||||
</ul>
|
||||
<p class="mt-4">
|
||||
Since we only display publicly available Steam data, you can control what information is
|
||||
public through your Steam privacy settings.
|
||||
<!-- Children's Privacy -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Children's Privacy</h2>
|
||||
<p class="text-white/70">
|
||||
Our service is not directed to children under 13. We do not knowingly collect personal
|
||||
information from children. If you believe we have collected information from a child, please
|
||||
contact us.
|
||||
</p>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
<!-- Third-Party Services -->
|
||||
<Card padding="lg">
|
||||
<h2 class="mb-4 text-2xl font-bold text-base-content">Third-Party Services</h2>
|
||||
<div class="space-y-2 text-base-content/80">
|
||||
<p>Our service may contain links to third-party websites, including:</p>
|
||||
<ul class="ml-6 list-disc space-y-1">
|
||||
<li>Steam Community profiles</li>
|
||||
<li>Google Translate (for chat translation)</li>
|
||||
</ul>
|
||||
<p class="mt-4">
|
||||
We are not responsible for the privacy practices of these third-party services. Please
|
||||
review their privacy policies.
|
||||
<!-- Changes -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Changes to This Policy</h2>
|
||||
<p class="text-white/70">
|
||||
We may update this Privacy Policy from time to time. Changes will be posted on this page
|
||||
with an updated "Last updated" date. Continued use of the service after changes constitutes
|
||||
acceptance of the updated policy.
|
||||
</p>
|
||||
</div>
|
||||
</Card>
|
||||
|
||||
<!-- Children's Privacy -->
|
||||
<Card padding="lg">
|
||||
<h2 class="mb-4 text-2xl font-bold text-base-content">Children's Privacy</h2>
|
||||
<p class="text-base-content/80">
|
||||
Our service is not directed to children under 13. We do not knowingly collect personal
|
||||
information from children. If you believe we have collected information from a child, please
|
||||
contact us.
|
||||
</p>
|
||||
</Card>
|
||||
|
||||
<!-- Changes -->
|
||||
<Card padding="lg">
|
||||
<h2 class="mb-4 text-2xl font-bold text-base-content">Changes to This Policy</h2>
|
||||
<p class="text-base-content/80">
|
||||
We may update this Privacy Policy from time to time. Changes will be posted on this page with
|
||||
an updated "Last updated" date. Continued use of the service after changes constitutes
|
||||
acceptance of the updated policy.
|
||||
</p>
|
||||
</Card>
|
||||
|
||||
<!-- Contact -->
|
||||
<Card padding="lg">
|
||||
<div class="mb-4 flex items-center gap-2">
|
||||
<Mail class="h-6 w-6 text-primary" />
|
||||
<h2 class="text-2xl font-bold text-base-content">Contact Us</h2>
|
||||
<!-- Contact -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Mail
|
||||
class="h-6 w-6 text-neon-blue"
|
||||
style="filter: drop-shadow(0 0 8px rgba(0, 212, 255, 0.5));"
|
||||
/>
|
||||
<h2 class="text-2xl font-bold text-white">Contact Us</h2>
|
||||
</div>
|
||||
<p class="text-white/70">
|
||||
If you have questions about this Privacy Policy or our data practices, please visit our
|
||||
<a
|
||||
href="https://somegit.dev/CSGOWTF/csgowtf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-neon-blue underline decoration-neon-blue/30 transition-colors hover:decoration-neon-blue"
|
||||
>
|
||||
GitHub repository
|
||||
</a>
|
||||
for more information or to report issues.
|
||||
</p>
|
||||
</div>
|
||||
<p class="text-base-content/80">
|
||||
If you have questions about this Privacy Policy or our data practices, please visit our GitHub
|
||||
repository for more information or to report issues.
|
||||
</p>
|
||||
</Card>
|
||||
|
||||
<!-- Footer Note -->
|
||||
<div class="text-center text-sm text-base-content/60">
|
||||
<p>
|
||||
teamflash.rip is not affiliated with Valve Corporation or Counter-Strike. All trademarks are
|
||||
property of their respective owners.
|
||||
</p>
|
||||
<!-- Footer Note -->
|
||||
<div class="text-center text-sm text-white/40">
|
||||
<p>
|
||||
teamflash.rip is not affiliated with Valve Corporation or Counter-Strike. All trademarks are
|
||||
property of their respective owners.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.legal-content :global(h1),
|
||||
.legal-content :global(h2),
|
||||
.legal-content :global(h3) {
|
||||
font-family:
|
||||
system-ui,
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
'Segoe UI',
|
||||
Roboto,
|
||||
sans-serif;
|
||||
}
|
||||
</style>
|
||||
|
||||
233
src/routes/terms/+page.svelte
Normal file
233
src/routes/terms/+page.svelte
Normal file
@@ -0,0 +1,233 @@
|
||||
<script lang="ts">
|
||||
import { FileText, AlertTriangle, Scale, Users, Ban, RefreshCw } from 'lucide-svelte';
|
||||
|
||||
const lastUpdated = new Date().toLocaleDateString('en-US', {
|
||||
year: 'numeric',
|
||||
month: 'long',
|
||||
day: 'numeric'
|
||||
});
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>Terms of Service | teamflash.rip</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Terms of Service for teamflash.rip - CS2 match analysis platform."
|
||||
/>
|
||||
</svelte:head>
|
||||
|
||||
<div class="relative min-h-screen bg-void">
|
||||
<!-- Decorative Background -->
|
||||
<div class="pointer-events-none absolute inset-0 overflow-hidden">
|
||||
<div class="absolute -left-40 top-20 h-80 w-80 rounded-full bg-neon-blue/10 blur-[100px]"></div>
|
||||
<div
|
||||
class="absolute -right-40 top-60 h-80 w-80 rounded-full bg-neon-purple/10 blur-[100px]"
|
||||
></div>
|
||||
<div
|
||||
class="absolute inset-0 opacity-20"
|
||||
style="background-image: linear-gradient(rgba(0, 212, 255, 0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 212, 255, 0.03) 1px, transparent 1px); background-size: 60px 60px;"
|
||||
></div>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="legal-content container relative z-10 mx-auto max-w-4xl space-y-8 px-4 py-12">
|
||||
<!-- Header -->
|
||||
<div class="text-center">
|
||||
<div class="mb-4 inline-flex rounded-full border border-neon-blue/30 bg-neon-blue/10 p-4">
|
||||
<FileText class="h-12 w-12 text-neon-blue" />
|
||||
</div>
|
||||
<h1 class="mb-4 text-4xl font-bold text-white">Terms of Service</h1>
|
||||
<p class="text-lg text-white/60">Last updated: {lastUpdated}</p>
|
||||
</div>
|
||||
|
||||
<!-- Introduction -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Agreement to Terms</h2>
|
||||
<p class="leading-relaxed text-white/70">
|
||||
By accessing or using teamflash.rip ("the Service"), you agree to be bound by these Terms of
|
||||
Service. If you do not agree to these terms, please do not use the Service. These terms
|
||||
apply to all visitors, users, and others who access the Service.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Use of Service -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Users class="h-6 w-6 text-neon-blue" />
|
||||
<h2 class="text-2xl font-bold text-white">Use of Service</h2>
|
||||
</div>
|
||||
<div class="space-y-4 leading-relaxed text-white/70">
|
||||
<p>
|
||||
You agree to use the Service only for lawful purposes and in accordance with these Terms.
|
||||
You agree not to:
|
||||
</p>
|
||||
<ul class="ml-4 space-y-2">
|
||||
<li class="flex items-start gap-2">
|
||||
<span class="mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-neon-blue"></span>
|
||||
<span>Use the Service in any way that violates applicable laws or regulations</span>
|
||||
</li>
|
||||
<li class="flex items-start gap-2">
|
||||
<span class="mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-neon-blue"></span>
|
||||
<span>Attempt to gain unauthorized access to any part of the Service</span>
|
||||
</li>
|
||||
<li class="flex items-start gap-2">
|
||||
<span class="mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-neon-blue"></span>
|
||||
<span>Use automated systems to scrape or extract data without permission</span>
|
||||
</li>
|
||||
<li class="flex items-start gap-2">
|
||||
<span class="mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-neon-blue"></span>
|
||||
<span>Interfere with or disrupt the Service or servers connected to it</span>
|
||||
</li>
|
||||
<li class="flex items-start gap-2">
|
||||
<span class="mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-neon-blue"></span>
|
||||
<span>Use the Service to harass, abuse, or harm others</span>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- User Content -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<FileText class="h-6 w-6 text-neon-purple" />
|
||||
<h2 class="text-2xl font-bold text-white">User Content</h2>
|
||||
</div>
|
||||
<div class="space-y-4 leading-relaxed text-white/70">
|
||||
<p>
|
||||
When you upload demo files or otherwise submit content to the Service, you grant us a
|
||||
non-exclusive, worldwide, royalty-free license to use, store, and process that content
|
||||
solely for the purpose of providing the Service.
|
||||
</p>
|
||||
<p>
|
||||
You represent that you have the right to upload any demo files you submit and that doing
|
||||
so does not violate any third-party rights or applicable laws.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Intellectual Property -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Scale class="h-6 w-6 text-neon-gold" />
|
||||
<h2 class="text-2xl font-bold text-white">Intellectual Property</h2>
|
||||
</div>
|
||||
<div class="space-y-4 leading-relaxed text-white/70">
|
||||
<p>
|
||||
The Service and its original content (excluding user-submitted content) are and will
|
||||
remain the property of teamflash.rip and its contributors. The Service is licensed under
|
||||
the GPL-3.0 license.
|
||||
</p>
|
||||
<p>
|
||||
Counter-Strike, CS2, Steam, and related trademarks are property of Valve Corporation.
|
||||
teamflash.rip is not affiliated with or endorsed by Valve Corporation.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Disclaimers -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<AlertTriangle class="h-6 w-6 text-neon-gold" />
|
||||
<h2 class="text-2xl font-bold text-white">Disclaimers</h2>
|
||||
</div>
|
||||
<div class="space-y-4 leading-relaxed text-white/70">
|
||||
<p>
|
||||
The Service is provided "as is" and "as available" without warranties of any kind, either
|
||||
express or implied, including but not limited to implied warranties of merchantability,
|
||||
fitness for a particular purpose, or non-infringement.
|
||||
</p>
|
||||
<p>
|
||||
We do not warrant that the Service will be uninterrupted, secure, or error-free. Match
|
||||
statistics and analysis are provided for informational purposes only and may contain
|
||||
inaccuracies.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Limitation of Liability -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Limitation of Liability</h2>
|
||||
<p class="leading-relaxed text-white/70">
|
||||
In no event shall teamflash.rip, its operators, or contributors be liable for any indirect,
|
||||
incidental, special, consequential, or punitive damages, including without limitation loss
|
||||
of profits, data, or use, arising out of or in connection with your use of the Service,
|
||||
whether based on warranty, contract, tort, or any other legal theory.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Termination -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<Ban class="h-6 w-6 text-neon-red" />
|
||||
<h2 class="text-2xl font-bold text-white">Termination</h2>
|
||||
</div>
|
||||
<p class="leading-relaxed text-white/70">
|
||||
We may terminate or suspend your access to the Service immediately, without prior notice or
|
||||
liability, for any reason, including if you breach these Terms. Upon termination, your right
|
||||
to use the Service will immediately cease.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Changes -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<div class="mb-4 flex items-center gap-3">
|
||||
<RefreshCw class="h-6 w-6 text-neon-blue" />
|
||||
<h2 class="text-2xl font-bold text-white">Changes to Terms</h2>
|
||||
</div>
|
||||
<p class="leading-relaxed text-white/70">
|
||||
We reserve the right to modify or replace these Terms at any time. Material changes will be
|
||||
posted on this page with an updated date. Your continued use of the Service after changes
|
||||
constitutes acceptance of the new Terms.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Governing Law -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Governing Law</h2>
|
||||
<p class="leading-relaxed text-white/70">
|
||||
These Terms shall be governed by and construed in accordance with applicable laws, without
|
||||
regard to conflict of law provisions. Any disputes arising from these Terms or the Service
|
||||
shall be resolved through good-faith negotiation.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Contact -->
|
||||
<div class="rounded-xl border border-white/10 bg-void-light p-6">
|
||||
<h2 class="mb-4 text-2xl font-bold text-white">Contact Us</h2>
|
||||
<p class="leading-relaxed text-white/70">
|
||||
If you have questions about these Terms, please visit our
|
||||
<a
|
||||
href="https://somegit.dev/CSGOWTF/csgowtf"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-neon-blue underline decoration-neon-blue/30 transition-colors hover:decoration-neon-blue"
|
||||
>
|
||||
GitHub repository
|
||||
</a>
|
||||
or open an issue.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Footer Note -->
|
||||
<div class="text-center text-sm text-white/40">
|
||||
<p>
|
||||
teamflash.rip is not affiliated with Valve Corporation or Counter-Strike. All trademarks are
|
||||
property of their respective owners.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.legal-content :global(h1),
|
||||
.legal-content :global(h2),
|
||||
.legal-content :global(h3) {
|
||||
font-family:
|
||||
system-ui,
|
||||
-apple-system,
|
||||
BlinkMacSystemFont,
|
||||
'Segoe UI',
|
||||
Roboto,
|
||||
sans-serif;
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user