mirror of
https://github.com/Dvorinka/Bookra.git
synced 2026-10-29 16:04:45 +00:00
refactor(db): replace sqlc with handwritten pgx repos
- Finish Paddle-to-Stripe billing migration; drop paddle/stripe libs - Renumber migrations; add 00012 memberships+manage_token, 00013 location_type_capacity - Add tests: admin, auth, bookings customer service - Remove graphify-out artifacts and stale env files Authored By: TDvorak <[email protected]> Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
2039669e2c
commit
f2f7439050
93 files changed
+6987
-69060
No files matched your search
@@ -43,9 +43,9 @@ function OverviewPage() {
|
||||
))}
|
||||
</div>
|
||||
|
||||
{/* Setup Guide */}
|
||||
<div class="grid lg:grid-cols-3 gap-6">
|
||||
<div class="lg:col-span-1 surface-card p-5">
|
||||
{/* Setup Guide + Trend */}
|
||||
<div class="grid lg:grid-cols-5 gap-6">
|
||||
<div class="lg:col-span-2 surface-card p-5">
|
||||
<div class="flex items-center gap-3 mb-4">
|
||||
<div class="w-9 h-9 rounded-lg bg-accent-subtle flex items-center justify-center text-accent">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5"/></svg>
|
||||
@@ -106,8 +106,8 @@ function OverviewPage() {
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div class="lg:col-span-2">
|
||||
<RevenueChart />
|
||||
<div class="lg:col-span-3">
|
||||
<RevenueChart bookings={data.normalizedAllBookings()} />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -161,11 +161,10 @@ function OverviewPage() {
|
||||
);
|
||||
})()}
|
||||
|
||||
{/* Revenue Chart + Calendar + Activity */}
|
||||
{/* Calendar + Activity */}
|
||||
<div class="grid grid-cols-1 lg:grid-cols-3 gap-6">
|
||||
<div class="lg:col-span-2 space-y-6">
|
||||
<RevenueChart bookings={data.normalizedAllBookings()} />
|
||||
<CalendarView bookings={data.normalizedUpcomingBookings()} locale={data.i18n.locale()} onBookingClick={data.openBookingDetail} />
|
||||
<div class="lg:col-span-2">
|
||||
<CalendarView bookings={data.normalizedAllBookings()} locale={data.i18n.locale()} onBookingClick={data.openBookingDetail} />
|
||||
</div>
|
||||
<div class="space-y-6">
|
||||
<ActivityTimeline activities={data.normalizedRecentActivity()} />
|
||||
@@ -197,7 +196,7 @@ function OverviewPage() {
|
||||
<p class="text-sm text-ink-muted">{booking.service} • {booking.duration}</p>
|
||||
</div>
|
||||
<div class="text-right shrink-0">
|
||||
<p class="text-sm font-medium text-ink">{new Date(booking.startsAt).toLocaleDateString(undefined, { month: "short", day: "numeric" })}</p>
|
||||
<p class="text-sm font-medium text-ink">{new Date(booking.startsAt).toLocaleDateString(data.i18n.locale() === "cs" ? "cs-CZ" : "en-US", { weekday: "short", month: "short", day: "numeric" })}</p>
|
||||
<span class={`inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium ${
|
||||
booking.status === "confirmed" ? "bg-accent/10 text-accent"
|
||||
: booking.status === "pending" ? "bg-canvas-muted text-ink-muted"
|
||||
|
||||
Reference in new issue
Block a user