james123231 commited on
Commit
1b55fe9
·
verified ·
1 Parent(s): aa19d30

Udskift billeder sådan de passer til tekst indhold - Initial Deployment

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +376 -18
  3. prompts.txt +452 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Soulmatch Hovedside V1
3
- emoji: 🐠
4
- colorFrom: blue
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: soulmatch-hovedside-v1
3
+ emoji: 🐳
4
+ colorFrom: pink
5
+ colorTo: green
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,377 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="da">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>SoulMatch - Bekæmp ensomhed gennem fysiske møder</title>
7
+ <link rel="icon" type="image/x-icon" href="https://q1f3.c3.e2-9.dev/soulmatch-uploads-public/SoulMatch%20logo.jpeg">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap" rel="stylesheet">
10
+ <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
11
+ <script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
13
+ <script src="https://unpkg.com/feather-icons"></script>
14
+ <script>
15
+ tailwind.config = {
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ primary: '#006B76',
20
+ 'primary-light': '#E6F0F1',
21
+ 'primary-dark': '#005F69',
22
+ accent: '#8A2BE2',
23
+ background: '#F8F9FA',
24
+ 'text-primary': '#212529',
25
+ 'text-secondary': '#6C757D',
26
+ 'dark-background': '#121826',
27
+ 'dark-surface': '#1d2432',
28
+ 'dark-surface-light': '#2a3343',
29
+ 'dark-border': '#3c465b',
30
+ 'dark-text-primary': '#e2e8f0',
31
+ 'dark-text-secondary': '#94a3b8'
32
+ }
33
+ }
34
+ },
35
+ darkMode: 'class'
36
+ }
37
+ </script>
38
+ <style>
39
+ body {
40
+ font-family: 'Nunito', sans-serif;
41
+ }
42
+ .hero-bg {
43
+ background: linear-gradient(135deg, #016a75 0%, #016a75 100%);
44
+ }
45
+ .feature-card:hover {
46
+ transform: translateY(-5px);
47
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
48
+ }
49
+ .btn-primary {
50
+ background: linear-gradient(135deg, #016a75 0%, #016a75 100%);
51
+ }
52
+ .btn-primary:hover {
53
+ background: linear-gradient(135deg, #016a75 0%, #016a75 100%);
54
+ }
55
+ .icon-primary {
56
+ color: #016a75;
57
+ }
58
+ </style>
59
+ </head>
60
+ <body class="bg-background dark:bg-dark-background text-text-primary dark:text-dark-text-primary">
61
+ <!-- Header -->
62
+ <header class="sticky top-0 z-50 bg-white dark:bg-dark-surface shadow-sm">
63
+ <div class="container mx-auto px-4 py-3 flex justify-between items-center">
64
+ <div class="flex items-center space-x-2">
65
+ <img src="https://q1f3.c3.e2-9.dev/soulmatch-uploads-public/SoulMatch%20logo.jpeg" alt="SoulMatch Logo" class="h-10 w-10 rounded-full">
66
+ <span class="text-xl font-bold text-primary">SoulMatch</span>
67
+ </div>
68
+ <nav class="hidden md:flex space-x-6">
69
+ <a href="#" class="font-semibold hover:text-primary transition">Hjem</a>
70
+ <a href="#" class="font-semibold hover:text-primary transition">Om os</a>
71
+ <a href="#" class="font-semibold hover:text-primary transition">Funktioner</a>
72
+ <a href="#" class="font-semibold hover:text-primary transition">Sikkerhed</a>
73
+ <a href="#" class="font-semibold hover:text-primary transition">Kontakt</a>
74
+ </nav>
75
+ <div class="flex items-center space-x-3">
76
+ <button class="px-4 py-2 rounded-full bg-primary text-white font-bold hover:bg-primary-dark transition">Download</button>
77
+ <button id="theme-toggle" class="p-2 rounded-full hover:bg-gray-200 dark:hover:bg-dark-surface-light">
78
+ <i data-feather="moon" class="dark:hidden"></i>
79
+ <i data-feather="sun" class="hidden dark:block"></i>
80
+ </button>
81
+ </div>
82
+ </div>
83
+ </header>
84
+
85
+ <!-- Hero Section -->
86
+ <section class="hero-bg text-white py-16 md:py-24">
87
+ <div class="container mx-auto px-4 text-center">
88
+ <h1 class="text-4xl md:text-6xl font-bold mb-6" data-aos="fade-up">Gem mobilen væk, og vær sammen som mennesker</h1>
89
+ <p class="text-xl md:text-2xl mb-8 max-w-3xl mx-auto" data-aos="fade-up" data-aos-delay="100">SoulMatch forbinder dig med ligesindede og skaber meningsfulde fysiske møder i virkeligheden</p>
90
+ <div class="flex flex-col sm:flex-row justify-center gap-4" data-aos="fade-up" data-aos-delay="200">
91
+ <button class="px-8 py-4 bg-white text-[#016a75] font-bold rounded-full shadow-lg hover:bg-gray-100 transition">Download Appen</button>
92
+ <button class="px-8 py-4 bg-transparent border-2 border-white text-white font-bold rounded-full hover:bg-white/10 transition">Lær Mere</button>
93
+ </div>
94
+ </div>
95
+ </section>
96
+
97
+ <!-- Problem Section -->
98
+ <section class="py-16 bg-white dark:bg-dark-surface">
99
+ <div class="container mx-auto px-4">
100
+ <div class="text-center mb-16">
101
+ <h2 class="text-3xl md:text-4xl font-bold mb-4">Et stigende samfundsproblem</h2>
102
+ <p class="text-xl text-text-secondary dark:text-dark-text-secondary max-w-3xl mx-auto">Ensomhed påvirker tusindvis af danskere, især unge. SoulMatch tager fat om kernen i problemet</p>
103
+ </div>
104
+
105
+ <div class="grid md:grid-cols-2 gap-12 items-center">
106
+ <div data-aos="fade-right">
107
+ <img src="http://static.photos/people/640x360/42" alt="Ensom person i Danmark" class="rounded-2xl shadow-lg">
108
+ </div>
109
+ <div data-aos="fade-left">
110
+ <h3 class="text-2xl font-bold mb-4">Hver fjerde ung føler sig ensom</h3>
111
+ <p class="mb-4 text-text-secondary dark:text-dark-text-secondary">Langvarig ensomhed har alvorlige konsekvenser for både mental og fysisk sundhed. Det koster samfundet over 8 mia. kroner årligt.</p>
112
+ <ul class="space-y-3">
113
+ <li class="flex items-start">
114
+ <i data-feather="check-circle" class="icon-primary mt-1 mr-2"></i>
115
+ <span>22% af unge (16-24 år) føler sig alvorligt ensomme</span>
116
+ </li>
117
+ <li class="flex items-start">
118
+ <i data-feather="check-circle" class="icon-primary mt-1 mr-2"></i>
119
+ <span>Svært for unge med ADHD og autisme at finde fællesskaber</span>
120
+ </li>
121
+ <li class="flex items-start">
122
+ <i data-feather="check-circle" class="icon-primary mt-1 mr-2"></i>
123
+ <span>Mange tilbud, men svært at finde det rigtige lokalt</span>
124
+ </li>
125
+ </ul>
126
+ </div>
127
+ </div>
128
+ </div>
129
+ </section>
130
+
131
+ <!-- Solution Section -->
132
+ <section class="py-16 bg-primary-light dark:bg-dark-surface">
133
+ <div class="container mx-auto px-4">
134
+ <div class="text-center mb-16">
135
+ <h2 class="text-3xl md:text-4xl font-bold mb-4">Hvordan SoulMatch hjælper</h2>
136
+ <p class="text-xl text-text-secondary dark:text-dark-text-secondary max-w-3xl mx-auto">Vi kombinerer avanceret teknologi med menneskelige behov for at skabe meningsfulde forbindelser</p>
137
+ </div>
138
+
139
+ <div class="grid md:grid-cols-3 gap-8">
140
+ <div class="bg-white dark:bg-dark-surface rounded-2xl p-6 shadow-lg feature-card transition" data-aos="fade-up">
141
+ <div class="w-12 h-12 rounded-full bg-primary flex items-center justify-center mb-4">
142
+ <i data-feather="users" class="text-white"></i>
143
+ </div>
144
+ <h3 class="text-xl font-bold mb-2">AI-Drevet Matching</h3>
145
+ <p class="text-text-secondary dark:text-dark-text-secondary">Matcher dig med ligesindede baseret på personlighed, interesser og baggrund</p>
146
+ </div>
147
+
148
+ <div class="bg-white dark:bg-dark-surface rounded-2xl p-6 shadow-lg feature-card transition" data-aos="fade-up" data-aos-delay="100">
149
+ <div class="w-12 h-12 rounded-full bg-primary flex items-center justify-center mb-4">
150
+ <i data-feather="map-pin" class="text-white"></i>
151
+ </div>
152
+ <h3 class="text-xl font-bold mb-2">Fysiske Møder</h3>
153
+ <p class="text-text-secondary dark:text-dark-text-secondary">Chatten kræver NFC-bekræftelse inden for 3 dage for at fortsætte samtalen</p>
154
+ </div>
155
+
156
+ <div class="bg-white dark:bg-dark-surface rounded-2xl p-6 shadow-lg feature-card transition" data-aos="fade-up" data-aos-delay="200">
157
+ <div class="w-12 h-12 rounded-full bg-primary flex items-center justify-center mb-4">
158
+ <i data-feather="shield" class="text-white"></i>
159
+ </div>
160
+ <h3 class="text-xl font-bold mb-2">Sikkerhed & Tryghed</h3>
161
+ <p class="text-text-secondary dark:text-dark-text-secondary">MitID-verificering, ansigtsgenkendelse og SOS-funktion skaber trygge møder</p>
162
+ </div>
163
+ </div>
164
+ </div>
165
+ </section>
166
+
167
+ <!-- Features Section -->
168
+ <section class="py-16 bg-white dark:bg-dark-background">
169
+ <div class="container mx-auto px-4">
170
+ <div class="text-center mb-16">
171
+ <h2 class="text-3xl md:text-4xl font-bold mb-4">Funktioner der skaber forbindelse</h2>
172
+ <p class="text-xl text-text-secondary dark:text-dark-text-secondary max-w-3xl mx-auto">SoulMatch kombinerer teknologi og menneskelige behov for at skabe autentiske relationer</p>
173
+ </div>
174
+
175
+ <div class="space-y-16">
176
+ <div class="flex flex-col md:flex-row items-center gap-8">
177
+ <div class="md:w-1/2" data-aos="fade-right">
178
+ <img src="http://static.photos/technology/640x360/12" alt="AI Personlighedsmatching teknologi" class="rounded-2xl shadow-lg">
179
+ </div>
180
+ <div class="md:w-1/2" data-aos="fade-left">
181
+ <h3 class="text-2xl font-bold mb-4">Dybdegående Personlighedsmatching</h3>
182
+ <p class="mb-4 text-text-secondary dark:text-dark-text-secondary">Vores AI analyserer din personlighed og matcher dig med ligesindede baseret på Jungiansk psykologi og Big Five-modellen.</p>
183
+ <ul class="space-y-2">
184
+ <li class="flex items-center">
185
+ <i data-feather="check" class="icon-primary mr-2"></i>
186
+ <span>Valgfri personlighedstest for præcis matching</span>
187
+ </li>
188
+ <li class="flex items-center">
189
+ <i data-feather="check" class="icon-primary mr-2"></i>
190
+ <span>Match på interesser, kultur og opvækst</span>
191
+ </li>
192
+ </ul>
193
+ </div>
194
+ </div>
195
+
196
+ <div class="flex flex-col md:flex-row-reverse items-center gap-8">
197
+ <div class="md:w-1/2" data-aos="fade-left">
198
+ <img src="http://static.photos/people/640x360/78" alt="Let's Go funktion - fysiske møder" class="rounded-2xl shadow-lg">
199
+ </div>
200
+ <div class="md:w-1/2" data-aos="fade-right">
201
+ <h3 class="text-2xl font-bold mb-4">"Let's Go" Funktion</h3>
202
+ <p class="mb-4 text-text-secondary dark:text-dark-text-secondary">Find personer i dit område med fælles interesser og foreslå konkrete møder. Vores system hjælper med at organisere og planlægge.</p>
203
+ <ul class="space-y-2">
204
+ <li class="flex items-center">
205
+ <i data-feather="check" class="icon-primary mr-2"></i>
206
+ <span>Foreslå møder baseret på fælles interesser</span>
207
+ </li>
208
+ <li class="flex items-center">
209
+ <i data-feather="check" class="icon-primary mr-2"></i>
210
+ <span>Vælg gruppestørrelse og mødested</span>
211
+ </li>
212
+ </ul>
213
+ </div>
214
+ </div>
215
+
216
+ <div class="flex flex-col md:flex-row items-center gap-8">
217
+ <div class="md:w-1/2" data-aos="fade-right">
218
+ <img src="http://static.photos/cityscape/640x360/34" alt="Events og mødesteder i byen" class="rounded-2xl shadow-lg">
219
+ </div>
220
+ <div class="md:w-1/2" data-aos="fade-left">
221
+ <h3 class="text-2xl font-bold mb-4">Events & Mødesteder</h3>
222
+ <p class="mb-4 text-text-secondary dark:text-dark-text-secondary">Find og opret events i dit lokalsamfund. Vores database samler alle sociale tilbud på ét sted.</p>
223
+ <ul class="space-y-2">
224
+ <li class="flex items-center">
225
+ <i data-feather="check" class="icon-primary mr-2"></i>
226
+ <span>Database over lokale mødesteder og events</span>
227
+ </li>
228
+ <li class="flex items-center">
229
+ <i data-feather="check" class="icon-primary mr-2"></i>
230
+ <span>Opret dine egne events og inviter andre</span>
231
+ </li>
232
+ </ul>
233
+ </div>
234
+ </div>
235
+ </div>
236
+ </div>
237
+ </section>
238
+
239
+ <!-- CTA Section -->
240
+ <section class="py-16 bg-[#016a75] text-white">
241
+ <div class="container mx-auto px-4 text-center">
242
+ <h2 class="text-3xl md:text-4xl font-bold mb-6">Vil du være med til at bekæmpe ensomheden?</h2>
243
+ <p class="text-xl mb-8 max-w-2xl mx-auto">Download SoulMatch i dag og tag det første skridt mod meningsfulde forbindelser</p>
244
+ <div class="flex flex-col sm:flex-row justify-center gap-4">
245
+ <button class="px-8 py-4 bg-white text-[#016a75] font-bold rounded-full shadow-lg hover:bg-gray-100 transition flex items-center justify-center">
246
+ <i data-feather="download" class="mr-2"></i> Download til iOS
247
+ </button>
248
+ <button class="px-8 py-4 bg-transparent border-2 border-white text-white font-bold rounded-full hover:bg-white/10 transition flex items-center justify-center">
249
+ <i data-feather="download" class="mr-2"></i> Download til Android
250
+ </button>
251
+ </div>
252
+ </div>
253
+ </section>
254
+
255
+ <!-- Footer -->
256
+ <footer class="bg-dark-surface text-dark-text-primary py-12">
257
+ <div class="container mx-auto px-4">
258
+ <div class="grid md:grid-cols-4 gap-8">
259
+ <div>
260
+ <div class="flex items-center space-x-2 mb-4">
261
+ <img src="https://q1f3.c3.e2-9.dev/soulmatch-uploads-public/SoulMatch%20logo.jpeg" alt="SoulMatch Logo" class="h-8 w-8 rounded-full">
262
+ <span class="text-xl font-bold text-white">SoulMatch</span>
263
+ </div>
264
+ <p class="text-dark-text-secondary mb-4">Skaber meningsfulde forbindelser gennem fysiske møder og AI-drevet matching.</p>
265
+ <div class="flex space-x-4">
266
+ <a href="#" class="text-dark-text-secondary hover:text-white transition">
267
+ <i data-feather="facebook"></i>
268
+ </a>
269
+ <a href="#" class="text-dark-text-secondary hover:text-white transition">
270
+ <i data-feather="instagram"></i>
271
+ </a>
272
+ <a href="#" class="text-dark-text-secondary hover:text-white transition">
273
+ <i data-feather="twitter"></i>
274
+ </a>
275
+ </div>
276
+ </div>
277
+
278
+ <div>
279
+ <h3 class="text-lg font-bold text-white mb-4">Produkt</h3>
280
+ <ul class="space-y-2 text-dark-text-secondary">
281
+ <li><a href="#" class="hover:text-white transition">Funktioner</a></li>
282
+ <li><a href="#" class="hover:text-white transition">Sikkerhed</a></li>
283
+ <li><a href="#" class="hover:text-white transition">Download</a></li>
284
+ <li><a href="#" class="hover:text-white transition">Priser</a></li>
285
+ </ul>
286
+ </div>
287
+
288
+ <div>
289
+ <h3 class="text-lg font-bold text-white mb-4">Virksomhed</h3>
290
+ <ul class="space-y-2 text-dark-text-secondary">
291
+ <li><a href="#" class="hover:text-white transition">Om os</a></li>
292
+ <li><a href="#" class="hover:text-white transition">Blog</a></li>
293
+ <li><a href="#" class="hover:text-white transition">Karriere</a></li>
294
+ <li><a href="#" class="hover:text-white transition">Presse</a></li>
295
+ </ul>
296
+ </div>
297
+
298
+ <div>
299
+ <h3 class="text-lg font-bold text-white mb-4">Support</h3>
300
+ <ul class="space-y-2 text-dark-text-secondary">
301
+ <li><a href="#" class="hover:text-white transition">Hjælp & FAQ</a></li>
302
+ <li><a href="#" class="hover:text-white transition">Kontakt os</a></li>
303
+ <li><a href="#" class="hover:text-white transition">Privatlivspolitik</a></li>
304
+ <li><a href="#" class="hover:text-white transition">Vilkår for brug</a></li>
305
+ </ul>
306
+ </div>
307
+ </div>
308
+
309
+ <div class="border-t border-dark-border mt-12 pt-8 text-center text-dark-text-secondary">
310
+ <p>&copy; 2023 SoulMatch. Alle rettigheder forbeholdes.</p>
311
+ </div>
312
+ </div>
313
+ </footer>
314
+
315
+ <script>
316
+ // Set initial theme
317
+ if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
318
+ document.documentElement.classList.add('dark');
319
+ } else {
320
+ document.documentElement.classList.remove('dark');
321
+ }
322
+
323
+ // Initialize AOS
324
+ AOS.init({
325
+ duration: 800,
326
+ easing: 'ease-out-cubic'
327
+ });
328
+
329
+ // Initialize Feather Icons
330
+ feather.replace();
331
+
332
+ // Theme toggle
333
+ const themeToggle = document.getElementById('theme-toggle');
334
+ themeToggle.addEventListener('click', function() {
335
+ document.documentElement.classList.toggle('dark');
336
+ if (document.documentElement.classList.contains('dark')) {
337
+ localStorage.setItem('theme', 'dark');
338
+ } else {
339
+ localStorage.setItem('theme', 'light');
340
+ }
341
+
342
+ // Update icon
343
+ const sunIcon = themeToggle.querySelector('[data-feather="sun"]');
344
+ const moonIcon = themeToggle.querySelector('[data-feather="moon"]');
345
+
346
+ if (document.documentElement.classList.contains('dark')) {
347
+ sunIcon.classList.remove('hidden');
348
+ moonIcon.classList.add('hidden');
349
+ } else {
350
+ sunIcon.classList.add('hidden');
351
+ moonIcon.classList.remove('hidden');
352
+ }
353
+ });
354
+
355
+ // Update theme toggle icon on load
356
+ function updateThemeIcon() {
357
+ const sunIcon = themeToggle.querySelector('[data-feather="sun"]');
358
+ const moonIcon = themeToggle.querySelector('[data-feather="moon"]');
359
+
360
+ if (document.documentElement.classList.contains('dark')) {
361
+ sunIcon.classList.remove('hidden');
362
+ moonIcon.classList.add('hidden');
363
+ } else {
364
+ sunIcon.classList.add('hidden');
365
+ moonIcon.classList.remove('hidden');
366
+ }
367
+ feather.replace();
368
+ }
369
+
370
+ // Initial icon update
371
+ updateThemeIcon();
372
+
373
+ // Listen for theme changes
374
+ themeToggle.addEventListener('click', updateThemeIcon);
375
+ </script>
376
+ </body>
377
  </html>
prompts.txt ADDED
@@ -0,0 +1,452 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Lav denne hovedside for app:
2
+ SoulMatch er en innovativ applikation designet til at bekæmpe den stigende ensomhed i
3
+ Danmark ved at facilitere meningsfulde fællesskaber og trygge, fysiske møder mellem
4
+ mennesker. Appen er skabt ud fra personlig erfaring med ensomhed hos stifteren, Buster, som
5
+ selv har ADHD og autisme. Projektet er udviklet i tæt samarbejde med Aalborg Universitet,
6
+ Psykologi, for at sikre en solid faglig finansiering.
7
+ SoulMatch anvender avanceret AI-teknologi til at matche brugere baseret på en bred vifte af
8
+ kriterier, herunder personlighed, interesser, hobbyer, kultur, opvækst og køn. Appens centrale
9
+ motto er "Gem mobilen væk, og vær sammen som mennesker"
10
+ . Dette understreges af en unik
11
+ funktion, der kræver fysisk fremmøde og NFC-bekræftelse inden for tre dage for at opretholde
12
+ chat forbindelsen. SoulMatch vil desuden integrere en database over sociale tilbud og frivillige
13
+ organisationer, understøttet af kommuner og foreninger, for at gøre det nemmere at finde lokale
14
+ fællesskaber.
15
+ Formålet er at gøre det nemmere, sjovere og mere trygt for folk at mødes fysisk og få samtalen i
16
+ gang, med en vision om at blive Danmarks mest brugte og anerkendte platform for sociale
17
+ events, og senere udvide internationalt.
18
+ 2. Problemstilling
19
+ Ensomhed er et alvorligt og stigende samfundsproblem i Danmark. Undersøgelser viser, at op
20
+ mod hver fjerde ung føler sig ensom i længere perioder. Langvarig ensomhed er en alvorlig
21
+ sundhedsmæssig udfordring, der koster samfundet over 8 mia. kroner årligt og øger risikoen for
22
+ bl.a. forhøjet blodtryk, søvnforstyrrelser og depression. For unge i alderen 16-24 år føler 22%
23
+ sig alvorligt ensomme. Ensomhed handler ofte om kvaliteten af relationer snarere end antallet.
24
+ Specifikt for unge med ADHD og autisme, eller unge i generel mistrivsel, kan det være særligt
25
+ svært at finde ligesindede og indgå i meningsfulde relationer. De kan have vanskeligheder med
26
+ at navigere i komplekse sociale situationer, afkode sociale nuancer og tage initiativ til møder
27
+ [Implied from 20, 38]. Der er mange tilbud derude, men det er svært for folk at gennemskue de
28
+ præcise muligheder i deres lokale by inden for deres behov, og selv kommunale medarbejdere
29
+ har svært ved at rumme og huske alle tilbuddene.
30
+ 3. Mission, Vision og Værdier
31
+ Mission: At gøre det nemmere, sjovere og mere trygt for folk at mødes fysisk og få samtalen i
32
+ gang.
33
+ Vision: At skabe Danmarks mest brugte og anerkendte platform for sociale events, der hjælper
34
+ folk med at mødes i virkeligheden, med en fremtidig udvidelse til udlandet.
35
+ Værdier:
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+ Tryghed
45
+ Nye venner
46
+ Fordele med rabatkoder
47
+ Sikkerhed (herunder MitID verificering og SOS alarm)
48
+ Bekræftelse af personen bag skærmen (MitID og ansigtsgodkendelse)
49
+ Gode steder at mødes i sin by
50
+ Virksomheder som støtter kampen mod ensomhed
51
+ Personlighedsanalyse
52
+ Motto: "Gem mobilen væk, og vær sammen som mennesker"
53
+ .
54
+ 4. Målgruppe
55
+ Primær målgruppe:
56
+
57
+
58
+
59
+ Ensomme individer, især unge (16-24 år).
60
+ Unge med ADHD og autisme, der oplever ensomhed og har svært ved at finde
61
+ fællesskaber.
62
+ Individer i generel mistrivsel, der søger meningsfulde relationer.
63
+ Sekundær målgruppe:
64
+
65
+ Kommuner og deres medarbejdere, der har svært ved at overskue og formidle lokale
66
+
67
+
68
+ sociale tilbud.
69
+ Foreningslivet og frivillige organisationer, der tilbyder sociale aktiviteter.
70
+ Virksomheder, der ønsker at støtte kampen mod ensomhed og tilbyde rabatter til
71
+ brugere.
72
+ 5. Værdiskabelse
73
+ SoulMatch leverer værdi ved at:
74
+
75
+
76
+
77
+
78
+
79
+
80
+
81
+ Bekæmpe ensomhed: Ved at facilitere meningsfulde forbindelser, der matcher brugere
82
+ på dybdegående niveauer, adresserer appen ensomhedens kerne, som handler om
83
+ kvaliteten af relationer.
84
+ Fremme inklusion for sårbare grupper: Især for unge med ADHD og autisme tilbyder
85
+ appen en struktureret og tryg ramme for at finde ligesindede, hvilket mindsker social
86
+ angst og følelsen af isolation [Implied from 20, 38]. Dybdegående personlighedsmatch
87
+ og aktivitetsbaserede møder er særligt gavnlige for disse grupper.
88
+ Strukturere sociale møder: Gennem funktioner som "Let's Go" og personlighedsspil
89
+ reduceres barrierer og kognitiv byrde ved at initiere sociale interaktioner.
90
+ Gøre sociale tilbud tilgængelige: En centraliseret database for kommunale og
91
+ foreningsdrevne tilbud løser problemet med informationsspredning og gør det nemmere
92
+ for borgere at finde relevante fællesskaber lokalt.
93
+ Incitament til fysiske møder: Den unikke 3-dages chatgrænse med NFC-bekræftelse
94
+ tvinger brugere til at omsætte online interesse til offline interaktion, hvilket er afgørende
95
+ for at opbygge reelle relationer.
96
+ Sikre tryghed: Robuste sikkerhedsfunktioner som MitID-verificering, ansigts
97
+ godkendelse og en SOS-funktion skaber et fundament af tillid, som er essentielt for
98
+ sårbare brugere.
99
+ Belønne social deltagelse: Rabatordninger og "Buddy Points" motiverer til aktiv
100
+ deltagelse og gentagne møder, hvilket styrker fællesskaberne.
101
+ 6. Funktionelle Krav
102
+ 6.1. Brugerprofil & Onboarding
103
+
104
+
105
+
106
+
107
+ Gratis tilmelding: Brugere skal kunne oprette en profil uden omkostninger.
108
+ Sikkerhedskrav ved tilmelding:
109
+
110
+ MitID-verificering: Obligatorisk for at sikre ægte identitet og tryghed.
111
+
112
+ Ansigts godkendelse: Ved verificering og upload af profilbilleder for at matche
113
+ person med billeder.
114
+ Sikkerhed ved app-åbning: Ansigts Verificering, fingeraftryk eller pinkode er påkrævet
115
+ for at åbne appen.
116
+ Profiloprettelse:
117
+
118
+ Mulighed for at uploade profilbilleder.
119
+
120
+ Indtastning af interesser og hobbyer.
121
+
122
+ Valgfri personlighedsanalyse (hurtig eller dybdegående) for at øge match succes.
123
+
124
+ Indtastning af informationer om kultur, opvækst, køn og "meget mere" til
125
+ AI-match.
126
+ 6.2. AI-drevet Matchnings System (Kommende efter beta)
127
+
128
+ Avanceret AI: Systemet skal benytte en gennemtestet og trænet AI til præcisions
129
+ matchning.
130
+
131
+
132
+ Matchnings Kriterier: AI'en matcher baseret på:
133
+
134
+ Personlighed: Fra valgfri personlighedsanalyse, inspireret af Jungiansk
135
+ psykologi og Big Five (OCEAN) modeller.
136
+
137
+ Interesser og hobbyer: Specificerede af brugeren.
138
+
139
+ Kultur, opvækst, køn: Som dybdegående faktorer.
140
+
141
+ "Meget mere": Fleksibel udvidelse af kriterier.
142
+ Formål: At skabe meningsfulde fællesskaber og dybe forbindelser ved at hjælpe
143
+ brugere med at forstå sig selv og hinanden.
144
+ 6.3. Sociale Interaktion Funktioner
145
+
146
+
147
+
148
+ "Let's Go" Funktion:
149
+
150
+ Søgning: Brugere kan søge efter andre baseret på specifikke interesser.
151
+
152
+ Møde Initiativer: Mulighed for at foreslå konkrete tidspunkter og steder at
153
+ mødes.
154
+
155
+ Gruppestørrelse: Brugere kan vælge, hvor mange der skal deltage i mødet.
156
+ Chatfunktion:
157
+
158
+ Privat chat: Mulighed for at skrive med nye bekendtskaber privat, før de tilføjes
159
+ som venner.
160
+
161
+ 3-dages chat grænse: Chatten slettes automatisk efter 3 dage, medmindre
162
+ brugerne mødes fysisk.
163
+
164
+ NFC-bekræftelse: Fysisk møde bekræftes ved at lade to telefoner røre hinanden
165
+ via NFC-teknologi for at bevare chatten.
166
+
167
+ Venneanmodning: Efter fysisk møde kan brugere sende venneanmodninger i
168
+ appen.
169
+
170
+ Del events: Mulighed for at dele events via chatten med venner.
171
+ Personlighedsspil (valgfri, kommende efter beta):
172
+
173
+ Algoritme Genererede spørgsmål: Spørgsmål genereres baseret på brugerens
174
+ personlighedsanalyse, for at facilitere bedre indledende samtaler.
175
+
176
+ "Sjove facts": Mulighed for brugere at dele sjove facts om sig selv.
177
+ 6.4. Event- og Stedbaserede Funktioner
178
+
179
+
180
+ Database over mødesteder: En opdateret database over steder, hvor det er muligt at
181
+ mødes med andre, med søgefunktion efter interesse og by.
182
+ Database for kommunale og foreningsdrevne tilbud (Beta-version):
183
+
184
+ App'en skal initialt fungere som en opdateret database over frivillige
185
+ organisationer og sociale tilbud i danske kommuner.
186
+
187
+ Kommunal/Forenings Login: Medarbejdere fra kommuner og foreninger får et
188
+ login (via medarbejdersignatur) for at oprette og administrere tilbud og events.
189
+
190
+ Mailkampagner: Ansvarlige for foreninger får tilsendt login og inviteres ind i
191
+ databasen.
192
+
193
+ Facebook Link Integration: Mulighed for automatisk at tilføje informationer fra
194
+ Facebook sider.
195
+
196
+
197
+
198
+ Event Funktionalitet:
199
+
200
+ Opret begivenheder: Brugere kan selv oprette og foreslå begivenheder.
201
+
202
+ Se begivenheder: Oversigt over kommende begivenheder.
203
+
204
+ Hjemmeskærm Visning: Visning af venner og andre deltagere i events på
205
+ hjemmeskærmen.
206
+
207
+ Kalenderintegration: Mulighed for automatisk at tilføje events til Google
208
+ Kalender, Apple Kalender mv..
209
+ Frivilligt arbejde: En funktion i appen til at finde frivilligt arbejde i lokalsamfundet.
210
+ Placering Verifikation (kommende efter beta): Verifikation af placering ved events og
211
+ mødesteder.
212
+ 6.5. Incitamenter og Belønninger
213
+
214
+
215
+
216
+ Rabatkoder: Brugere kan opnå rabatkoder til samarbejdspartnere (f.eks. Espresso
217
+ House, Heidis Beer Bar), når de mødes med et nyt bekendtskab i minimum 15 minutter.
218
+
219
+ Fortjeneste: En del af rabatten (f.eks. 15%) eller en fast fee pr. kupon går til
220
+ driften af appen.
221
+ Buddy Points System (kommende efter beta): Brugere optjener points, når de mødes
222
+ gentagne gange, hvilket giver adgang til yderligere rabatter.
223
+ Sociale Medie Belønninger (ekstra draft funktion): Valgfri mulighed for at opnå f.eks.
224
+ en ekstra kaffe ved at lave opslag på sociale medier om rabatter og tagge Soul Match
225
+ profil.
226
+ 6.6. Sikkerhedsfunktioner
227
+
228
+
229
+
230
+
231
+ Bruger Verificering: MitID-verificering og ansigts godkendelse ved tilmelding (se 6.1).
232
+ Ansigts-/Fingerprint-/Pinkode-login: Ved hver åbning af app'en for at sikre brugerens
233
+ profil.
234
+ SOS-funktion (kommende efter beta): Aktiveres ved gentagne tryk på lydstyrke
235
+ op-knappen (5 gange), hvorefter kameraet starter med at filme skjult i baggrunden.
236
+ Rapporterings- og udelukkelse system:
237
+
238
+ Ved 2 utilfredse anklager mod en person udelukkes vedkommende permanent
239
+ fra platformen.
240
+
241
+ Ved meget alvorlige anklager (med beviser) bandlyses personen øjeblikkeligt og
242
+ bliver politianmeldt.
243
+ 6.7. Admin- og Backend-funktioner (for Soul Match Team & Partnere)
244
+
245
+ "Min side" for kommuner/foreninger: Medarbejderlogin til at administrere tilbud og
246
+
247
+
248
+ events.
249
+ Rabatkode database (kommende efter beta): Central administration af rabatkoder.
250
+ B2B platform (kommende efter beta): Til virksomhedspartnere med medarbejder
251
+ logins.
252
+
253
+ Personlighedstest database (kommende efter beta): Administration af
254
+ personlighedstest data.
255
+
256
+ Design guide:
257
+ # SoulMatch Design System & Guide
258
+
259
+ ## 1. Introduktion & Filosofi
260
+
261
+ Velkommen til SoulMatch Design System. Dette dokument er den centrale kilde til sandhed for vores visuelle identitet, UI-komponenter og designprincipper. Vores mål er at skabe en ensartet, intuitiv og tryg oplevelse for alle brugere, der bekæmper ensomhed i Danmark.
262
+
263
+ ### Vores Designprincipper
264
+
265
+ - **Tryghed Først (Safety First):** Designet skal altid fremstå professionelt, sikkert og troværdigt. Brugeren skal føle sig tryg ved at interagere med appen og andre mennesker.
266
+ - **Indbydende & Inkluderende (Welcoming & Inclusive):** Vores visuelle sprog er varmt, venligt og imødekommende. Vi designer for alle, uanset baggrund.
267
+ - **Opfordrende (Encouraging):** Designet skal motivere til handling – især til at deltage i events og mødes i den virkelige verden.
268
+ - **Simpelt & Fokuseret (Simple & Focused):** Vi undgår unødig kompleksitet. Hver skærm har et klart formål, og brugerflowet er ubesværet.
269
+
270
+ ---
271
+
272
+ ## 2. Visuel Identitet
273
+
274
+ ### 2.1. Logo
275
+
276
+ Vores logo repræsenterer forbindelse og fællesskab.
277
+
278
+ **Primært Logo:**
279
+ `https://q1f3.c3.e2-9.dev/soulmatch-uploads-public/SoulMatch%20logo.jpeg`
280
+
281
+ **Retningslinjer for brug:**
282
+ - **Frirum:** Bevar altid et frirum omkring logoet svarende til højden på "S"-et i "SoulMatch".
283
+ - **Baggrund:** Logoet skal primært bruges på lyse eller hvide baggrunde.
284
+ - **Ændringer:** Logoet må ikke strækkes, forvrænges, omfarves eller ændres på nogen måde.
285
+
286
+ ### 2.2. Farvepalette
287
+
288
+ Vores farver er valgt for at skabe en følelse af ro, tillid og varme.
289
+
290
+ #### Light Mode
291
+
292
+ | Farve | HEX-kode | Tailwind Klasse | Anvendelse |
293
+ | ------------------- | --------- | ------------------- | --------------------------------------------------- |
294
+ | **Primary** | `#006B76` | `primary` | Vigtige knapper (CTAs), aktive links, branding. |
295
+ | **Primary Light** | `#E6F0F1` | `primary-light` | Baggrunde for sektioner, hover-effekter, tags. |
296
+ | **Primary Dark** | `#005F69` | `primary-dark` | Hover-effekter på primære knapper. |
297
+ | **Accent** | `#8A2BE2` | `accent` | Specielle highlights, AI-funktioner, notifikationer. |
298
+ | **Baggrund** | `#F8F9FA` | `background` | Appens overordnede baggrundsfarve. |
299
+ | **Tekst Primær** | `#212529` | `text-primary` | Overskrifter og primær brødtekst. |
300
+ | **Tekst Sekundær** | `#6C757D` | `text-secondary` | Undertekster, labels, mindre vigtig information. |
301
+
302
+ #### Dark Mode
303
+
304
+ | Farve | HEX-kode | Tailwind Klasse | Anvendelse |
305
+ | ------------------- | --------- | ----------------------- | ----------------------------------------------- |
306
+ | **Baggrund** | `#121826` | `dark-background` | Appens overordnede baggrundsfarve. |
307
+ | **Overflade** | `#1d2432` | `dark-surface` | Baggrund for kort, modaler og navigation. |
308
+ | **Overflade Lys** | `#2a3343` | `dark-surface-light` | Baggrund for input-felter, hover-effekter. |
309
+ | **Kant** | `#3c465b` | `dark-border` | Kanter og skillevægge. |
310
+ | **Tekst Primær** | `#e2e8f0` | `dark-text-primary` | Overskrifter og primær brødtekst. |
311
+ | **Tekst Sekundær** | `#94a3b8` | `dark-text-secondary` | Undertekster, labels. |
312
+
313
+ #### Statusfarver
314
+
315
+ | Status | Light Mode | Dark Mode | Anvendelse |
316
+ | --------- | -------------------------- | ------------------------------ | --------------------------------------------- |
317
+ | **Succes**| `bg-green-100`, `text-green-800` | `bg-green-900/30`, `text-green-300` | Bekræftelser, succesfulde handlinger. |
318
+ | **Fejl** | `bg-red-100`, `text-red-600` | `bg-red-900/20`, `text-red-400` | Fejlmeddelelser, advarsler om sletning. |
319
+ | **Advarsel**| `bg-yellow-100`, `text-yellow-800` | `bg-yellow-900/30`, `text-yellow-300` | Vigtig information, der kræver opmærksomhed. |
320
+
321
+ ### 2.3. Typografi
322
+
323
+ Vi bruger **Nunito** som vores primære font for dens venlige, læselige og moderne udtryk.
324
+
325
+ | Element | Størrelse | Vægt | Tailwind Klasse |
326
+ | --------------- | ---------------- | ------------ | -------------------------------- |
327
+ | **Overskrift 1**| 30px (1.875rem) | Bold (700) | `text-3xl font-bold` |
328
+ | **Overskrift 2**| 24px (1.5rem) | Bold (700) | `text-2xl font-bold` |
329
+ | **Overskrift 3**| 20px (1.25rem) | Bold (700) | `text-xl font-bold` |
330
+ | **Brødtekst** | 16px (1rem) | Normal (400) | `text-base` |
331
+ | **Label/Lille** | 14px (0.875rem) | Semibold(600)| `text-sm font-semibold` |
332
+ | **Ekstra Lille**| 12px (0.75rem) | Normal (400) | `text-xs` |
333
+
334
+ ---
335
+
336
+ ## 3. Layout & Spacing
337
+
338
+ Konsistens i afstand er nøglen til et rent og professionelt design. Vores system er baseret på en **4px grid**.
339
+
340
+ | Værdi | Tailwind Eksempel |
341
+ | ----- | ----------------- |
342
+ | 4px | `p-1`, `space-x-1`|
343
+ | 8px | `p-2`, `space-x-2`|
344
+ | 12px | `p-3` |
345
+ | 16px | `p-4`, `m-4` |
346
+ | 24px | `p-6` |
347
+ | 32px | `p-8` |
348
+
349
+ **Generelle Layouts:**
350
+ - **Mobil:** Enkelt kolonne-layout med `BottomNav` i bunden.
351
+ - **Desktop:** To-kolonne-layout, hvor `BottomNav` omdannes til en `Sidebar` i venstre side, og hovedindholdet vises til højre.
352
+
353
+ ---
354
+
355
+ ## 4. Ikonografi
356
+
357
+ Vi bruger **Lucide Icons** for deres rene, lette og konsistente stil.
358
+ - **Standardstørrelse:** 24px til navigation og store ikoner. 20px eller 16px til mindre ikoner i knapper eller lister.
359
+ - **Stroke Width:** `1.5` for organisation-ikoner, `2` for standard-ikoner, `2.5` for aktive navigations-ikoner.
360
+ - **Anvendelse:** Ikoner skal altid ledsages af en tekst-label, medmindre funktionen er universelt genkendelig (f.eks. et 'X' for at lukke). Brug `aria-label` for ikon-knapper uden synlig tekst.
361
+
362
+ ---
363
+
364
+ ## 5. Komponentbibliotek
365
+
366
+ Dette er kernen i vores design system. Hver komponent er designet til at være genanvendelig, konsistent og tilgængelig.
367
+
368
+ ### 5.1. Knapper (Buttons)
369
+
370
+ | Type | Beskrivelse | Klasse (Eksempel) |
371
+ | ------------------- | -------------------------------------------------- | -------------------------------------------------------------------------------- |
372
+ | **Primær (CTA)** | Til den vigtigste handling på en side. | `bg-primary text-white font-bold py-3 px-6 rounded-full shadow-lg` |
373
+ | **Sekundær** | Til mindre vigtige handlinger. | `bg-primary-light text-primary font-bold py-3 px-6 rounded-full` |
374
+ | **Tekst/Link** | Til navigation eller handlinger med lav prioritet. | `text-primary font-bold hover:underline` |
375
+ | **Destruktiv** | Til handlinger, der sletter data. | `bg-red-600 text-white font-bold ...` |
376
+
377
+ **States:** Alle knapper skal have tydelige `hover`, `focus`, `active`, og `disabled` states.
378
+
379
+ ### 5.2. Kort (Cards)
380
+
381
+ Kort er den primære måde, vi viser indhold som events og mødesteder.
382
+
383
+ - **`EventCard`:** Viser billede, tidspunkt, titel, antal deltagere og host. Har en `hover`-effekt, hvor billedet zoomer let.
384
+ - **`PlaceCard`:** Kompakt design med billede, tilbud, navn, adresse og kategori.
385
+ - **Generelt:** Alle kort har `rounded-2xl`, `bg-white dark:bg-dark-surface`, og en let `shadow-sm`.
386
+
387
+ ### 5.3. Formularer (Forms)
388
+
389
+ - **Input-felter:** Skal have en label, `bg-gray-50 dark:bg-dark-surface-light`, `rounded-lg`, og en tydelig `focus`-state med en `primary` ring.
390
+ - **Textareas:** Følger samme stil som input-felter.
391
+ - **`ToggleSwitch`:** En specialdesignet switch til til/fra-valg.
392
+ - **`CategorySelector`:** En genanvendelig komponent med indbygget søgefunktion og dropdown-funktionalitet til valg af kategorier.
393
+
394
+ ### 5.4. Modaler (Modals)
395
+
396
+ - **Baggrund:** En mørk, semi-transparent overlay (`bg-black bg-opacity-50`).
397
+ - **Indhold:** En centreret boks (`bg-white dark:bg-dark-surface`, `rounded-2xl`) med indholdet.
398
+ - **Lukning:** Skal kunne lukkes ved at klikke uden for modalen eller på et 'X'-ikon. Focus skal fanges inde i modalen.
399
+ - **Eksempler:** `PlaceDetailModal`, `ShareModal`, `ReportUserModal`.
400
+
401
+ ### 5.5. Navigation
402
+
403
+ - **`BottomNav` (Mobil):** Fast i bunden med 5 ikoner. Den centrale "Opret"-knap er større og hævet.
404
+ - **`OrganizationSidebar` (Desktop):** Fast i venstre side med ikoner og tekst-labels.
405
+
406
+ ### 5.6. Feedback & Notifikationer
407
+
408
+ - **`Toast`:** Vises nederst til højre. Forsvinder automatisk efter 5 sekunder. Bruges til ikke-kritiske notifikationer.
409
+ - **`LoadingScreen`:** En fuldskærms- eller inline-komponent med SoulMatch-logoet og en blød fade-animation. Bruges ved indlæsning af appen eller sider.
410
+ - **Fejlmeddelelser:** Vises inline i formularer eller som en banner-komponent for side-dækkende fejl. Skal være i fejlfarven (rød).
411
+
412
+ ---
413
+
414
+ ## 6. Animation & Bevægelse (Motion)
415
+
416
+ Vi bruger **Framer Motion** til at tilføje subtile og meningsfulde animationer.
417
+
418
+ - **Side-overgange:** En simpel `fade`-effekt (`opacity: 0` til `1`).
419
+ - **Modal-visning:** En kombination af `scale` og `opacity` for en blød pop-up-effekt.
420
+ - **Liste-elementer:** Når nye elementer tilføjes til en liste (f.eks. tags), animeres de ind med `opacity` og `scale`.
421
+ - **Loading-animationer:** `pulse-slow` animation for at indikere aktivitet.
422
+
423
+ ---
424
+
425
+ ## 7. Tilgængelighed (Accessibility - a11y)
426
+
427
+ Vi stræber efter at overholde **WCAG 2.1 AA**-standarderne.
428
+
429
+ - **Farvekontrast:** Al tekst skal have en kontrastratio på mindst 4.5:1 mod sin baggrund.
430
+ - **Semantisk HTML:** Korrekt brug af `<nav>`, `<main>`, `<button>`, etc.
431
+ - **Tastatur-navigation:** Alle interaktive elementer skal være tilgængelige og kunne betjenes via tastatur. En tydelig `focus`-ring skal være synlig.
432
+ - **ARIA-attributter:** Brug af `aria-label`, `role`, og `aria-live` for at give kontekst til skærmlæsere, især for ikon-knapper og dynamisk indhold som toasts.
433
+ - **Billeder:** Alle billeder, der formidler indhold, skal have en beskrivende `alt`-tekst. Dekorative billeder skal have en tom `alt=""`.
434
+
435
+ ---
436
+
437
+ ## 8. Sprog & Tone (Voice & Tone)
438
+
439
+ - **Sprog:** Dansk.
440
+ - **Tone:**
441
+ - **Velkommende:** "Velkommen tilbage", "Fortæl os lidt om dig selv".
442
+ - **Opmuntrende:** "Find din nye SoulMate", "Skal vi tage afsted sammen? 😊".
443
+ - **Klar og direkte:** "Opret Event", "Gem Ændringer".
444
+ - **Tryghedsskabende:** "Din anmeldelse er anonym."
445
+ - **Emojis:** Brug af emojis (😊, 😎, 🎉) er opfordret, hvor det passer, for at skabe en venlig og uformel tone, der appellerer til vores målgruppe.
446
+ Lys mode virker ik
447
+ Gradients skal være i designguide farverne #016a75
448
+ Det skal være farverne #016a75
449
+ Icon farver skal være 016a75
450
+ Icon farver skal være #016a75
451
+ Få billederne til at passe med titlerne
452
+ Udskift billeder sådan de passer til tekst indhold