Boersenchecker UI2
All checks were successful
Deploy / deploy-staging (push) Successful in 5s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-04-23 00:03:06 +02:00
parent 327f40adec
commit ac3ac0803b
2 changed files with 60 additions and 45 deletions

View File

@@ -1,21 +1,34 @@
<div class="card">
<div class="bc-module-nav">
<a class="bc-module-tab" href="/module/boersenchecker">Ueberblick</a>
<a class="bc-module-tab" href="/module/boersenchecker/depotverwaltung">Depotverwaltung</a>
<a class="bc-module-tab is-active" href="/module/boersenchecker/aktienverwaltung">Aktienverwaltung</a>
</div>
<div class="pill">Boersenchecker</div>
<h1 style="margin-top:.75rem;">Aktienverwaltung</h1>
<p class="muted">Aktien aus deinen Depots bearbeiten und manuelle Kurse pflegen.</p>
<div class="bc-app">
<div class="bc-grid-bg">
<div class="bc-shell bc-stack">
<header class="bc-hero">
<div class="bc-hero-top">
<div class="bc-hero-copy">
<div class="bc-eyebrow">Boersenchecker Modul</div>
<h1 class="bc-title">Aktienverwaltung</h1>
<p class="bc-text">Stammdaten der Aktien pflegen, Symbole suchen und manuelle Kurse verwalten.</p>
</div>
<div class="bc-hero-controls">
<a class="bc-button bc-button--ghost" href="/">Zur Startseite</a>
<a class="bc-button bc-button--secondary" href="/modules/setup/boersenchecker">Setup</a>
</div>
</div>
<?php if ($error): ?>
<div class="card" style="margin-top:1rem; border-color:#ffb4a8; background:#fff5f3; color:#7a2114;"><?= e($error) ?></div>
<?php elseif ($notice): ?>
<div class="card" style="margin-top:1rem; border-color:var(--accent-2);"><?= e($notice) ?></div>
<?php endif; ?>
<div class="bc-tabs">
<a class="bc-button bc-button--tab" href="/module/boersenchecker">Ueberblick</a>
<a class="bc-button bc-button--tab" href="/module/boersenchecker/depotverwaltung">Depotverwaltung</a>
<a class="bc-button bc-button--tab-active" href="/module/boersenchecker/aktienverwaltung">Aktienverwaltung</a>
</div>
</header>
<div class="grid" style="margin-top:1rem;">
<div class="card" style="background:var(--panel-2);">
<?php if ($error): ?>
<div class="bc-alert bc-alert--error"><?= e($error) ?></div>
<?php elseif ($notice): ?>
<div class="bc-alert bc-alert--success"><?= e($notice) ?></div>
<?php endif; ?>
<div class="grid" style="margin-top:1rem;">
<div class="bc-panel">
<strong>Aktie waehlen</strong>
<form method="get" style="margin-top:.75rem;">
<label class="setup-field muted">
@@ -31,7 +44,7 @@
</form>
</div>
<div class="card" style="background:var(--panel-2);">
<div class="bc-panel">
<strong>Symbolsuche</strong>
<form method="post" style="margin-top:.75rem; display:flex; gap:10px; flex-wrap:wrap; align-items:end;">
<input type="hidden" name="action" value="search_symbol">
@@ -40,11 +53,11 @@
<span>Suchbegriff</span>
<input type="text" name="search_keywords" value="<?= e($searchKeywords) ?>" placeholder="z.B. Apple, AAPL, Allianz" required>
</label>
<button class="cta-button" type="submit">Suchen</button>
<button class="bc-button bc-button--primary" type="submit">Suchen</button>
</form>
<?php if ($searchResults !== []): ?>
<div style="overflow:auto; margin-top:1rem;">
<table style="width:100%; border-collapse:collapse;">
<div class="bc-table-shell" style="margin-top:1rem;">
<table class="bc-table">
<tbody>
<?php foreach ($searchResults as $result): ?>
<tr style="border-bottom:1px solid var(--border);">
@@ -53,7 +66,7 @@
<td style="padding:8px;"><?= e((string) ($result['region'] ?? '')) ?></td>
<td style="padding:8px;"><?= e((string) ($result['currency'] ?? '')) ?></td>
<td style="padding:8px;">
<a class="nav-link" href="/module/boersenchecker/aktienverwaltung?instrument_id=<?= e((string) $selectedInstrumentId) ?>&symbol_candidate=<?= urlencode((string) ($result['symbol'] ?? '')) ?>&instrument_name_candidate=<?= urlencode((string) ($result['name'] ?? '')) ?>&market_candidate=<?= urlencode((string) ($result['region'] ?? '')) ?>&quote_currency_candidate=<?= urlencode((string) ($result['currency'] ?? '')) ?>">
<a class="bc-button bc-button--secondary" href="/module/boersenchecker/aktienverwaltung?instrument_id=<?= e((string) $selectedInstrumentId) ?>&symbol_candidate=<?= urlencode((string) ($result['symbol'] ?? '')) ?>&instrument_name_candidate=<?= urlencode((string) ($result['name'] ?? '')) ?>&market_candidate=<?= urlencode((string) ($result['region'] ?? '')) ?>&quote_currency_candidate=<?= urlencode((string) ($result['currency'] ?? '')) ?>">
Uebernehmen
</a>
</td>
@@ -66,7 +79,7 @@
</div>
</div>
<div class="card" style="margin-top:1rem; background:var(--panel-2);">
<div class="bc-panel" style="margin-top:1rem;">
<strong>Aktie bearbeiten</strong>
<?php if (!$selectedInstrument || empty($selectedInstrument['id'])): ?>
<div class="muted" style="margin-top:.75rem;">Keine Aktie vorhanden.</div>
@@ -82,17 +95,17 @@
<label class="setup-field muted"><span>Markt</span><input type="text" name="market" value="<?= e((string) (($selectedInstrument['market'] ?? '') ?: ($_GET['market_candidate'] ?? ''))) ?>"></label>
<label class="setup-field muted"><span>Kurswaehrung</span><input type="text" name="quote_currency" value="<?= e((string) (($selectedInstrument['quote_currency'] ?? $defaultReportCurrency) ?: ($_GET['quote_currency_candidate'] ?? $defaultReportCurrency))) ?>"></label>
</div>
<button class="cta-button" type="submit">Aktie speichern</button>
<button class="bc-button bc-button--primary" type="submit">Aktie speichern</button>
</form>
<form method="post" style="margin-top:.75rem;">
<input type="hidden" name="action" value="refresh_alpha_vantage_instrument">
<input type="hidden" name="instrument_id" value="<?= e((string) ($selectedInstrument['id'] ?? 0)) ?>">
<button class="nav-link" type="submit">Aktuellen API-Kurs abrufen</button>
<button class="bc-button bc-button--secondary" type="submit">Aktuellen API-Kurs abrufen</button>
</form>
<?php endif; ?>
</div>
<div class="card" style="margin-top:1rem; background:var(--panel-2);">
<div class="bc-panel" style="margin-top:1rem;">
<strong>Manuellen Kurs eingeben</strong>
<?php if (!$selectedInstrument || empty($selectedInstrument['id'])): ?>
<div class="muted" style="margin-top:.75rem;">Keine Aktie vorhanden.</div>
@@ -106,18 +119,18 @@
<label class="setup-field muted"><span>Zeitpunkt</span><input type="datetime-local" name="quoted_at" value="<?= e(date('Y-m-d\TH:i')) ?>" required></label>
<label class="setup-field muted"><span>Quelle</span><input type="text" name="quote_source" value="manual"></label>
</div>
<button class="cta-button" type="submit">Kurs speichern</button>
<button class="bc-button bc-button--primary" type="submit">Kurs speichern</button>
</form>
<?php endif; ?>
</div>
<div class="card" style="margin-top:1rem;">
<div class="bc-panel" style="margin-top:1rem;">
<strong>Kursverlauf</strong>
<?php if ($quotes === []): ?>
<div class="muted" style="margin-top:.75rem;">Keine Kursdaten vorhanden.</div>
<?php else: ?>
<div style="overflow:auto; margin-top:.75rem;">
<table style="width:100%; border-collapse:collapse;">
<div class="bc-table-shell" style="margin-top:.75rem;">
<table class="bc-table">
<tbody>
<?php foreach ($quotes as $quote): ?>
<tr style="border-bottom:1px solid var(--border);">
@@ -129,7 +142,7 @@
<input type="hidden" name="action" value="delete_quote">
<input type="hidden" name="instrument_id" value="<?= e((string) $selectedInstrumentId) ?>">
<input type="hidden" name="quote_id" value="<?= e((string) $quote['id']) ?>">
<button class="nav-link" type="submit">Loeschen</button>
<button class="bc-button bc-button--secondary" type="submit">Loeschen</button>
</form>
</td>
</tr>
@@ -139,4 +152,6 @@
</div>
<?php endif; ?>
</div>
</div>
</div>
</div>