Prepare BizOne portal production wallet and UI
This commit is contained in:
453
stitch_bizone/conversations_bizone_standard_layout/code.html
Normal file
453
stitch_bizone/conversations_bizone_standard_layout/code.html
Normal file
@ -0,0 +1,453 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<html class="light" lang="en"><head>
|
||||
<meta charset="utf-8"/>
|
||||
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
|
||||
<title>WhatsApp Business Admin - Outbound Messages</title>
|
||||
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&family=Inter:wght@400;600;700&family=JetBrains+Mono&display=swap" rel="stylesheet"/>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap" rel="stylesheet"/>
|
||||
<script id="tailwind-config">
|
||||
tailwind.config = {
|
||||
darkMode: "class",
|
||||
theme: {
|
||||
extend: {
|
||||
"colors": {
|
||||
"on-tertiary": "#ffffff",
|
||||
"surface-card": "#FFFFFF",
|
||||
"surface-variant": "#dce5d8",
|
||||
"primary-container": "#e0f2fe",
|
||||
"outline-variant": "#E2E8F0",
|
||||
"outline": "#64748B",
|
||||
"secondary": "#0ea5e9",
|
||||
"surface-bright": "#f8fafc",
|
||||
"tertiary": "#93492e",
|
||||
"surface-dim": "#f1f5f9",
|
||||
"surface-tint": "#001b44",
|
||||
"on-tertiary-fixed": "#380d00",
|
||||
"primary-fixed": "#66ff8e",
|
||||
"status-info": "#3B82F6",
|
||||
"on-tertiary-container": "#78351b",
|
||||
"tertiary-container": "#ffa07e",
|
||||
"surface-container-highest": "#dce5d8",
|
||||
"inverse-primary": "#3de273",
|
||||
"on-surface-variant": "#64748B",
|
||||
"background-main": "#F8F9FA",
|
||||
"on-error-container": "#93000a",
|
||||
"primary-fixed-dim": "#3de273",
|
||||
"primary": "#001b44",
|
||||
"background": "#F8F9FA",
|
||||
"surface-container-high": "#f1f5f9",
|
||||
"on-surface": "#0f172a",
|
||||
"surface-container-low": "#f8fafc",
|
||||
"on-primary-fixed-variant": "#005322",
|
||||
"secondary-container": "#e0f2fe",
|
||||
"secondary-fixed": "#8ff4e3",
|
||||
"on-error": "#ffffff",
|
||||
"secondary-fixed-dim": "#72d8c8",
|
||||
"surface-container": "#f1f5f9",
|
||||
"text-secondary": "#64748B",
|
||||
"status-warning": "#F59E0B",
|
||||
"status-error": "#EF4444",
|
||||
"surface": "#ffffff",
|
||||
"on-primary": "#ffffff",
|
||||
"surface-container-lowest": "#ffffff",
|
||||
"status-success": "#10b981",
|
||||
"on-primary-fixed": "#002109",
|
||||
"on-primary-container": "#001b44",
|
||||
"on-secondary-fixed": "#00201c",
|
||||
"on-tertiary-fixed-variant": "#763319",
|
||||
"on-secondary": "#ffffff",
|
||||
"error-container": "#ffdad6",
|
||||
"inverse-surface": "#0f172a",
|
||||
"on-secondary-fixed-variant": "#005047",
|
||||
"text-primary": "#0f172a",
|
||||
"on-secondary-container": "#0ea5e9",
|
||||
"error": "#ba1a1a",
|
||||
"on-background": "#0f172a",
|
||||
"tertiary-fixed-dim": "#ffb59b",
|
||||
"inverse-on-surface": "#f1f5f9",
|
||||
"tertiary-fixed": "#ffdbcf",
|
||||
"border-subtle": "#E2E8F0",
|
||||
"brand-navy": "#001b44",
|
||||
"brand-blue": "#0ea5e9"
|
||||
},
|
||||
"borderRadius": {
|
||||
"DEFAULT": "0.25rem",
|
||||
"lg": "0.5rem",
|
||||
"xl": "0.75rem",
|
||||
"full": "9999px"
|
||||
},
|
||||
"spacing": {
|
||||
"card-padding": "20px",
|
||||
"toolbar-height": "72px",
|
||||
"gutter": "24px",
|
||||
"sidebar-width": "260px",
|
||||
"base": "8px",
|
||||
"container-margin": "32px"
|
||||
},
|
||||
"fontFamily": {
|
||||
"label-caps": ["Inter"],
|
||||
"headline-md": ["Plus Jakarta Sans"],
|
||||
"title-sm": ["Plus Jakarta Sans"],
|
||||
"body-md": ["Inter"],
|
||||
"display-lg": ["Plus Jakarta Sans"],
|
||||
"mono-code": ["jetbrainsMono"],
|
||||
"body-sm": ["Inter"]
|
||||
},
|
||||
"fontSize": {
|
||||
"label-caps": ["12px", {"lineHeight": "16px", "letterSpacing": "0.05em", "fontWeight": "600"}],
|
||||
"headline-md": ["24px", {"lineHeight": "32px", "letterSpacing": "-0.01em", "fontWeight": "600"}],
|
||||
"title-sm": ["18px", {"lineHeight": "24px", "fontWeight": "600"}],
|
||||
"body-md": ["16px", {"lineHeight": "24px", "fontWeight": "400"}],
|
||||
"display-lg": ["32px", {"lineHeight": "40px", "letterSpacing": "-0.02em", "fontWeight": "700"}],
|
||||
"mono-code": ["13px", {"lineHeight": "20px", "fontWeight": "400"}],
|
||||
"body-sm": ["14px", {"lineHeight": "20px", "fontWeight": "400"}]
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style>
|
||||
body {
|
||||
background-color: #F8F9FA;
|
||||
font-family: 'Inter', sans-serif;
|
||||
}
|
||||
.material-symbols-outlined {
|
||||
font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="flex min-h-screen text-on-surface">
|
||||
<!-- SideNavBar -->
|
||||
<aside class="fixed left-0 top-0 h-screen w-sidebar-width bg-brand-navy flex flex-col z-50">
|
||||
<!-- Sidebar Header -->
|
||||
<div class="h-[72px] bg-white flex items-center px-6 border-b border-outline-variant">
|
||||
<img alt="BizOne Logo" class="h-8 object-contain" src="https://lh3.googleusercontent.com/aida-public/AB6AXuCQgepHPm1Tlccl-KTg8J_Ohes_HmUgNgQpebBka5A4EQPSSDJrON0j4R_Wi6gOOlV-crnscfaztwQY6GRKbVjGWaAPn82BG2LhxBEdmD2OdYn3u-HSKsss2Q3qS4hTV0Dilzn1z0Qfx6dV3FRqKID5gAM5yb3TSVi4T96F6mQ69bBzh1Tib2zs9oKFXieUJs--RsKWw3BUiKUhBQcm-SBiWSSonbzAA8xFReCq3iOVJXR5O3RgUrfRv_GFfnoN4KFeTJM3smpcLrs"/>
|
||||
</div>
|
||||
<!-- Sidebar Content -->
|
||||
<nav class="flex-1 flex flex-col gap-1 px-4 mt-8">
|
||||
<a class="flex items-center gap-3 text-white/70 px-4 py-3 hover:bg-white/10 transition-all rounded-lg" href="#">
|
||||
<span class="material-symbols-outlined" data-icon="dashboard">dashboard</span>
|
||||
<span class="text-body-sm font-body-sm">Dashboard</span>
|
||||
</a>
|
||||
<a class="flex items-center gap-3 bg-brand-blue text-white rounded-lg px-4 py-3 active:scale-95 transition-transform duration-150" href="#">
|
||||
<span class="material-symbols-outlined" data-icon="outbound" style="font-variation-settings: 'FILL' 1;">outbound</span>
|
||||
<span class="text-body-sm font-body-sm font-bold">Conversations</span>
|
||||
</a>
|
||||
<a class="flex items-center gap-3 text-white/70 px-4 py-3 hover:bg-white/10 transition-all rounded-lg" href="#">
|
||||
<span class="material-symbols-outlined" data-icon="description">description</span>
|
||||
<span class="text-body-sm font-body-sm">Templates</span>
|
||||
</a>
|
||||
<a class="flex items-center gap-3 text-white/70 px-4 py-3 hover:bg-white/10 transition-all rounded-lg" href="#">
|
||||
<span class="material-symbols-outlined" data-icon="webhook">webhook</span>
|
||||
<span class="text-body-sm font-body-sm">Webhooks</span>
|
||||
</a>
|
||||
<a class="flex items-center gap-3 text-white/70 px-4 py-3 hover:bg-white/10 transition-all rounded-lg" href="#">
|
||||
<span class="material-symbols-outlined" data-icon="monitoring">monitoring</span>
|
||||
<span class="text-body-sm font-body-sm">Analytics</span>
|
||||
</a>
|
||||
</nav>
|
||||
<div class="mt-auto flex flex-col gap-1 p-4 border-t border-white/10">
|
||||
<button class="bg-brand-blue text-white rounded-lg py-3 px-4 mb-4 flex items-center justify-center gap-2 font-bold shadow-lg active:scale-95 transition-all">
|
||||
<span class="material-symbols-outlined" data-icon="add">add</span>
|
||||
New Message
|
||||
</button>
|
||||
<a class="flex items-center gap-3 text-white/70 px-4 py-2 hover:bg-white/10 transition-all rounded-lg" href="#">
|
||||
<span class="material-symbols-outlined" data-icon="settings">settings</span>
|
||||
<span class="text-body-sm font-body-sm">Settings</span>
|
||||
</a>
|
||||
<a class="flex items-center gap-3 text-white/70 px-4 py-2 hover:bg-white/10 transition-all rounded-lg" href="#">
|
||||
<span class="material-symbols-outlined" data-icon="logout">logout</span>
|
||||
<span class="text-body-sm font-body-sm">Logout</span>
|
||||
</a>
|
||||
</div>
|
||||
</aside>
|
||||
<!-- Content Area -->
|
||||
<main class="ml-[260px] flex-1 flex flex-col min-h-screen">
|
||||
<!-- TopNavBar -->
|
||||
<header class="flex justify-between items-center h-[72px] px-container-margin w-full sticky top-0 z-40 bg-white border-b border-outline-variant">
|
||||
<div class="flex items-center gap-4">
|
||||
<h2 class="text-headline-md font-headline-md font-bold text-brand-navy">Outbound Messages Center</h2>
|
||||
</div>
|
||||
<div class="flex items-center gap-6">
|
||||
<div class="relative group">
|
||||
<span class="absolute inset-y-0 left-3 flex items-center text-on-surface-variant">
|
||||
<span class="material-symbols-outlined text-[20px]" data-icon="search">search</span>
|
||||
</span>
|
||||
<input class="pl-10 pr-4 py-2 bg-surface-container-low border border-outline-variant rounded-full text-body-sm focus:ring-2 focus:ring-brand-blue w-64 transition-all" placeholder="Search broadcasts..." type="text"/>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<button class="p-2 text-on-surface-variant hover:bg-surface-container-high transition-colors rounded-full relative">
|
||||
<span class="material-symbols-outlined" data-icon="notifications">notifications</span>
|
||||
<span class="absolute top-1.5 right-1.5 w-2 h-2 bg-status-error rounded-full"></span>
|
||||
</button>
|
||||
<button class="p-2 text-on-surface-variant hover:bg-surface-container-high transition-colors rounded-full">
|
||||
<span class="material-symbols-outlined" data-icon="help">help</span>
|
||||
</button>
|
||||
<div class="w-px h-6 bg-outline-variant mx-2"></div>
|
||||
<div class="flex items-center gap-3 cursor-pointer group">
|
||||
<img alt="Admin Avatar" class="w-8 h-8 rounded-full border border-outline-variant" src="https://lh3.googleusercontent.com/aida-public/AB6AXuAhCOCkWIqy-M9ZWH2B2kpI1UXX2GDnnBmGOwDW7vJg3UNm3_yqrA_LXYCvA_0RHS8u5LTirbcbintQDDYoWSHF8s7tE7lAypNsEqhSoU5QjQBVnZogyfmOU5Xa_1WvpTg4BO3lQ_RHoH3uZv82bAUe4K4oEZrGmfVe1d8XUc2sEg9SZGxqCSmFapuPU2oprEU1bVk79GGBrviwDdoRLH5fHkQsPt-0tJhAN-CCAVftzoyTon7K7uifay1-z4WTV6u8z67bYBD0LMs"/>
|
||||
<span class="text-body-sm font-bold text-on-surface group-hover:text-brand-blue transition-colors">Admin User</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<!-- Main Content Canvas -->
|
||||
<div class="p-container-margin space-y-gutter">
|
||||
<!-- Summary Section / KPI Grid -->
|
||||
<section class="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-4 gap-gutter">
|
||||
<div class="bg-surface-card p-card-padding rounded-xl shadow-sm border border-outline-variant flex flex-col gap-1">
|
||||
<div class="flex justify-between items-start">
|
||||
<span class="text-label-caps font-label-caps text-on-surface-variant">QUEUED</span>
|
||||
<div class="p-2 bg-primary-container rounded-lg text-brand-navy">
|
||||
<span class="material-symbols-outlined" data-icon="schedule">schedule</span>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-display-lg font-display-lg text-on-surface">1,284</span>
|
||||
<div class="flex items-center gap-1 text-status-success text-[12px] font-bold">
|
||||
<span class="material-symbols-outlined text-[16px]" data-icon="trending_up">trending_up</span>
|
||||
<span>12% from last hour</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-surface-card p-card-padding rounded-xl shadow-sm border border-outline-variant flex flex-col gap-1">
|
||||
<div class="flex justify-between items-start">
|
||||
<span class="text-label-caps font-label-caps text-on-surface-variant">SCHEDULED TODAY</span>
|
||||
<div class="p-2 bg-blue-50 rounded-lg text-status-info">
|
||||
<span class="material-symbols-outlined" data-icon="event">event</span>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-display-lg font-display-lg text-on-surface">42</span>
|
||||
<span class="text-body-sm font-body-sm text-on-surface-variant">Next: 14:00 PM (Market Update)</span>
|
||||
</div>
|
||||
<div class="bg-surface-card p-card-padding rounded-xl shadow-sm border border-outline-variant flex flex-col gap-1">
|
||||
<div class="flex justify-between items-start">
|
||||
<span class="text-label-caps font-label-caps text-on-surface-variant">TOTAL SENT (MONTH)</span>
|
||||
<div class="p-2 bg-primary-container rounded-lg text-brand-navy">
|
||||
<span class="material-symbols-outlined" data-icon="send">send</span>
|
||||
</div>
|
||||
</div>
|
||||
<span class="text-display-lg font-display-lg text-on-surface">148.5k</span>
|
||||
<div class="flex items-center gap-1 text-on-surface-variant text-[12px] font-bold">
|
||||
<span class="material-symbols-outlined text-[16px]" data-icon="check_circle">check_circle</span>
|
||||
<span>98.2% Delivery Rate</span>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Action Card -->
|
||||
<div class="bg-brand-navy p-card-padding rounded-xl shadow-lg flex flex-col justify-between">
|
||||
<div>
|
||||
<h3 class="text-title-sm font-headline-md text-white">Quick Actions</h3>
|
||||
<p class="text-body-sm font-body-sm text-white/70">Start a new campaign or update your message templates.</p>
|
||||
</div>
|
||||
<div class="flex gap-2 mt-4">
|
||||
<button class="flex-1 bg-brand-blue text-white py-2 rounded-lg text-label-caps font-bold active:scale-95 transition-all">NEW BROADCAST</button>
|
||||
<button class="flex-1 border border-white/20 text-white py-2 rounded-lg text-label-caps font-bold hover:bg-white/10 transition-all">TEMPLATES</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Main Content Area -->
|
||||
<section class="bg-surface-card rounded-xl shadow-sm border border-outline-variant overflow-hidden">
|
||||
<!-- Tabs -->
|
||||
<div class="flex items-center px-6 border-b border-outline-variant bg-surface-container-low">
|
||||
<button class="px-6 py-4 text-brand-blue font-bold border-b-2 border-brand-blue text-body-sm">Outbound Queue</button>
|
||||
<button class="px-6 py-4 text-on-surface-variant hover:text-on-surface transition-colors text-body-sm">Drafts</button>
|
||||
<button class="px-6 py-4 text-on-surface-variant hover:text-on-surface transition-colors text-body-sm">Scheduled Broadcasts</button>
|
||||
<button class="px-6 py-4 text-on-surface-variant hover:text-on-surface transition-colors text-body-sm">Broadcast History</button>
|
||||
<div class="ml-auto flex items-center gap-3 py-2">
|
||||
<button class="p-2 text-on-surface-variant hover:bg-surface-container-high transition-all rounded-lg">
|
||||
<span class="material-symbols-outlined" data-icon="filter_list">filter_list</span>
|
||||
</button>
|
||||
<button class="p-2 text-on-surface-variant hover:bg-surface-container-high transition-all rounded-lg">
|
||||
<span class="material-symbols-outlined" data-icon="download">download</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Table -->
|
||||
<div class="overflow-x-auto">
|
||||
<table class="w-full text-left border-collapse">
|
||||
<thead>
|
||||
<tr class="bg-surface-container-low/50">
|
||||
<th class="px-6 py-3 text-label-caps font-label-caps text-on-surface-variant uppercase tracking-wider">Campaign / Message Name</th>
|
||||
<th class="px-6 py-3 text-label-caps font-label-caps text-on-surface-variant uppercase tracking-wider">Type</th>
|
||||
<th class="px-6 py-3 text-label-caps font-label-caps text-on-surface-variant uppercase tracking-wider">Scheduled Time</th>
|
||||
<th class="px-6 py-3 text-label-caps font-label-caps text-on-surface-variant uppercase tracking-wider">Recipients</th>
|
||||
<th class="px-6 py-3 text-label-caps font-label-caps text-on-surface-variant uppercase tracking-wider">Status</th>
|
||||
<th class="px-6 py-3 text-label-caps font-label-caps text-on-surface-variant uppercase tracking-wider text-right">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class="divide-y divide-outline-variant">
|
||||
<tr class="hover:bg-surface-container-low/30 transition-colors group">
|
||||
<td class="px-6 py-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="w-2 h-2 rounded-full bg-status-warning"></div>
|
||||
<div>
|
||||
<p class="text-body-sm font-bold text-on-surface">Summer Flash Sale Notification</p>
|
||||
<p class="text-[12px] text-on-surface-variant">ID: BROAD-92384</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
<span class="px-3 py-1 bg-surface-container-high text-on-surface-variant rounded-full text-[12px] font-bold">Broadcast</span>
|
||||
</td>
|
||||
<td class="px-6 py-4 text-body-sm text-on-surface">Oct 24, 2023 · 14:00 PM</td>
|
||||
<td class="px-6 py-4 text-body-sm text-on-surface">12,400 users</td>
|
||||
<td class="px-6 py-4">
|
||||
<div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-orange-50 text-status-warning text-[12px] font-bold">
|
||||
<span class="material-symbols-outlined text-[14px]" data-icon="pending">pending</span>
|
||||
Pending Approval
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-6 py-4 text-right">
|
||||
<button class="p-2 text-on-surface-variant hover:text-brand-blue transition-all">
|
||||
<span class="material-symbols-outlined" data-icon="more_vert">more_vert</span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="hover:bg-surface-container-low/30 transition-colors group">
|
||||
<td class="px-6 py-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="w-2 h-2 rounded-full bg-status-info"></div>
|
||||
<div>
|
||||
<p class="text-body-sm font-bold text-on-surface">Weekly Newsletter Update</p>
|
||||
<p class="text-[12px] text-on-surface-variant">ID: TMPL-11202</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
<span class="px-3 py-1 bg-secondary-container text-on-secondary-container rounded-full text-[12px] font-bold">Template</span>
|
||||
</td>
|
||||
<td class="px-6 py-4 text-body-sm text-on-surface">Oct 25, 2023 · 09:00 AM</td>
|
||||
<td class="px-6 py-4 text-body-sm text-on-surface">45,000 users</td>
|
||||
<td class="px-6 py-4">
|
||||
<div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-blue-50 text-status-info text-[12px] font-bold">
|
||||
<span class="material-symbols-outlined text-[14px]" data-icon="schedule">schedule</span>
|
||||
Scheduled
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-6 py-4 text-right">
|
||||
<button class="p-2 text-on-surface-variant hover:text-brand-blue transition-all">
|
||||
<span class="material-symbols-outlined" data-icon="more_vert">more_vert</span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="hover:bg-surface-container-low/30 transition-colors group">
|
||||
<td class="px-6 py-4">
|
||||
<div class="flex items-center gap-3">
|
||||
<div class="w-2 h-2 rounded-full bg-brand-blue"></div>
|
||||
<div>
|
||||
<p class="text-body-sm font-bold text-on-surface">Order Confirmation Flow</p>
|
||||
<p class="text-[12px] text-on-surface-variant">ID: AUTO-44129</p>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-6 py-4">
|
||||
<span class="px-3 py-1 bg-primary-container text-brand-blue rounded-full text-[12px] font-bold">Automation</span>
|
||||
</td>
|
||||
<td class="px-6 py-4 text-body-sm text-on-surface">Real-time Trigger</td>
|
||||
<td class="px-6 py-4 text-body-sm text-on-surface">Dynamic</td>
|
||||
<td class="px-6 py-4">
|
||||
<div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-emerald-50 text-status-success text-[12px] font-bold">
|
||||
<span class="material-symbols-outlined text-[14px]" data-icon="check_circle">check_circle</span>
|
||||
Active
|
||||
</div>
|
||||
</td>
|
||||
<td class="px-6 py-4 text-right">
|
||||
<button class="p-2 text-on-surface-variant hover:text-brand-blue transition-all">
|
||||
<span class="material-symbols-outlined" data-icon="more_vert">more_vert</span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Pagination -->
|
||||
<div class="px-6 py-4 border-t border-outline-variant flex items-center justify-between">
|
||||
<p class="text-body-sm text-on-surface-variant">Showing 1 to 10 of 42 campaigns</p>
|
||||
<div class="flex items-center gap-2">
|
||||
<button class="p-2 border border-outline-variant rounded-lg hover:bg-surface-container-low disabled:opacity-50" disabled="">
|
||||
<span class="material-symbols-outlined" data-icon="chevron_left">chevron_left</span>
|
||||
</button>
|
||||
<button class="w-10 h-10 flex items-center justify-center bg-brand-blue text-white rounded-lg text-body-sm font-bold">1</button>
|
||||
<button class="w-10 h-10 flex items-center justify-center text-on-surface hover:bg-surface-container-low rounded-lg text-body-sm">2</button>
|
||||
<button class="w-10 h-10 flex items-center justify-center text-on-surface hover:bg-surface-container-low rounded-lg text-body-sm">3</button>
|
||||
<button class="p-2 border border-outline-variant rounded-lg hover:bg-surface-container-low">
|
||||
<span class="material-symbols-outlined" data-icon="chevron_right">chevron_right</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<!-- Bento Preview Grid (Drafts & Quick Links) -->
|
||||
<section class="grid grid-cols-1 md:grid-cols-12 gap-gutter">
|
||||
<!-- Template Preview -->
|
||||
<div class="md:col-span-4 bg-surface-card rounded-xl p-card-padding shadow-sm border border-outline-variant flex flex-col gap-4">
|
||||
<div class="flex justify-between items-center">
|
||||
<h3 class="text-title-sm font-headline-md text-on-surface">Template Preview</h3>
|
||||
<span class="text-label-caps text-brand-blue cursor-pointer hover:underline">Edit Template</span>
|
||||
</div>
|
||||
<div class="bg-surface-container-low rounded-lg p-4 flex-1 flex flex-col gap-3">
|
||||
<div class="bg-white rounded-lg p-3 shadow-sm max-w-[85%] border-l-4 border-brand-blue self-start">
|
||||
<p class="text-[13px] text-on-surface mb-1">Hello <span class="text-brand-blue font-bold">{{1}}</span>!</p>
|
||||
<p class="text-[13px] text-on-surface mb-2">Your order <span class="font-bold">#{{2}}</span> has been shipped and is on its way to you.</p>
|
||||
<p class="text-[11px] text-on-surface-variant italic">10:45 AM</p>
|
||||
</div>
|
||||
<div class="flex flex-col gap-1 w-full items-center">
|
||||
<button class="w-full bg-white text-brand-blue text-[12px] font-bold py-2 rounded shadow-sm border border-outline-variant">Track Package</button>
|
||||
<button class="w-full bg-white text-brand-blue text-[12px] font-bold py-2 rounded shadow-sm border border-outline-variant">View Details</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center gap-2">
|
||||
<img alt="Mobile Preview" class="w-8 h-8 opacity-50" src="https://lh3.googleusercontent.com/aida-public/AB6AXuDiz96vHEWvBeWwYHZMK9exIt-KcXC-g-Zaz4DGTlVD38qjFn_YiMnPUOW1pJJl0YC35HrMzWdmrmZ-Fu1vG6viB5aarSBZ0yrDAH4YCsjfJoz4IKZzD7XdDMlGaSTw1cRQkVYvTmd8ztHjm2V7vUbHeq5o7FVJbN_Hn7gXDeDNQ4_uVAV11U_BjDhgxOsBnS2k8pfSTy1bkZoV-xBw4Z4M9kfEY-bxig9b-5Ow1wB2q4URIyfj8EuM8R1Zh5YlfDVgE1pb4axRAh0"/>
|
||||
<p class="text-body-sm text-on-surface-variant italic text-[12px]">Mockup of "Shipping_Confirmation" mobile view</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Recent Activity Feed -->
|
||||
<div class="md:col-span-8 bg-surface-card rounded-xl p-card-padding shadow-sm border border-outline-variant">
|
||||
<div class="flex justify-between items-center mb-6">
|
||||
<h3 class="text-title-sm font-headline-md text-on-surface">Queue Analytics (Live)</h3>
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="w-2 h-2 rounded-full bg-status-success"></span>
|
||||
<span class="text-label-caps text-on-surface-variant">System Optimal</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="h-48 w-full bg-surface-container-low rounded-lg relative overflow-hidden flex items-end px-4 pb-2 gap-2">
|
||||
<!-- Simplified Sparkline Bars -->
|
||||
<div class="flex-1 bg-brand-blue/20 h-[30%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/30 h-[45%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/40 h-[25%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/50 h-[60%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/60 h-[80%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/40 h-[40%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/30 h-[20%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/50 h-[55%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/70 h-[90%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/40 h-[35%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue/30 h-[25%] rounded-t-sm"></div>
|
||||
<div class="flex-1 bg-brand-blue h-[100%] rounded-t-sm"></div>
|
||||
<div class="absolute inset-0 flex flex-col justify-center items-center pointer-events-none">
|
||||
<p class="text-display-lg font-bold text-brand-navy">850 ms</p>
|
||||
<p class="text-label-caps text-on-surface-variant">Avg. Queue Latency</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-6 grid grid-cols-3 gap-4">
|
||||
<div class="text-center p-3 border border-outline-variant rounded-lg">
|
||||
<p class="text-label-caps text-on-surface-variant">API THROTTLING</p>
|
||||
<p class="text-title-sm font-bold text-on-surface">0.02%</p>
|
||||
</div>
|
||||
<div class="text-center p-3 border border-outline-variant rounded-lg">
|
||||
<p class="text-label-caps text-on-surface-variant">QUEUE SIZE</p>
|
||||
<p class="text-title-sm font-bold text-on-surface">1,204</p>
|
||||
</div>
|
||||
<div class="text-center p-3 border border-outline-variant rounded-lg">
|
||||
<p class="text-label-caps text-on-surface-variant">SEND RATE</p>
|
||||
<p class="text-title-sm font-bold text-on-surface">250/sec</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
<!-- Floating Action Button -->
|
||||
<button class="fixed bottom-8 right-8 w-14 h-14 bg-brand-blue text-white rounded-full shadow-xl flex items-center justify-center hover:scale-110 active:scale-95 transition-all z-50">
|
||||
<span class="material-symbols-outlined text-[32px]" data-icon="add">add</span>
|
||||
</button>
|
||||
</body></html>
|
||||
Reference in New Issue
Block a user