feat(next-feedback): add onActiveChange prop for controlled activation
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 2s
Monorepo Pipeline / 🧹 Lint (push) Successful in 1m1s
Monorepo Pipeline / 🚀 Release (push) Has been cancelled
Monorepo Pipeline / 🧪 Test (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Directus (Base) (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been cancelled
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been cancelled
Monorepo Pipeline / 🏗️ Build (push) Has been cancelled

This commit is contained in:
2026-02-14 02:03:13 +01:00
parent f48d89c368
commit 9b1f3fb7e8
43 changed files with 121616 additions and 37174 deletions

View File

@@ -47,7 +47,7 @@
<header class="header">
<div class="header-left">
<h1 class="title">{{ selectedCompany.name }}</h1>
<p class="subtitle">{{ selectedCompany.industry || 'Keine Branche angegeben' }}</p>
<p class="subtitle">{{ selectedCompany.domain || 'Keine Domain angegeben' }}</p>
</div>
<div class="header-right">
@@ -62,19 +62,10 @@
<v-divider />
<div class="details-grid">
<div class="detail-item">
<span class="label">Website</span>
<p class="value">
<a v-if="selectedCompany.website" :href="selectedCompany.website" target="_blank">{{ selectedCompany.website }}</a>
<span v-else>---</span>
</p>
<div class="detail-item full">
<span class="label">Notizen / Adresse</span>
<p class="value">{{ selectedCompany.notes || '---' }}</p>
</div>
<div class="detail-item">
<span class="label">Adresse</span>
<p class="value">{{ selectedCompany.address || '---' }}</p>
</div>
</div>
</div>
</div>
@@ -93,16 +84,12 @@
<v-input v-model="form.name" placeholder="z.B. Schmidt GmbH" autofocus />
</div>
<div class="field">
<span class="label">Branche</span>
<v-input v-model="form.industry" placeholder="z.B. IT-Services" />
<span class="label">Domain / Website</span>
<v-input v-model="form.domain" placeholder="example.com" />
</div>
<div class="field">
<span class="label">Website</span>
<v-input v-model="form.website" placeholder="https://..." />
</div>
<div class="field">
<span class="label">Adresse</span>
<v-textarea v-model="form.address" placeholder="Straße, PLZ Ort" />
<span class="label">Notizen / Adresse</span>
<v-textarea v-model="form.notes" placeholder="z.B. Branche, Adresse, etc." />
</div>
</div>
@@ -132,9 +119,8 @@ const isEditing = ref(false);
const form = ref({
id: null,
name: '',
industry: '',
website: '',
address: ''
domain: '',
notes: ''
});
async function fetchData() {
@@ -157,9 +143,8 @@ function openCreateDrawer() {
form.value = {
id: null,
name: '',
industry: '',
website: '',
address: ''
domain: '',
notes: ''
};
drawerActive.value = true;
}
@@ -220,8 +205,9 @@ onMounted(fetchData);
.subtitle { color: var(--theme--foreground-subdued); font-size: 14px; }
.header-right { display: flex; gap: 12px; }
.empty-state { height: 100%; display: flex; align-items: center; justify-content: center; }
.details-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 32px; margin-top: 32px; }
.details-grid { display: flex; flex-direction: column; gap: 24px; margin-top: 32px; }
.detail-item { display: flex; flex-direction: column; gap: 8px; }
.detail-item.full { width: 100%; }
.label { font-size: 12px; font-weight: 700; text-transform: uppercase; color: var(--theme--foreground-subdued); letter-spacing: 0.5px; }
.value { font-size: 16px; font-weight: 500; }
.drawer-content { padding: 24px; display: flex; flex-direction: column; gap: 32px; }