87 lines
3.0 KiB
HTML
87 lines
3.0 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" class="h-full bg-gray-100">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Dashboard | Restaurant Management</title>
|
|
<script type="module" src="src/main.js" defer></script>
|
|
</head>
|
|
<body class="h-full flex items-center justify-center p-4">
|
|
<div
|
|
x-data="dashboardApp()"
|
|
class="w-full max-w-2xl bg-white shadow-lg rounded-lg overflow-hidden font-mono"
|
|
>
|
|
<!-- Header & Close -->
|
|
<div class="p-6 flex justify-between items-center">
|
|
<h2 class="text-2xl font-semibold">Sales Dashboard</h2>
|
|
<div class="flex justify-end items-center">
|
|
<button
|
|
type="button"
|
|
@click="init()"
|
|
class="bg-blue-500 text-white px-4 py-2 mr-4 rounded hover:bg-blue-600"
|
|
>
|
|
Refresh
|
|
</button>
|
|
<button
|
|
type="button"
|
|
@click="openMain()"
|
|
class="bg-red-400 text-white px-4 py-2 rounded hover:bg-red-500"
|
|
>
|
|
Close Manager
|
|
</button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- KPI Cards -->
|
|
<div class="p-6 space-y-6">
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
<!-- Daily Sales -->
|
|
<div class="bg-gray-50 border rounded p-4 flex flex-col">
|
|
<div class="text-gray-600">Daily Sales</div>
|
|
<div
|
|
class="text-2xl font-bold mt-1"
|
|
x-text="formatCurrency(dailySales)"
|
|
></div>
|
|
</div>
|
|
<!-- Weekly Sales -->
|
|
<div class="bg-gray-50 border rounded p-4 flex flex-col">
|
|
<div class="text-gray-600">Weekly Sales</div>
|
|
<div
|
|
class="text-2xl font-bold mt-1"
|
|
x-text="formatCurrency(weeklySales)"
|
|
></div>
|
|
</div>
|
|
<!-- Monthly Sales -->
|
|
<div class="bg-gray-50 border rounded p-4 flex flex-col">
|
|
<div class="text-gray-600">Monthly Sales</div>
|
|
<div
|
|
class="text-2xl font-bold mt-1"
|
|
x-text="formatCurrency(monthlySales)"
|
|
></div>
|
|
</div>
|
|
<!-- Top Dish (Daily) -->
|
|
<div class="bg-gray-50 border rounded p-4 flex flex-col">
|
|
<div class="text-gray-600">Top Dish (Daily)</div>
|
|
<div
|
|
class="text-xl font-medium mt-1"
|
|
x-text="dailyTop || '—'"
|
|
></div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Top Dish Weekly & Monthly -->
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
<div class="bg-gray-50 border rounded p-4">
|
|
<div class="text-gray-600 mb-2">Top Dish (Weekly)</div>
|
|
<div class="text-xl font-medium" x-text="weeklyTop || '—'"></div>
|
|
</div>
|
|
<div class="bg-gray-50 border rounded p-4">
|
|
<div class="text-gray-600 mb-2">Top Dish (Monthly)</div>
|
|
<div class="text-xl font-medium" x-text="monthlyTop || '—'"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|