Skip to content

Commit

Permalink
Add terms of service and privacy policy
Browse files Browse the repository at this point in the history
  • Loading branch information
bombies committed Oct 25, 2023
1 parent fb08fa0 commit abfa56d
Show file tree
Hide file tree
Showing 6 changed files with 198 additions and 5 deletions.
File renamed without changes.
73 changes: 73 additions & 0 deletions src/app/(site)/(external)/privacy/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import {FC} from "react";
import {Spacer} from "@nextui-org/react";
import {Divider} from "@nextui-org/divider";

const PrivacyPolicy: FC = () => {
return (
<main className="flex flex-col items-center py-32 phone:py-16">
<h1 className="font-bold text-6xl phone:text-3xl mb-6">Privacy Policy</h1>
<article className="w-1/2 tablet:w-2/3 phone:w-3/4 bg-secondary/40 rounded-xl p-12">
<h6 className="text-sm text-subtext mb-3">Last Updated: October 25, 2023</h6>
<p>
{
"DreamLogger (\"we\", \"our\", or \"us\") is committed to protecting the privacy of our users (\"you\" or \"your\"). This Privacy Policy outlines how we collect, use, disclose, and safeguard your information when you access or use our website or mobile application (the \"Service\"). By using the Service, you agree to the practices described in this Privacy Policy."
}
</p>
<div className="space-y-12 mt-12">
<div>
<h3 className="font-bold text-2xl">Data Collection</h3>
<p>
{
"Information You Provide: We collect information that you voluntarily provide when you create an account, update your profile, or interact with the Service. This may include your name, email address, and any other information you choose to submit."
}
</p>
<Spacer y={6}/>
<p>
{
"Automatically Collected Information: When you use the Service, we may collect information about your device and how you access and use the Service. This information may include your IP address, browser type, device type, and operating system."
}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Data Storage and Security</h3>
<p>{"Secure Database: We use a secure PostgreSQL database to store user data."}</p>
<Spacer y={6}/>
<p>{"Data Encryption: All data stored is encrypted to ensure its security and confidentiality."}</p>
<Spacer y={6}/>
<p>{"Cookies: Secure cookies are employed to keep track of user sessions, enhancing the user experience and ensuring the security of your interactions with the Service."}</p>
</div>
<div>
<h3 className="font-bold text-2xl">Data Usage</h3>
<p>{"User Accounts: You have the option to create an account. We use the information you provide to authenticate your identity and provide you with access to your account and its features."}</p>
<Spacer y={6}/>
<p>{"Account Deletion: You have the right to delete your account at any time. You can do this instantly by accessing the account settings within the Service."}</p>
</div>
<div>
<h3 className="font-bold text-2xl">Data Sharing</h3>
<p>{"We do not share your personal information with third parties for advertising purposes. However, please note that this policy is subject to change, and any future changes will be communicated to you through the Service."}</p>
</div>
<div>
<h3 className="font-bold text-2xl">Security</h3>
<p>{"We take data security seriously. While we use commercially acceptable means to protect your personal information, no method of data transmission or storage is 100% secure, and we cannot guarantee absolute security."}</p>
</div>
<div>
<h3 className="font-bold text-2xl">Your Choices</h3>
<p>{"You have the right to access, update, and delete your personal information. If you wish to do so, please follow the instructions provided within the Service or contact us at [email protected]."}</p>
</div>
<div>
<h3 className="font-bold text-2xl">Changes to Privacy Policy</h3>
<p>{"We reserve the right to modify this Privacy Policy at any time. The most current version will be posted on our website or within the Service."}</p>
</div>
<div>
<h3 className="font-bold text-2xl">Contact Information</h3>
<p>{"If you have any questions about this Privacy Policy or our data practices, please contact us at [email protected]."}</p>
</div>
</div>
<Divider className="my-6" />
<p>{"By using the Service, you acknowledge that you have read, understood, and agree to be bound by this Privacy Policy."}</p>
</article>
</main>
)
}

export default PrivacyPolicy
87 changes: 87 additions & 0 deletions src/app/(site)/(external)/terms/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
import {FC} from "react";
import {Spacer, Link} from "@nextui-org/react";
import {Divider} from "@nextui-org/divider";

