112 lines
4.9 KiB
PHP
112 lines
4.9 KiB
PHP
<?php
|
|
$tenantRole = (string) ($authState['tenant_role'] ?? 'member');
|
|
$isSelfService = $tenantRole === 'member';
|
|
require __DIR__ . '/../partials/layout-top.php';
|
|
?>
|
|
|
|
<section class="page-head inline-head">
|
|
<div>
|
|
<span class="eyebrow"><?= e($isSelfService ? 'Member-Self-Service' : ucfirst((string) $tenant['plan']) . ' Paket') ?></span>
|
|
<h1><?= e($tenant['name']) ?></h1>
|
|
<?php if ($isSelfService): ?>
|
|
<p>Rolle: <?= e($tenantRole) ?>. Dieser Zugang ist fuer die taegliche Selbstbuchung gedacht; Stammdaten, Saldenpflege und Korrekturen bleiben beim Standortteam.</p>
|
|
<?php else: ?>
|
|
<p>Rolle: <?= e($tenantRole) ?>. Hier laufen digitale Buchungen, Backoffice-Korrekturen und Standortzahlen zusammen.</p>
|
|
<?php endif; ?>
|
|
</div>
|
|
<form method="post" action="<?= e(tenant_url($tenant['slug'], 'logout')) ?>">
|
|
<?= csrf_field($csrf) ?>
|
|
<button class="button button-secondary" type="submit">Abmelden</button>
|
|
</form>
|
|
</section>
|
|
|
|
<?php if ($isSelfService): ?>
|
|
<div class="two-column">
|
|
<section class="card">
|
|
<span class="eyebrow">Was du hier tun kannst</span>
|
|
<ul class="feature-list">
|
|
<li>Digitale Buchungen fuer deinen Standort erfassen</li>
|
|
<li>Produktpreise vor dem Buchen einsehen</li>
|
|
<li>Passwort-Reset oder Buchungskorrekturen ueber das Standortteam anstossen</li>
|
|
</ul>
|
|
<p class="muted">Die Navigation zeigt hier bewusst nur Self-Service-Seiten, damit dieser Zugang nicht wie Volladministration wirkt.</p>
|
|
</section>
|
|
<section class="card">
|
|
<span class="eyebrow">Pilotbetrieb</span>
|
|
<ul class="stack-list">
|
|
<li>
|
|
<strong>Stammdaten und Mitglieder</strong>
|
|
<small>Pflegt weiterhin das Standortteam im Backoffice.</small>
|
|
</li>
|
|
<li>
|
|
<strong>Einzahlungen und Papierlisten</strong>
|
|
<small>Werden separat verbucht und bei Bedarf dort korrigiert.</small>
|
|
</li>
|
|
<li>
|
|
<strong>Exporte und persoenliche Historie</strong>
|
|
<small>Werden im Pilot noch schrittweise nachgezogen.</small>
|
|
</li>
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
<?php else: ?>
|
|
<section class="metric-cards">
|
|
<article class="metric-card">
|
|
<span>Mitglieder</span>
|
|
<strong><?= e((string) $summary['member_count']) ?></strong>
|
|
</article>
|
|
<article class="metric-card">
|
|
<span>Produkte</span>
|
|
<strong><?= e((string) $summary['product_count']) ?></strong>
|
|
</article>
|
|
<article class="metric-card">
|
|
<span>Papierlisten</span>
|
|
<strong><?= e((string) $summary['paper_sheet_count']) ?></strong>
|
|
</article>
|
|
<article class="metric-card">
|
|
<span>Offene Salden</span>
|
|
<strong><?= e(money_from_cents((int) $summary['open_balance_cents'])) ?></strong>
|
|
</article>
|
|
</section>
|
|
|
|
<div class="two-column">
|
|
<section class="card">
|
|
<span class="eyebrow">Letzte Buchungen</span>
|
|
<ul class="stack-list">
|
|
<?php if ($latestEvents === []): ?>
|
|
<li>
|
|
<strong>Noch keine Buchungen</strong>
|
|
<small>Die letzten Ereignisse erscheinen hier, sobald der Pilotstandort aktiv bucht.</small>
|
|
</li>
|
|
<?php endif; ?>
|
|
<?php foreach ($latestEvents as $event): ?>
|
|
<li>
|
|
<strong><?= e($event['member_name']) ?></strong>
|
|
<span><?= e($event['product_name']) ?> via <?= e($event['source_name']) ?></span>
|
|
<small><?= e(money_from_cents((int) $event['total_cents'])) ?> am <?= e($event['recorded_at']) ?></small>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</section>
|
|
<section class="card">
|
|
<span class="eyebrow">Hohe Salden</span>
|
|
<ul class="stack-list">
|
|
<?php if ($memberBalances === []): ?>
|
|
<li>
|
|
<strong>Noch keine Salden</strong>
|
|
<small>Sobald Buchungen oder Einzahlungen vorliegen, erscheint hier die Uebersicht.</small>
|
|
</li>
|
|
<?php endif; ?>
|
|
<?php foreach ($memberBalances as $balance): ?>
|
|
<li>
|
|
<strong><?= e($balance['display_name']) ?></strong>
|
|
<small><?= e(money_from_cents((int) $balance['balance_cents'])) ?></small>
|
|
</li>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
</section>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php require __DIR__ . '/../partials/layout-bottom.php'; ?>
|