Enhance ESLint configuration to include support for .mjs and .cjs file types. Update ignored files patterns to ensure proper linting of project files. Refactor Vue component templates for improved readability and maintainability, including consistent formatting and structure across various components. Update error handling in save functions to prevent silent failures.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 52s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 52s
This commit is contained in:
@@ -57,12 +57,25 @@
|
||||
<!-- Sortieroptionen -->
|
||||
<div class="mb-4 flex items-center justify-between gap-4 flex-wrap">
|
||||
<div class="flex items-center space-x-2">
|
||||
<label for="sortMode" class="text-sm text-gray-700">Sortieren nach:</label>
|
||||
<select id="sortMode" v-model="sortMode" class="px-2 py-1 border rounded">
|
||||
<option value="name">Name (Vorname Nachname)</option>
|
||||
<option value="lastname">Nachname (Nachname Vorname)</option>
|
||||
<option value="birthday">Geburtstag</option>
|
||||
</select>
|
||||
<label
|
||||
for="sortMode"
|
||||
class="text-sm text-gray-700"
|
||||
>Sortieren nach:</label>
|
||||
<select
|
||||
id="sortMode"
|
||||
v-model="sortMode"
|
||||
class="px-2 py-1 border rounded"
|
||||
>
|
||||
<option value="name">
|
||||
Name (Vorname Nachname)
|
||||
</option>
|
||||
<option value="lastname">
|
||||
Nachname (Nachname Vorname)
|
||||
</option>
|
||||
<option value="birthday">
|
||||
Geburtstag
|
||||
</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="inline-flex items-center gap-2 text-sm text-gray-700">
|
||||
<input
|
||||
@@ -135,7 +148,10 @@
|
||||
{{ member.name }}
|
||||
</template>
|
||||
</div>
|
||||
<div v-if="member.birthday" class="text-xs text-gray-500">
|
||||
<div
|
||||
v-if="member.birthday"
|
||||
class="text-xs text-gray-500"
|
||||
>
|
||||
🎂 {{ formatBirthday(member.birthday) }}
|
||||
</div>
|
||||
<div
|
||||
@@ -283,7 +299,10 @@
|
||||
<template v-else>
|
||||
{{ member.name }}
|
||||
</template>
|
||||
<span v-if="member.birthday" class="text-xs text-gray-500 ml-2">
|
||||
<span
|
||||
v-if="member.birthday"
|
||||
class="text-xs text-gray-500 ml-2"
|
||||
>
|
||||
🎂 {{ formatBirthday(member.birthday) }}
|
||||
</span>
|
||||
</h3>
|
||||
@@ -341,30 +360,79 @@
|
||||
<div class="grid sm:grid-cols-2 gap-3 text-gray-600">
|
||||
<template v-if="!(member.showEmail && member.email) && !(member.showPhone && member.phone)">
|
||||
<div class="col-span-2 flex items-center text-gray-500 text-sm italic">
|
||||
<Mail :size="16" class="mr-2" />
|
||||
<Mail
|
||||
:size="16"
|
||||
class="mr-2"
|
||||
/>
|
||||
Kontaktdaten nur für Vorstand sichtbar
|
||||
</div>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div v-if="member.showEmail && 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
|
||||
v-if="member.showEmail && 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.showPhone && 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
|
||||
v-if="member.showPhone && 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>
|
||||
<!-- Sichtbarkeits-Flags anzeigen -->
|
||||
<div class="col-span-2 flex items-center gap-2 mt-2 text-xs text-gray-500">
|
||||
<span v-if="member.showEmail" title="E-Mail sichtbar">📧</span>
|
||||
<span v-else title="E-Mail verborgen" class="opacity-40">📧</span>
|
||||
<span v-if="member.showPhone" title="Telefon sichtbar">📞</span>
|
||||
<span v-else title="Telefon verborgen" class="opacity-40">📞</span>
|
||||
<span v-if="member.showAddress" title="Adresse sichtbar">🏠</span>
|
||||
<span v-else title="Adresse verborgen" class="opacity-40">🏠</span>
|
||||
<span v-if="member.showBirthday" title="Geburtstag sichtbar">🎂</span>
|
||||
<span v-else title="Geburtstag verborgen" class="opacity-40">🎂</span>
|
||||
<span
|
||||
v-if="member.showEmail"
|
||||
title="E-Mail sichtbar"
|
||||
>📧</span>
|
||||
<span
|
||||
v-else
|
||||
title="E-Mail verborgen"
|
||||
class="opacity-40"
|
||||
>📧</span>
|
||||
<span
|
||||
v-if="member.showPhone"
|
||||
title="Telefon sichtbar"
|
||||
>📞</span>
|
||||
<span
|
||||
v-else
|
||||
title="Telefon verborgen"
|
||||
class="opacity-40"
|
||||
>📞</span>
|
||||
<span
|
||||
v-if="member.showAddress"
|
||||
title="Adresse sichtbar"
|
||||
>🏠</span>
|
||||
<span
|
||||
v-else
|
||||
title="Adresse verborgen"
|
||||
class="opacity-40"
|
||||
>🏠</span>
|
||||
<span
|
||||
v-if="member.showBirthday"
|
||||
title="Geburtstag sichtbar"
|
||||
>🎂</span>
|
||||
<span
|
||||
v-else
|
||||
title="Geburtstag verborgen"
|
||||
class="opacity-40"
|
||||
>🎂</span>
|
||||
</div>
|
||||
<div
|
||||
v-if="member.address"
|
||||
|
||||
Reference in New Issue
Block a user