Skip to content

Commit 207188b

Browse files
committed
Update VATSIM auth, logos, and header UI
1 parent 0f239dd commit 207188b

File tree

11 files changed

+84
-14
lines changed

11 files changed

+84
-14
lines changed

apps/web/app/auth/[...nextauth]/route.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ export const authOptions: NextAuthOptions = {
7171

7272
callbacks: {
7373
async jwt({ token, account, profile }) {
74+
// Block Navigraph if no VATSIM identity exists yet
75+
if (account?.provider === "navigraph" && !token.vatsim) {
76+
return token;
77+
}
78+
7479
if (account?.provider === "vatsim" && profile?.data) {
7580
token.vatsim = {
7681
cid: profile.data.cid,

apps/web/app/policy/page.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,6 +302,28 @@ export default function Page() {
302302
und § 25 Abs. 1 TDDDG, soweit die Einwilligung die Speicherung von Cookies oder den Zugriff auf Informationen im Endgerät des
303303
Nutzers (z. B. Device-Fingerprinting) im Sinne des TDDDG umfasst. Die Einwilligung ist jederzeit widerrufbar.
304304
</p>
305+
<h3>VATSIM</h3>
306+
<p>
307+
Wir nutzen VATSIM International für die Authentifizierung und Benutzerverwaltung. Dies ermöglicht Ihnen, sich mit Ihrem VATSIM-Konto
308+
anzumelden.
309+
</p>
310+
<p>
311+
Beim Login über VATSIM erhalten wir ausschließlich Ihre VATSIM-Benutzer-ID (CID). Diese nutzen wir, um Ihr Benutzerkonto eindeutig zu
312+
identifizieren und Ihre Einstellungen auf unserem Server unter Ihrem VATSIM-Benutzer zu speichern. Weitere personenbezogene Daten von VATSIM
313+
werden von uns nicht verarbeitet.
314+
</p>
315+
<p>
316+
Die Verarbeitung erfolgt auf Grundlage von Art. 6 Abs. 1 lit. a DSGVO aufgrund Ihrer Einwilligung zur Anmeldung über VATSIM. Sie können
317+
diese Einwilligung jederzeit durch eine schriftliche Mitteilung an
318+
<a href="mailto:mail@simradar21.com">mail@simradar21.com</a> widerrufen.
319+
</p>
320+
<p>
321+
VATSIM verfügt über geeignete Datenschutzmaßnahmen und bietet ein angemessenes Datenschutzniveau. Weitere Informationen finden Sie in der{" "}
322+
<a href="https://vatsim.net/docs/policy/overview" target="_blank" rel="noopener noreferrer">
323+
Datenschutzerklärung von VATSIM
324+
</a>
325+
.
326+
</p>
305327
<h3>Cloudflare</h3>
306328
<p>
307329
Wir nutzen Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA, als Content Delivery Network (CDN) und f&uuml;r
@@ -322,7 +344,7 @@ export default function Page() {
322344
<p>
323345
Cloudflare verf&uuml;gt &uuml;ber eine Zertifizierung nach dem &bdquo;EU-US Data Privacy Framework&ldquo; (DPF) und bietet somit ein
324346
angemessenes Datenschutzniveau. Weitere Informationen finden Sie in der{" "}
325-
<a href="https://www.cloudflare.com/de-de/privacy/" target="_blank" rel="noopener noreferrer">
347+
<a href="https://www.cloudflare.com/de-de/privacypolicy/" target="_blank" rel="noopener noreferrer">
326348
Datenschutzerkl&auml;rung von Cloudflare
327349
</a>
328350
.
17.3 KB
Loading
File renamed without changes.
24.5 KB
Loading
2.14 KB
Loading

apps/web/components/Footer/Footer.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ footer {
66
height: 1.5rem;
77
display: flex;
88
align-items: center;
9-
padding: 0 1rem;
9+
padding-left: 1rem;
1010
box-sizing: border-box;
1111
background: linear-gradient(0deg, rgba(77, 95, 131, 0.3) 0%, rgba(77, 95, 131, 0) 120%);
1212
border-top: 1px solid var(--color-border);

apps/web/components/Header/Header.css

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,28 @@ header {
5151
}
5252

5353
#header-user {
54+
position: relative;
5455
height: 2rem;
5556
width: 2rem;
5657
border-radius: 50%;
5758
background: white;
5859
color: var(--color-green);
5960
font-weight: 700;
6061
z-index: 5;
62+
display: flex;
63+
justify-content: center;
64+
align-items: center;
65+
}
66+
67+
#header-user span {
68+
position: absolute;
69+
right: 0rem;
70+
bottom: 0rem;
71+
height: 10px;
72+
width: 10px;
73+
border-radius: 50%;
74+
background-color: rgb(150, 150, 150);
75+
border: 1px solid white;
6176
}
6277

6378
#header-nav {

apps/web/components/Header/Header.tsx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,10 @@
33
import Search from "./Search";
44
import "./Header.css";
55
import Image from "next/image";
6-
import { signIn, signOut, useSession } from "next-auth/react";
6+
import { signIn, useSession } from "next-auth/react";
77
import { useEffect, useRef, useState } from "react";
8-
import simradar24Logo from "@/assets/images/simradar24_logo.svg";
8+
import simradar24Logo from "@/assets/images/logos/Simradar21_Logo.svg";
9+
import VatsimLogo from "@/assets/images/logos/VATSIM_Logo_Only.png";
910
import Navigation from "./Navigation";
1011

1112
export default function Header() {
@@ -35,15 +36,10 @@ export default function Header() {
3536
<Image src={simradar24Logo} alt="simradar24 logo" height={40} width={200} priority />
3637
</figure>
3738
<Search />
38-
{session ? (
39-
<button type="button" id="header-user" onClick={() => signOut()}>
40-
👤
41-
</button>
42-
) : (
43-
<button type="button" id="header-user" onClick={() => signIn("vatsim")}>
44-
🔒
45-
</button>
46-
)}
39+
<button type="button" id="header-user" onClick={() => signIn("vatsim")} aria-label="Sign In/Out">
40+
<Image src={VatsimLogo} alt="VATSIM logo" height={30} width={30} />
41+
<span style={{ backgroundColor: session ? "var(--color-green)" : "var(--color-red)" }}></span>
42+
</button>
4743
<button type="button" id="header-nav" aria-label="Navigation" onClick={() => setOpen(!open)}>
4844
{open ? "✕" : "☰"}
4945
</button>

apps/web/components/Header/Navigation.css

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,38 @@ nav.open {
2020
width: 20rem;
2121
}
2222

23+
#nav-auth {
24+
display: flex;
25+
align-items: center;
26+
gap: 1rem;
27+
}
28+
29+
#nav-auth button {
30+
background: white;
31+
display: flex;
32+
align-items: center;
33+
height: 32px;
34+
border-radius: 1rem;
35+
padding-right: 16px;
36+
border: 1px solid var(--color-border);
37+
gap: 8px;
38+
}
39+
40+
#nav-auth button span {
41+
background-color: black;
42+
height: 28px;
43+
width: 28px;
44+
border-radius: 50%;
45+
margin: 2px;
46+
display: flex;
47+
justify-content: center;
48+
align-items: center;
49+
}
50+
51+
#nav-auth button span.active {
52+
background-color: var(--color-green);
53+
}
54+
2355
nav ul {
2456
list-style: none;
2557
height: 100%;

0 commit comments

Comments
 (0)