feat: verschlüsselte Integrationseinstellungen, Haushaltsmitglieder mit Ersteller, Backup-Download
This commit is contained in:
1 parent
a1195223e0
commit
267f4fcf70
21 files changed
+724
-30
No files matched your search
+5
-1
@@ -51,6 +51,7 @@ async function VoucherList({ filter }: { filter: string }) {
|
||||
if (filter === "aktiv") return s === "aktiv";
|
||||
return true;
|
||||
});
|
||||
const withLogos = await Promise.all(filtered.map(withLogoUrl));
|
||||
if (filtered.length === 0) {
|
||||
return (
|
||||
<div className="rounded-card border border-line bg-white p-10 text-center">
|
||||
@@ -66,7 +67,7 @@ async function VoucherList({ filter }: { filter: string }) {
|
||||
}
|
||||
return (
|
||||
<ul className="grid gap-3">
|
||||
{filtered.map(withLogoUrl).map((v) => {
|
||||
{withLogos.map((v) => {
|
||||
const s = getVoucherStatus(v);
|
||||
return (
|
||||
<li key={v.id} className="rounded-card border border-line bg-white p-5 transition-shadow hover:shadow-[0_8px_24px_rgba(32,55,39,0.08)]">
|
||||
@@ -81,6 +82,9 @@ async function VoucherList({ filter }: { filter: string }) {
|
||||
{v.anbieter} · {formatEuro(v.restCents)} von {formatEuro(v.wertCents)}
|
||||
{v.ablaufdatum ? ` · bis ${v.ablaufdatum.toLocaleDateString("de-DE")}` : ""}
|
||||
</p>
|
||||
<p className="mt-0.5 text-[13px] text-muted">
|
||||
{v.createdBy ? `Angelegt von ${v.createdBy}` : "Ersteller nicht erfasst"}
|
||||
</p>
|
||||
</div>
|
||||
<span className={`shrink-0 rounded-full px-2.5 py-1 text-xs font-semibold ${STATUS_STYLE[s]}`}>
|
||||
{statusLabel(s)}
|
||||
|
||||
Reference in new issue
Block a user