feat: QR-Code, vCard-Export, Org-Gruppenansicht im Adressbuch
- vcard.ts: shared vCard-Generator (downloadVCard, downloadVCardAll, buildVCardString) - QrModal.svelte + QrButton.svelte: wiederverwendbare QR-Komponenten mit PNG-Download - AdressbuchBlock: Org-Gruppenansicht (Toggle), QR + vCard pro Kontakt, Buchstaben-Trennzeilen, Such-Highlight, "Alle exportieren", Print-Styles - ContactCard: vCard-Download-Button - PostActions: QR-Button für Seiten-URL - qrcode npm-Paket hinzugefügt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
<script lang="ts">
|
||||
import Icon from "@iconify/svelte";
|
||||
import "$lib/iconify-offline";
|
||||
import QrModal from "./QrModal.svelte";
|
||||
|
||||
let {
|
||||
value,
|
||||
label = "",
|
||||
sublabel = "",
|
||||
class: cls = "",
|
||||
}: {
|
||||
value: string;
|
||||
label?: string;
|
||||
sublabel?: string;
|
||||
class?: string;
|
||||
} = $props();
|
||||
|
||||
let open = $state(false);
|
||||
</script>
|
||||
|
||||
<button
|
||||
type="button"
|
||||
title="QR-Code anzeigen"
|
||||
onclick={() => (open = true)}
|
||||
class={cls}
|
||||
>
|
||||
<Icon icon="mdi:qrcode" class="size-[1em]" />
|
||||
</button>
|
||||
|
||||
<QrModal value={open ? value : null} {label} {sublabel} onclose={() => (open = false)} />
|
||||
Reference in New Issue
Block a user