-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9920156
commit 4cfc1dd
Showing
7 changed files
with
167 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
<script setup lang="ts"> | ||
import { ref, onMounted } from 'vue'; | ||
import { Button } from '@/components/ui/button'; | ||
const isVisible = ref(false); | ||
onMounted(() => { | ||
const hasAcceptedCookies = localStorage.getItem('cookiesAccepted'); | ||
if (!hasAcceptedCookies) { | ||
setTimeout(() => { | ||
isVisible.value = true; | ||
}, 500); | ||
} | ||
}); | ||
const acceptCookies = () => { | ||
localStorage.setItem('cookiesAccepted', 'true'); | ||
isVisible.value = false; | ||
}; | ||
</script> | ||
|
||
<template> | ||
<Transition name="slide-up"> | ||
<div v-if="isVisible" class="fixed bottom-0 left-0 right-0 bg-background border-t border-border p-4 shadow-lg z-50"> | ||
<div class="container mx-auto flex flex-col sm:flex-row items-center justify-between"> | ||
<p class="text-sm text-muted-foreground mb-4 sm:mb-0 sm:mr-4"> | ||
We use cookies and device information to improve your experience. By continuing to use our site, you agree to | ||
our | ||
<a href="/privacy-policy" class="text-primary hover:underline">Privacy Policy</a>. | ||
</p> | ||
<Button @click="acceptCookies" variant="outline" size="sm"> Accept </Button> | ||
</div> | ||
</div> | ||
</Transition> | ||
</template> | ||
|
||
<style scoped> | ||
.slide-up-enter-active, | ||
.slide-up-leave-active { | ||
transition: transform 0.3s ease-out; | ||
} | ||
.slide-up-enter-from, | ||
.slide-up-leave-to { | ||
transform: translateY(100%); | ||
} | ||
</style> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
--- | ||
import { marked } from 'marked'; | ||
import Page from '@/components/common/Page.astro'; | ||
import { Card, CardContent } from '@/components/ui/card'; | ||
const privacyPolicyMarkdown = ` | ||
# Privacy Policy | ||
## Introduction | ||
Welcome to AlphaPush. We are committed to protecting your privacy and ensuring the security of your personal information. This Privacy Policy explains how we collect, use, and safeguard your data when you use our service. | ||
## Information We Collect | ||
### Device Information | ||
We use Fingerprint.js to collect device information for the purpose of improving your experience and ensuring the security of our service. This information may include: | ||
### Cookies | ||
We use cookies to enhance your browsing experience and provide personalized features. Cookies are small text files stored on your device that help us recognize you and remember your preferences. | ||
## How We Use Your Information | ||
The information we collect is used solely for the following purposes: | ||
1. To provide and maintain our service | ||
2. To improve user experience | ||
## Data Security | ||
We take the security of your data seriously. All device information and other data collected are: | ||
- Not shared with any third parties | ||
- Not stored alongside sensitive data in our local databases | ||
- Protected using industry-standard security measures | ||
## Your Rights | ||
You have the right to: | ||
- Access the personal information we hold about you | ||
- Request correction of any inaccurate information | ||
- Request deletion of your data from our systems | ||
## Changes to This Policy | ||
We may update this Privacy Policy from time to time. We will notify you of any changes by posting the new Privacy Policy on this page. | ||
`; | ||
const content = marked(privacyPolicyMarkdown); | ||
--- | ||
|
||
<Page title="Privacy Policy" description="Our commitment to protecting your privacy"> | ||
<Card class="max-w-4xl mx-auto"> | ||
<CardContent class="prose dark:prose-invert max-w-none pt-8 px-8 pb-10"> | ||
<div set:html={content} class="space-y-8" /> | ||
</CardContent> | ||
</Card> | ||
<p class="text-sm text-center mt-8 mb-10 text-gray-600 dark:text-gray-400">Last updated: 2024-08-25</p> | ||
</Page> | ||
|
||
<style is:global> | ||
.prose h1 { | ||
@apply text-xl font-bold mb-4 text-primary; | ||
} | ||
.prose h2 { | ||
@apply text-lg font-semibold mt-4 mb-2 text-primary; | ||
} | ||
.prose h3 { | ||
@apply text-base font-medium my-2; | ||
} | ||
.prose p { | ||
@apply mb-2 leading-relaxed; | ||
} | ||
.prose ul { | ||
@apply list-disc list-inside mb-2 pl-4; | ||
} | ||
.prose ol { | ||
@apply list-decimal list-inside mb-2 pl-4; | ||
} | ||
.prose li { | ||
@apply mb-2; | ||
} | ||
.prose a { | ||
@apply text-blue-600 hover:underline dark:text-blue-400; | ||
} | ||
.prose strong { | ||
@apply font-semibold; | ||
} | ||
</style> |