14 |
15 | Welcome to our Privacy Policy page! When you use our web site services,
16 | you trust us with your information. This Privacy Policy is meant to help
17 | you understand what data we collect, why we collect it, and what we do
18 | with it. This is important; we hope you will take time to read it
19 | carefully.
20 |
21 |
Information We Collect
22 |
23 | We collect information to provide better services to all our users. We
24 | collect information in the following ways:
25 |
26 |
27 | -
28 | Information you give us. For example, our services require you to sign
29 | up for an account. When you do, we’ll ask for personal information,
30 | like your name, email address, telephone number or credit card.
31 |
32 | -
33 | Information we get from your use of our services. We collect
34 | information about the services that you use and how you use them, like
35 | when you visit a website that uses our advertising services or you
36 | view and interact with our ads and content.
37 |
38 |
39 |
How We Use Information We Collect
40 |
41 | We use the information we collect from all of our services to provide,
42 | maintain, protect and improve them, to develop new ones, and to protect
43 | our users. We also use this information to offer you tailored content –
44 | like giving you more relevant search results and ads.
45 |
46 |
Transparency and Choice
47 |
48 | People have different privacy concerns. Our goal is to be clear about
49 | what information we collect, so that you can make meaningful choices
50 | about how it is used.
51 |
52 |
Information You Share
53 |
54 | Many of our services let you share information with others. Remember
55 | that when you share information publicly, it may be indexable by search
56 | engines.
57 |
58 |
59 | Accessing and Updating Your Personal Information
60 |
61 |
62 | Whenever you use our services, we aim to provide you with access to your
63 | personal information. If that information is wrong, we strive to give
64 | you ways to update it quickly or to delete it – unless we have to keep
65 | that information for legitimate business or legal purposes.
66 |
67 |
Information We Share
68 |
69 | We do not share personal information with companies, organizations and
70 | individuals outside of our company unless one of the following
71 | circumstances applies:
72 |
73 |
74 | - With your consent
75 | - For external processing
76 | - For legal reasons
77 |
78 |
Security of Information
79 |
80 | We work hard to protect our users from unauthorized access to or
81 | unauthorized alteration, disclosure or destruction of information we
82 | hold.
83 |
84 |
When This Privacy Policy Applies
85 |
86 | Our Privacy Policy applies to all of the services offered by our company
87 | and its affiliates, including services offered on other sites (such as
88 | our advertising services), but excludes services that have separate
89 | privacy policies that do not incorporate this Privacy Policy.
90 |
91 |
92 | Compliance and Cooperation with Regulatory Authorities
93 |
94 |
95 | We regularly review our compliance with our Privacy Policy. We also
96 | adhere to several self-regulatory frameworks.
97 |
98 |
Changes
99 |
100 | Our Privacy Policy may change from time to time. We will not reduce your
101 | rights under this Privacy Policy without your explicit consent. We will
102 | post any privacy policy changes on this page and, if the changes are
103 | significant, we will provide a more prominent notice (including, for
104 | certain services, email notification of privacy policy changes).
105 |
106 |
107 | );
108 | };
109 |
110 | export default PrivacyPolicy;
111 |
--------------------------------------------------------------------------------
/src/components/layout/modal.module.css:
--------------------------------------------------------------------------------
1 | .modal {
2 | display: flex;
3 | flex: 1;
4 | pointer-events: auto;
5 | background-color: var(--apple-systemGroupedBackground);
6 | border: 1px solid var(--apple-separator); /* Replace with your separator variable */
7 | }
8 |
9 | @media (min-width: 768px) {
10 | .modal {
11 | position: fixed;
12 | left: 50%;
13 | top: 50%;
14 | z-index: 50;
15 | width: 100%;
16 | max-width: 55rem;
17 | min-height: 50rem;
18 | transform: translate(-50%, -50%);
19 | box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
20 | 0 4px 6px -4px rgb(0 0 0 / 0.1); /* Replace with your shadow variable */
21 | max-height: 80%;
22 | overflow: scroll;
23 | border-radius: 0.5rem; /* Equivalent to sm:rounded-lg */
24 | outline: none;
25 | }
26 | }
27 |
28 | .drawerContent {
29 | position: fixed;
30 | display: flex;
31 | flex-direction: column;
32 | bottom: 0;
33 | left: 0;
34 | right: 0;
35 | border-radius: 8px 8px 0 0;
36 | overflow: hidden;
37 | height: 100%;
38 | max-height: 97%;
39 | outline: none;
40 |
41 | }
42 |
43 | @media (min-width: 768px) {
44 | .drawerContent {
45 | max-height: 100%;
46 | /* pointer-events: box-none; */
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/src/components/layout/modalNavigator.tsx:
--------------------------------------------------------------------------------
1 | import { Stack } from "expo-router";
2 |
3 | export default Stack;
4 |
--------------------------------------------------------------------------------
/src/components/layout/modalNavigator.web.tsx:
--------------------------------------------------------------------------------
1 | import {
2 | createNavigatorFactory,
3 | DefaultRouterOptions,
4 | ParamListBase,
5 | StackNavigationState,
6 | StackRouter,
7 | useNavigationBuilder,
8 | } from "@react-navigation/native";
9 | import {
10 | NativeStackNavigationOptions,
11 | NativeStackView,
12 | } from "@react-navigation/native-stack";
13 | import { withLayoutContext } from "expo-router";
14 | import React from "react";
15 | import { Platform } from "react-native";
16 | import { Drawer } from "vaul";
17 |
18 | import modalStyles from "./modal.module.css";
19 |
20 | import * as AC from "@bacons/apple-colors";
21 |
22 | /** Extend NativeStackNavigationOptions with extra sheet/detent props */
23 | type MyModalStackNavigationOptions = NativeStackNavigationOptions & {
24 | presentation?:
25 | | "modal"
26 | | "formSheet"
27 | | "containedModal"
28 | | "card"
29 | | "fullScreenModal";
30 | /**
31 | * If you want to mimic iOS sheet detents on native (iOS 16+ w/ react-native-screens),
32 | * you might do something like:
33 | *
34 | * supportedOrientations?: string[];
35 | * sheetAllowedDetents?: Array