const TermsOfService: FC = () => {
return (
<main className="flex flex-col items-center py-32 phone:py-16">
<h1 className="font-bold text-6xl phone:text-3xl mb-6">Terms of Service</h1>
<article className="w-1/2 tablet:w-2/3 phone:w-3/4 bg-secondary/40 rounded-xl p-12">
<h6 className="text-sm text-subtext mb-3">Last Updated: October 25, 2023</h6>
<p>
{"These Terms of Service (\"Terms\") govern your access to and use of the DreamLogger website or mobile application (the \"Service\"). By using the Service, you agree to these Terms."}
</p>
<div className="space-y-12 mt-12">
<div>
<h3 className="font-bold text-2xl">Acceptance of Terms</h3>
<p>
{"By accessing or using the Service, you agree to be bound by these Terms. If you do not agree to these Terms, please do not use the Service."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Privacy Policy</h3>
<p>
{"Your use of the Service is also governed by our Privacy Policy, which is available "}
<Link href="/privacy">
here
</Link>
{"."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">User Accounts</h3>
<p>
{"To use certain features of the Service, you may be required to create a user account. You are responsible for maintaining the confidentiality of your account and password and for restricting access to your computer or device. You agree to accept responsibility for all activities that occur under your account."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">User Content</h3>
<p>
{"You are solely responsible for the content you submit through the Service, including any text, images, or other material (\"User Content\"). You agree not to post User Content that is unlawful, offensive, or in violation of these Terms."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Intellectual Property</h3>
<p>
{"The Service and its original content, features, and functionality are owned by Ajani Green and are protected by international copyright, trademark, patent, trade secret, and other intellectual property or proprietary rights laws."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Termination</h3>
<p>
{"We reserve the right to terminate or suspend your account and access to the Service, with or without cause and without notice."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Disclaimers and Limitations of Liability</h3>
<p>
{"The Service is provided \"as is\" and \"as available\" without warranties of any kind. We shall not be liable for any indirect, incidental, special, consequential, or punitive damages."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Governing Law</h3>
<p>
{"These Terms are governed by and construed in accordance with the laws of Kingston, Jamaica."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Changes to Terms</h3>
<p>
{"We reserve the right to modify or replace these Terms at any time. The most current version will be posted on our website or within the Service."}
</p>
</div>
<div>
<h3 className="font-bold text-2xl">Contact Information</h3>
<p>
{"If you have any questions about these Terms, please contact us at [email protected]."}
</p>
</div>
</div>
<Divider className="my-12" />
<p>By using the Service, you acknowledge that you have read, understood, and agree to be bound by these Terms.</p>
</article>
</main>
)
}

export default TermsOfService
13 changes: 11 additions & 2 deletions src/app/(site)/components/Footer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,28 @@
import {FC} from "react";
import Image from "@/app/(site)/components/Image";
import {usePathname} from "next/navigation";
import {Link} from "@nextui-org/react";

const Footer: FC = () => {
const pathName = usePathname();

return !pathName.includes("/signin") && (
<footer className="bg-[#08000F] p-20 flex phone:flex-col">
<footer className="bg-[#08000F] p-20 flex justify-between phone:flex-col phone:items-center">
<div>
<Image
className="phone:flex phone:justify-center"
src="/images/DreamLoggerFull.png"
alt="Logo"
imgWidth={250} imgHeight={100}
/>
<p className="text-subtext text-sm">&copy; DreamLogger 2023 - All rights reserved.</p>
<p className="text-subtext text-sm phone:text-center">&copy; DreamLogger 2023 - All rights reserved.</p>
</div>
<div className="phone:mt-12">
<div className='phone:text-center'>
<h3 className="font-bold text-primary">Resources</h3>
<Link className="block" color="foreground" href="/terms">Terms of Service</Link>
<Link className="block" color="foreground" href="/privacy">Privacy Policy</Link>
</div>
</div>
</footer>
)
Expand Down
14 changes: 11 additions & 3 deletions src/app/(site)/components/NavBar.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
"use client";

import {FC, Fragment, useState} from "react";
import {FC, Fragment} from "react";
import {
Navbar,
NavbarBrand,
Expand All @@ -19,14 +19,12 @@ import {useSession} from "next-auth/react";
import UserProfile from "@/app/(site)/components/UserProfile";

const NavBar: FC = () => {
const [, setMenuOpen] = useState(false)
const pathName = usePathname();
const {status: authStatus} = useSession()
const router = useRouter()

return (
<Navbar
onMenuOpenChange={setMenuOpen}
className={clsx((pathName.includes("/dashboard") || pathName.includes("/signin")) && "hidden")}
classNames={{
base: 'bg-[#0C0015]'
Expand Down Expand Up @@ -90,6 +88,16 @@ const NavBar: FC = () => {
ABOUT
</Link>
</NavbarMenuItem>
<NavbarMenuItem>
<Link className="w-full" href="/terms">
TERMS OF SERVICE
</Link>
</NavbarMenuItem>
<NavbarMenuItem>
<Link className="w-full" href="/privacy">
PRIVACY POLICY
</Link>
</NavbarMenuItem>
{
authStatus !== 'authenticated' ?
(
Expand Down
16 changes: 16 additions & 0 deletions src/app/(site)/signin/layout.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
export const metadata = {
title: 'Next.js',
description: 'Generated by Next.js',
}

export default function RootLayout({
children,
}: {
children: React.ReactNode
}) {
return (
<html lang="en">
<body>{children}</body>
</html>
)
}

0 comments on commit abfa56d

Please sign in to comment.