Skip to content
Merged
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
3 changes: 2 additions & 1 deletion redi-web/.env.production
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
NEXT_PUBLIC_API_BASE_URL=https://redi-app-8ea0a6e9c3d9.herokuapp.com
NEXT_PUBLIC_API_BASE_URL=https://redi-app-8ea0a6e9c3d9.herokuapp.com
NEXT_PUBLIC_BASE_URL=https://redi.love
4 changes: 1 addition & 3 deletions redi-web/src/app/admin/broadcast/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -400,9 +400,7 @@ export default function AdminBroadcastPage() {

{/* Preview in dialog */}
<div className="bg-gray-100 rounded-lg p-4 mb-6">
<p className="font-semibold text-black text-sm mb-1">
{title}
</p>
<p className="font-semibold text-black text-sm mb-1">{title}</p>
<p className="text-gray-700 text-xs">{body}</p>
</div>

Expand Down
16 changes: 16 additions & 0 deletions redi-web/src/app/app/page.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { headers } from 'next/headers';
import { redirect } from 'next/navigation';

export default async function RedirectApp() {
const headersList = await headers();
const userAgent = headersList.get('user-agent') ?? '';
const isIOS = /iPhone|iPad|iPod/i.test(userAgent);

if (isIOS) {
redirect('https://apps.apple.com/us/app/redi-love/id6754899018');
}
else {
redirect(`${process.env.NEXT_PUBLIC_BASE_URL ?? 'https://redi.love'}/`);
}

}
60 changes: 38 additions & 22 deletions redi-web/src/app/data-deletion/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,9 @@
How to Request Account Deletion
</h2>
<p className="text-gray-700 leading-relaxed mb-4">
If you would like to delete your <span className="font-semibold">Redi</span> account
and all associated data, please follow these steps:
If you would like to delete your{' '}
<span className="font-semibold">Redi</span> account and all
associated data, please follow these steps:
</p>

<div className="bg-purple-50 border-l-4 border-purple-600 p-6 my-6 rounded-r-lg">
Expand All @@ -45,7 +46,10 @@
</a>
</li>
<li>
Use the subject line: <span className="italic">&quot;Account Deletion Request&quot;</span>
Use the subject line:{' '}
<span className="italic">
&quot;Account Deletion Request&quot;
</span>
</li>
<li>
Include the email address associated with your Redi account
Expand All @@ -57,7 +61,8 @@
</div>

<p className="text-gray-700 leading-relaxed">
Our team will verify your identity and process your deletion request promptly.
Our team will verify your identity and process your deletion
request promptly.
</p>
</section>

Expand All @@ -66,7 +71,8 @@
What Data Will Be Deleted
</h2>
<p className="text-gray-700 leading-relaxed mb-4">
When you request account deletion, the following data will be permanently removed:
When you request account deletion, the following data will be
permanently removed:
</p>
<ul className="list-disc pl-6 text-gray-700 space-y-2">
<li>Your Cornell email address and account identifiers</li>
Expand All @@ -87,17 +93,20 @@
</p>
<ul className="list-disc pl-6 text-gray-700 space-y-2">
<li>
<span className="font-semibold">De-identified, aggregated statistics</span> such as
overall usage metrics and engagement patterns that cannot be linked back to you
<span className="font-semibold">
De-identified, aggregated statistics
</span>{' '}
such as overall usage metrics and engagement patterns that
cannot be linked back to you
</li>
<li>
<span className="font-semibold">Anonymized data</span> used to improve our matching
algorithm and app functionality
<span className="font-semibold">Anonymized data</span> used to
improve our matching algorithm and app functionality
</li>
</ul>
<p className="text-gray-700 leading-relaxed mt-4">
This retained data is completely anonymized and cannot be used to identify you
personally.
This retained data is completely anonymized and cannot be used to
identify you personally.
</p>
</section>

Expand All @@ -107,12 +116,14 @@
</h2>
<div className="bg-pink-50 border border-pink-200 rounded-lg p-6">
<p className="text-gray-700 leading-relaxed">
Once we receive and verify your deletion request, all personally identifiable
information will be permanently deleted from our systems within{' '}
Once we receive and verify your deletion request, all personally
identifiable information will be permanently deleted from our
systems within{' '}
<span className="font-bold text-pink-700 text-xl">7 days</span>.
</p>
<p className="text-gray-700 leading-relaxed mt-3">
You will receive a confirmation email once the deletion process is complete.
You will receive a confirmation email once the deletion process
is complete.
</p>
</div>
</section>
Expand All @@ -123,15 +134,19 @@
</h2>
<ul className="list-disc pl-6 text-gray-700 space-y-3">
<li>
Account deletion is <span className="font-semibold">permanent and irreversible</span>.
Once deleted, you cannot recover your account or data.
Account deletion is{' '}
<span className="font-semibold">
permanent and irreversible
</span>

Check warning on line 140 in redi-web/src/app/data-deletion/page.tsx

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

Ambiguous spacing after previous element span

See more on https://sonarcloud.io/project/issues?id=cornell-dti_redi&issues=AZzJodzNDgifRzo40TO5&open=AZzJodzNDgifRzo40TO5&pullRequest=111
. Once deleted, you cannot recover your account or data.
</li>
<li>
If you wish to use Redi again in the future, you will need to create a new account.
If you wish to use Redi again in the future, you will need to
create a new account.
</li>
<li>
Deletion requests are processed manually to ensure security. You should receive
confirmation within 1-2 business days.
Deletion requests are processed manually to ensure security. You
should receive confirmation within 1-2 business days.
</li>
</ul>
</section>
Expand All @@ -141,15 +156,16 @@
Questions or Concerns?
</h2>
<p className="text-gray-700 leading-relaxed">
If you have any questions about the deletion process or our data practices,
please contact us at{' '}
If you have any questions about the deletion process or our data
practices, please contact us at{' '}
<a
href="mailto:redicornell@gmail.com"
className="text-purple-600 hover:text-purple-700 font-medium"
>
redicornell@gmail.com
</a>
. For more information about how we handle your data, please review our{' '}
. For more information about how we handle your data, please
review our{' '}
<Link
href="/privacy"
className="text-purple-600 hover:text-purple-700 font-medium"
Expand Down
21 changes: 13 additions & 8 deletions redi-web/src/app/page.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
import Link from 'next/link';

export default function Home() {

return (
<div className="flex flex-col items-center justify-between min-h-screen p-4 md:p-8 bg-[url(/background.png)] bg-cover bg-center">
<div className="flex justify-between w-full">


<Link
href="https://www.instagram.com/redi.match/"
target="_blank"
Expand Down Expand Up @@ -60,16 +57,24 @@ export default function Home() {
active:-translate-y-1 active:[box-shadow:0_4px_0_0_rgba(255_255_255_/_40%)] active:opacity-95
transition focus-visible:outline-[#006BFF]"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 814 1000" className="w-5 h-5 md:w-6 md:h-6 -translate-y-[1px]" fill="currentColor">
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 814 1000"
className="w-5 h-5 md:w-6 md:h-6 -translate-y-[1px]"
fill="currentColor"
>
<path d="M788.1 340.9c-5.8 4.5-108.2 62.2-108.2 190.5 0 148.4 130.3 200.9 134.2 202.2-.6 3.2-20.7 71.9-68.7 141.9-42.8 61.6-87.5 123.1-155.5 123.1s-85.5-39.5-164-39.5c-76 0-103.7 40.8-165.9 40.8s-105-57.8-155.5-127.4C46 790.7 0 663 0 541.8c0-194.3 126.4-297.5 250.8-297.5 66.1 0 121.2 43.4 162.7 43.4 39.5 0 101.1-46 176.3-46 28.5 0 130.9 2.6 198.3 99.2zm-234-181.5c31.1-36.9 53.1-88.1 53.1-139.3 0-7.1-.6-14.3-1.9-20.1-50.6 1.9-110.8 33.7-147.1 75.8-28.5 32.4-55.1 83.6-55.1 135.5 0 7.8 1.3 15.6 1.9 18.1 3.2.6 8.4 1.3 13.6 1.3 45.4 0 102.5-30.4 135.5-71.3z" />
</svg>
Download on the App Store
</a>

<div
className="border border-white text-white rounded-full px-8 py-4 text-[16px] md:text-[20px] flex items-center justify-center gap-2 w-full"
>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" className="w-5 h-5 md:w-6 md:h-6 -translate-y-[1px]" fill="currentColor">
<div className="border border-white text-white rounded-full px-8 py-4 text-[16px] md:text-[20px] flex items-center justify-center gap-2 w-full">
<svg
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
className="w-5 h-5 md:w-6 md:h-6 -translate-y-[1px]"
fill="currentColor"
>
<path d="M6 18c0 .55.45 1 1 1h1v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h2v3.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5V19h1c.55 0 1-.45 1-1V8H6v10zM3.5 8C2.67 8 2 8.67 2 9.5v7c0 .83.67 1.5 1.5 1.5S5 17.33 5 16.5v-7C5 8.67 4.33 8 3.5 8zm17 0c-.83 0-1.5.67-1.5 1.5v7c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5v-7c0-.83-.67-1.5-1.5-1.5zm-4.97-5.84 1.3-1.3c.2-.2.2-.51 0-.71-.2-.2-.51-.2-.71 0l-1.48 1.48C14.15 1.23 13.11 1 12 1c-1.11 0-2.15.23-3.09.63L7.43.15c-.2-.2-.51-.2-.71 0-.2.2-.2.51 0 .71l1.3 1.3C6.45 3.28 5.26 5.01 5.03 7h13.95c-.24-1.99-1.43-3.72-3.45-4.84zM10 5H9V4h1v1zm5 0h-1V4h1v1z" />
</svg>
Coming soon to Android
Expand Down
10 changes: 6 additions & 4 deletions redi-web/src/components/PromptMatchDetailsViewer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -324,8 +324,10 @@ export default function PromptMatchDetailsViewer({
Their Matches:
</div>
{match.matches.map((matchedUser, matchIndex) => {
const isMutual = matchedUser.nudgedByUser && matchedUser.nudgedByMatch;
const isNudged = matchedUser.nudgedByUser && !matchedUser.nudgedByMatch;
const isMutual =
matchedUser.nudgedByUser && matchedUser.nudgedByMatch;
const isNudged =
matchedUser.nudgedByUser && !matchedUser.nudgedByMatch;

return (
<div
Expand All @@ -334,8 +336,8 @@ export default function PromptMatchDetailsViewer({
isMutual
? 'bg-purple-50 border border-purple-300'
: isNudged
? 'bg-green-50 border border-green-200'
: 'bg-white border border-gray-200'
? 'bg-green-50 border border-green-200'
: 'bg-white border border-gray-200'
}`}
>
{matchedUser.profilePicture ? (
Expand Down
Loading