Respect per-user visibility; only 'vorstand' overrides visibility; UI shows contactHidden per-member
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 47s

This commit is contained in:
Torsten Schulz (local)
2026-02-11 13:24:01 +01:00
parent ce5915a3bc
commit 141a15a6cb
3 changed files with 49 additions and 65 deletions

View File

@@ -115,7 +115,10 @@
</div>
</td>
<td class="px-4 py-3 whitespace-nowrap">
<template v-if="canViewContactData">
<template v-if="member.contactHidden">
<span class="text-sm text-gray-400">Kontaktdaten nur für Vorstand sichtbar</span>
</template>
<template v-else>
<a
v-if="member.email"
:href="`mailto:${member.email}`"
@@ -123,18 +126,14 @@
>
{{ member.email }}
</a>
<span
v-else
class="text-sm text-gray-400"
>-</span>
<span v-else class="text-sm text-gray-400">-</span>
</template>
<span
v-else
class="text-sm text-gray-400"
>Nur für Vorstand</span>
</td>
<td class="px-4 py-3 whitespace-nowrap">
<template v-if="canViewContactData">
<template v-if="member.contactHidden">
<span class="text-sm text-gray-400">Kontaktdaten nur für Vorstand sichtbar</span>
</template>
<template v-else>
<a
v-if="member.phone"
:href="`tel:${member.phone}`"
@@ -142,15 +141,8 @@
>
{{ member.phone }}
</a>
<span
v-else
class="text-sm text-gray-400"
>-</span>
<span v-else class="text-sm text-gray-400">-</span>
</template>
<span
v-else
class="text-sm text-gray-400"
>Nur für Vorstand</span>
</td>
<td class="px-4 py-3 whitespace-nowrap">
<button
@@ -296,44 +288,22 @@
</div>
<div class="grid sm:grid-cols-2 gap-3 text-gray-600">
<template v-if="canViewContactData">
<div
v-if="member.email"
class="flex items-center"
>
<Mail
:size="16"
class="mr-2 text-primary-600"
/>
<a
:href="`mailto:${member.email}`"
class="hover:text-primary-600"
>{{ member.email }}</a>
</div>
<div
v-if="member.phone"
class="flex items-center"
>
<Phone
:size="16"
class="mr-2 text-primary-600"
/>
<a
:href="`tel:${member.phone}`"
class="hover:text-primary-600"
>{{ member.phone }}</a>
<template v-if="member.contactHidden">
<div class="col-span-2 flex items-center text-gray-500 text-sm italic">
<Mail :size="16" class="mr-2" />
Kontaktdaten nur für Vorstand sichtbar
</div>
</template>
<template v-else>
<div v-if="member.email" class="flex items-center">
<Mail :size="16" class="mr-2 text-primary-600" />
<a :href="`mailto:${member.email}`" class="hover:text-primary-600">{{ member.email }}</a>
</div>
<div v-if="member.phone" class="flex items-center">
<Phone :size="16" class="mr-2 text-primary-600" />
<a :href="`tel:${member.phone}`" class="hover:text-primary-600">{{ member.phone }}</a>
</div>
</template>
<div
v-else
class="col-span-2 flex items-center text-gray-500 text-sm italic"
>
<Mail
:size="16"
class="mr-2"
/>
Kontaktdaten nur für Vorstand sichtbar
</div>
<div
v-if="member.address"
class="flex items-start col-span-2"