Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions src/routeTree.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.

import { Route as rootRouteImport } from './routes/__root'
import { Route as PrivacyRouteImport } from './routes/privacy'
import { Route as AuthRouteImport } from './routes/_auth'
import { Route as AppRouteImport } from './routes/_app'
import { Route as AppIndexRouteImport } from './routes/_app/index'
Expand All @@ -27,6 +28,11 @@ import { Route as DemoStartSsrSpaModeRouteImport } from './routes/demo/start.ssr
import { Route as DemoStartSsrFullSsrRouteImport } from './routes/demo/start.ssr.full-ssr'
import { Route as DemoStartSsrDataOnlyRouteImport } from './routes/demo/start.ssr.data-only'

const PrivacyRoute = PrivacyRouteImport.update({
id: '/privacy',
path: '/privacy',
getParentRoute: () => rootRouteImport,
} as any)
const AuthRoute = AuthRouteImport.update({
id: '/_auth',
getParentRoute: () => rootRouteImport,
Expand Down Expand Up @@ -112,6 +118,7 @@ const DemoStartSsrDataOnlyRoute = DemoStartSsrDataOnlyRouteImport.update({
} as any)

export interface FileRoutesByFullPath {
'/privacy': typeof PrivacyRoute
'/login': typeof AuthLoginRoute
'/demo/storybook': typeof DemoStorybookRoute
'/demo/table': typeof DemoTableRoute
Expand All @@ -129,6 +136,7 @@ export interface FileRoutesByFullPath {
'/demo/start/ssr': typeof DemoStartSsrIndexRoute
}
export interface FileRoutesByTo {
'/privacy': typeof PrivacyRoute
'/login': typeof AuthLoginRoute
'/demo/storybook': typeof DemoStorybookRoute
'/demo/table': typeof DemoTableRoute
Expand All @@ -149,6 +157,7 @@ export interface FileRoutesById {
__root__: typeof rootRouteImport
'/_app': typeof AppRouteWithChildren
'/_auth': typeof AuthRouteWithChildren
'/privacy': typeof PrivacyRoute
'/_auth/login': typeof AuthLoginRoute
'/demo/storybook': typeof DemoStorybookRoute
'/demo/table': typeof DemoTableRoute
Expand All @@ -168,6 +177,7 @@ export interface FileRoutesById {
export interface FileRouteTypes {
fileRoutesByFullPath: FileRoutesByFullPath
fullPaths:
| '/privacy'
| '/login'
| '/demo/storybook'
| '/demo/table'
Expand All @@ -185,6 +195,7 @@ export interface FileRouteTypes {
| '/demo/start/ssr'
fileRoutesByTo: FileRoutesByTo
to:
| '/privacy'
| '/login'
| '/demo/storybook'
| '/demo/table'
Expand All @@ -204,6 +215,7 @@ export interface FileRouteTypes {
| '__root__'
| '/_app'
| '/_auth'
| '/privacy'
| '/_auth/login'
| '/demo/storybook'
| '/demo/table'
Expand All @@ -224,6 +236,7 @@ export interface FileRouteTypes {
export interface RootRouteChildren {
AppRoute: typeof AppRouteWithChildren
AuthRoute: typeof AuthRouteWithChildren
PrivacyRoute: typeof PrivacyRoute
DemoStorybookRoute: typeof DemoStorybookRoute
DemoTableRoute: typeof DemoTableRoute
DemoTanstackQueryRoute: typeof DemoTanstackQueryRoute
Expand All @@ -241,6 +254,13 @@ export interface RootRouteChildren {

declare module '@tanstack/react-router' {
interface FileRoutesByPath {
'/privacy': {
id: '/privacy'
path: '/privacy'
fullPath: '/privacy'
preLoaderRoute: typeof PrivacyRouteImport
parentRoute: typeof rootRouteImport
}
'/_auth': {
id: '/_auth'
path: ''
Expand Down Expand Up @@ -386,6 +406,7 @@ const AuthRouteWithChildren = AuthRoute._addFileChildren(AuthRouteChildren)
const rootRouteChildren: RootRouteChildren = {
AppRoute: AppRouteWithChildren,
AuthRoute: AuthRouteWithChildren,
PrivacyRoute: PrivacyRoute,
DemoStorybookRoute: DemoStorybookRoute,
DemoTableRoute: DemoTableRoute,
DemoTanstackQueryRoute: DemoTanstackQueryRoute,
Expand Down
118 changes: 118 additions & 0 deletions src/routes/privacy.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
import { createFileRoute } from "@tanstack/react-router";

export const Route = createFileRoute("/privacy")({
component: PrivacyPolicyComponent,
head: () => ({
meta: [
{
title: "Privacy Policy",
},
{
name: "description",
content: "Our privacy policy and data protection practices",
},
],
}),
});

function PrivacyPolicyComponent() {
return (
<div className="min-h-screen bg-white">
<div className="max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 py-12">
<h1 className="text-4xl font-bold mb-8">Privacy Policy</h1>
<p className="text-gray-600 mb-8">
Last updated: {new Date().toLocaleDateString()}
</p>

<section className="space-y-6">
<div>
<h2 className="text-2xl font-semibold mb-4">1. Introduction</h2>
<p className="text-gray-700 leading-relaxed">
We are committed to protecting your privacy. This Privacy Policy
explains how we collect, use, disclose, and safeguard your
information when you visit our website.
</p>
</div>

<div>
<h2 className="text-2xl font-semibold mb-4">
2. Information We Collect
</h2>
<p className="text-gray-700 leading-relaxed mb-3">
We may collect information about you in a variety of ways. The
information we may collect on the site includes:
</p>
<ul className="list-disc list-inside text-gray-700 space-y-2 ml-4">
<li>Personal identification information (name, email, etc.)</li>
<li>Navigational information about your browsing activity</li>
<li>Device information (browser type, IP address, etc.)</li>
<li>Usage information about how you interact with our services</li>
</ul>
</div>

<div>
<h2 className="text-2xl font-semibold mb-4">3. Use of Your Information</h2>
<p className="text-gray-700 leading-relaxed mb-3">
Having accurate information about you permits us to provide you
with a smooth, efficient, and customized experience. Specifically,
we may use information collected about you via the site to:
</p>
<ul className="list-disc list-inside text-gray-700 space-y-2 ml-4">
<li>Generate analytics about how you use our site</li>
<li>Fulfill and manage your requests</li>
<li>Send periodic emails regarding your order or other products</li>
<li>
Improve our site based on feedback and information we receive
</li>
<li>Monitor and analyze trends, usage, and activities</li>
</ul>
</div>

<div>
<h2 className="text-2xl font-semibold mb-4">4. Disclosure of Your Information</h2>
<p className="text-gray-700 leading-relaxed">
We may share your information in the following situations:
</p>
<ul className="list-disc list-inside text-gray-700 space-y-2 ml-4 mt-3">
<li>By law or to protect our rights</li>
<li>With service providers who assist us in operating our website</li>
<li>With third-party partners (only with your consent)</li>
</ul>
</div>

<div>
<h2 className="text-2xl font-semibold mb-4">5. Security of Your Information</h2>
<p className="text-gray-700 leading-relaxed">
We use administrative, technical, and physical security measures to
protect your personal information. However, no method of transmission
over the Internet or method of electronic storage is 100% secure.
</p>
</div>

<div>
<h2 className="text-2xl font-semibold mb-4">6. Contact Us</h2>
<p className="text-gray-700 leading-relaxed">
If you have questions or comments about this Privacy Policy, please
contact us at:
</p>
<div className="mt-3 text-gray-700">
<p>Email: root@leafycode.com</p>
<p>Address: leafycode international</p>
</div>
</div>

<div>
<h2 className="text-2xl font-semibold mb-4">7. Changes to This Privacy Policy</h2>
<p className="text-gray-700 leading-relaxed">
We may update this Privacy Policy from time to time in order to
reflect, for example, changes to our practices or for other
operational, legal, or regulatory reasons. We will notify you of
any changes by updating the "Last updated" date of this Privacy
Policy.
</p>
</div>
</section>
</div>
</div>
);
}