refactor: rename orders to inquiries and update PDF and email text

This commit is contained in:
DanielS
2026-06-30 15:23:33 +02:00
parent bdc9e6541c
commit 8f4f05a3cd
5 changed files with 57 additions and 54 deletions

View File

@@ -13,7 +13,7 @@ const defaultUrl = process.env.VERCEL_URL
export const metadata: Metadata = {
metadataBase: new URL(defaultUrl),
title: "CASPOS-Shop | Die Kasse",
description: "Konfigurieren und bestellen Sie Ihre maßgeschneiderte Business-Software in Minuten.",
description: "Konfigurieren Sie Ihre maßgeschneiderte Business-Software in Minuten und fragen Sie sie an.",
};
const geistSans = Geist({

View File

@@ -44,10 +44,10 @@ export default async function MyOrdersPage() {
<div>
<h1 className="text-3xl font-extrabold tracking-tight flex items-center gap-3">
<ShoppingBag className="w-8 h-8 text-primary" />
Meine Bestellungen
Meine Anfragen
</h1>
<p className="text-slate-400 text-sm mt-1">
Alle Ihre Bestellungen auf einen Blick inkl. aktuellem Status.
Alle Ihre Anfragen auf einen Blick inkl. aktuellem Status.
</p>
</div>
</div>
@@ -55,16 +55,16 @@ export default async function MyOrdersPage() {
{/* Fehler */}
{error && (
<div className="bg-red-500/10 border border-red-500/20 text-red-400 rounded-xl p-4 text-sm">
Fehler beim Laden der Bestellungen: {error.message}
Fehler beim Laden der Anfragen: {error.message}
</div>
)}
{/* Keine Bestellungen */}
{/* Keine Anfragen */}
{!error && (!orders || orders.length === 0) && (
<Card className="glass-dark border-white/10">
<CardContent className="flex flex-col items-center justify-center py-16 gap-4">
<Package className="w-12 h-12 text-slate-600" />
<p className="text-slate-400 text-lg">Sie haben noch keine Bestellungen aufgegeben.</p>
<p className="text-slate-400 text-lg">Sie haben noch keine Anfragen aufgegeben.</p>
<Link href="/order">
<Button>Jetzt konfigurieren</Button>
</Link>
@@ -72,7 +72,7 @@ export default async function MyOrdersPage() {
</Card>
)}
{/* Bestellliste */}
{/* Anfragenliste */}
<div className="space-y-4">
{(orders ?? []).map((order) => {
const o = order as Order
@@ -83,7 +83,7 @@ export default async function MyOrdersPage() {
{/* Kopfzeile */}
<div className="flex items-start justify-between gap-4 flex-wrap">
<div className="space-y-1">
<p className="text-xs text-slate-500 uppercase tracking-wider">Bestellnummer</p>
<p className="text-xs text-slate-500 uppercase tracking-wider">Anfragenummer</p>
<p className="font-mono font-bold text-primary text-lg">#{o.order_number}</p>
</div>
<div className="space-y-1 text-right">
@@ -136,7 +136,7 @@ export default async function MyOrdersPage() {
<>
<Button variant="ghost" size="sm" asChild className="text-xs text-slate-400 hover:text-white">
<a href={o.pdf_url} target="_blank" rel="noopener noreferrer">
<ExternalLink className="w-3 h-3 mr-1" /> Angebotsbestätigung ansehen
<ExternalLink className="w-3 h-3 mr-1" /> Anfrage ansehen
</a>
</Button>
<Button variant="ghost" size="sm" asChild className="text-xs text-slate-400 hover:text-white">

View File

@@ -50,27 +50,27 @@ export default async function OrderSuccessPage({
<CheckCircle2 className="w-12 h-12 text-green-400" />
</div>
<h1 className="text-4xl font-extrabold tracking-tight text-white">
Bestellung eingegangen!
Anfrage eingegangen!
</h1>
<p className="text-slate-400 text-lg">
Ihre Bestellung wurde erfolgreich gespeichert.
Ihre Anfrage wurde erfolgreich gespeichert.
</p>
<div className="inline-flex items-center gap-2 bg-white/5 border border-white/10 rounded-full px-5 py-2 font-mono text-lg font-bold text-primary">
#{o.order_number}
</div>
</div>
{/* Bestell-Details */}
{/* Anfrage-Details */}
<Card className="glass-dark border-white/10">
<CardHeader className="flex flex-row items-center justify-between">
<CardTitle className="text-white">Bestellübersicht</CardTitle>
<CardTitle className="text-white">Anfrageübersicht</CardTitle>
<Badge
className={
o.status === 'active'
? 'bg-green-500/20 text-green-400 border-green-500/30'
: o.status === 'cancelled'
? 'bg-red-500/20 text-red-400 border-red-500/30'
: 'bg-amber-500/20 text-amber-400 border-amber-500/30'
? 'bg-red-500/20 text-red-400 border-red-500/30'
: 'bg-amber-500/20 text-amber-400 border-amber-500/30'
}
>
{statusLabel[o.status] ?? o.status}
@@ -117,16 +117,16 @@ export default async function OrderSuccessPage({
{o.order_data.price_multiplier === 0
? "Update (0-12 Monate): 100% Rabatt (inklusive)"
: o.order_data.price_multiplier === 0.15
? "Update (13-14 Monate): 15% vom Listenpreis"
: o.order_data.price_multiplier === 0.30
? "Update (15-25 Monate): 30% vom Listenpreis"
: o.order_data.price_multiplier === 0.45
? "Update (26-37 Monate): 45% vom Listenpreis"
: o.order_data.price_multiplier === 0.60
? "Update (38-49 Monate): 60% vom Listenpreis"
: o.order_data.price_multiplier === 0.90
? "Neukauf (>= 50 Monate): 10% Rabatt"
: `Gebühr: ${o.order_data.price_multiplier * 100}%`}
? "Update (13-14 Monate): 15% vom Listenpreis"
: o.order_data.price_multiplier === 0.30
? "Update (15-25 Monate): 30% vom Listenpreis"
: o.order_data.price_multiplier === 0.45
? "Update (26-37 Monate): 45% vom Listenpreis"
: o.order_data.price_multiplier === 0.60
? "Update (38-49 Monate): 60% vom Listenpreis"
: o.order_data.price_multiplier === 0.90
? "Neukauf (>= 50 Monate): 10% Rabatt"
: `Gebühr: ${o.order_data.price_multiplier * 100}%`}
</p>
{o.order_data.last_license_date && (
<p className="text-xs font-normal text-slate-400 flex items-center gap-1">