diff --git a/frontend/src/views/MembersView.vue b/frontend/src/views/MembersView.vue
index b030e08..a609290 100644
--- a/frontend/src/views/MembersView.vue
+++ b/frontend/src/views/MembersView.vue
@@ -60,7 +60,6 @@
Geburtsdatum |
Telefon-Nr. |
Email-Adresse |
- Geschlecht |
|
@@ -74,12 +73,16 @@
{{ member.picsInInternetAllowed ? '✓' : '' }}
{{ member.testMembership ? '*' : '' }} |
- {{ member.lastName }}, {{ member.firstName }} |
+
+ {{ genderSymbol(member.gender) }}
+
+ {{ member.lastName }}, {{ member.firstName }}
+
+ |
{{ member.street }}, {{ member.city }} |
{{ getFormattedBirthdate(member.birthDate) }} |
{{ member.phone }} |
{{ member.email }} |
- {{ member.gender || 'unknown' }} |
|
@@ -354,6 +357,20 @@ export default {
const date = new Date(birthDate);
return `${String(date.getDate()).padStart(2, '0')}.${String(date.getMonth() + 1).padStart(2, '0')}.${date.getFullYear()}`;
},
+ labelGender(g) {
+ const v = (g || 'unknown');
+ if (v === 'male') return 'Männlich';
+ if (v === 'female') return 'Weiblich';
+ if (v === 'diverse') return 'Divers';
+ return 'Unbekannt';
+ },
+ genderSymbol(g) {
+ const v = (g || 'unknown');
+ if (v === 'male') return '♂';
+ if (v === 'female') return '♀';
+ if (v === 'diverse') return '⚧';
+ return '';
+ }
}
}
@@ -448,4 +465,24 @@ table td {
text-decoration: none;
cursor: pointer;
}
+
+.badge {
+ display: inline-block;
+ padding: 2px 8px;
+ border-radius: 999px;
+ font-size: 0.85rem;
+ border: 1px solid #ddd;
+ background: #f5f5f5;
+}
+.gender-symbol, .gender-name { background: transparent; border: none; }
+
+.gender-name.gender-male { color: #1a73e8; }
+.gender-name.gender-female { color: #d81b60; }
+.gender-name.gender-diverse { color: #6a1b9a; }
+.gender-name.gender-unknown { color: #444; }
+.gender-symbol.gender-male { color: #1a73e8; }
+.gender-symbol.gender-female { color: #d81b60; }
+.gender-symbol.gender-diverse { color: #6a1b9a; }
+.gender-symbol.gender-unknown { color: #444; }
+.gender-symbol { margin-right: .35rem; opacity: .9; font-size: 1.05em; display: inline-block; width: 1.1em; text-align: center; }