2import { useState } from "react";
3import Link from "next/link";
4import { Icon } from '@/contexts/IconContext';
6export default function StartHerePage() {
7 const [activeGuide, setActiveGuide] = useState<string>("overview");
10 { id: "overview", title: "Getting Started", icon: "rocket_launch" },
11 { id: "interface", title: "Understanding the Interface", icon: "computer" },
12 { id: "sales", title: "Making Sales", icon: "payments" },
13 { id: "customers", title: "Managing Customers", icon: "groups" },
14 { id: "products", title: "Product Management", icon: "inventory_2" },
15 { id: "stock", title: "Stock Takes", icon: "fact_check" },
16 { id: "search", title: "Search & Filters", icon: "search" },
17 { id: "reports", title: "Reports & Analytics", icon: "assessment" },
18 { id: "tips", title: "Tips & Best Practices", icon: "tips_and_updates" },
22 <div className="min-h-screen bg-bg">
24 <div className="py-12 px-6" style={{ background: 'linear-gradient(to right, #2563eb, #7c3aed)' }}>
25 <div className="max-w-7xl mx-auto">
26 <h1 className="text-4xl font-bold mb-3 flex items-center gap-3" style={{ color: 'white' }}>
27 <Icon name="rocket_launch" size={40} />
28 Welcome to Everyday POS
30 <p className="text-xl" style={{ color: 'rgba(255, 255, 255, 0.9)' }}>Your complete guide to using the dashboard</p>
34 <div className="max-w-7xl mx-auto py-8 px-6">
35 <div className="grid grid-cols-1 lg:grid-cols-4 gap-6">
36 {/* Sidebar Navigation */}
37 <div className="lg:col-span-1">
38 <div className="bg-surface rounded-lg shadow-sm p-4 sticky top-6">
39 <h3 className="font-semibold text-text mb-3">Quick Guide</h3>
40 <nav className="space-y-1">
41 {guides.map((guide) => (
44 onClick={() => setActiveGuide(guide.id)}
45 className={`w-full text-left px-3 py-2 rounded-md text-sm transition-colors flex items-center gap-2 ${
46 activeGuide === guide.id
47 ? "bg-brand/10 text-brand font-medium"
48 : "text-text hover:bg-surface-2"
51 <Icon name={guide.icon} size={18} />
57 <div className="mt-6 pt-6 border-t border-border">
59 href="/pages/technical/documentation"
60 className="text-sm text-brand hover:text-brand/80 flex items-center gap-1"
62 <Icon name="menu_book" size={18} />
63 Technical Documentation →
70 <div className="lg:col-span-3">
71 <div className="bg-surface rounded-lg shadow-sm p-8">
72 {activeGuide === "overview" && (
73 <div className="space-y-6">
74 <h2 className="text-3xl font-bold text-text">Getting Started</h2>
76 <div className="bg-info/10 border border-info/30 rounded-lg p-6">
77 <h3 className="text-lg font-semibold text-text mb-2 flex items-center gap-2">
78 <Icon name="waving_hand" size={24} />
79 Welcome to Everyday POS!
81 <p className="text-text mb-3">
82 This guide will help you learn the essential features of Everyday POS. Even if you're an
83 experienced user, spending 5 minutes here might teach you something new!
85 <p className="text-sm text-muted">
86 Select a topic from the sidebar to get started, or explore the quick access cards below.
90 <div className="bg-warn/10 border border-warn/30 rounded-lg p-4">
91 <h3 className="text-sm font-semibold text-text mb-2 flex items-center gap-2">
92 <Icon name="lightbulb" size={20} />
93 What Makes This System Different?
95 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
96 <li><strong>Real-time updates</strong> - Changes are reflected immediately across all devices</li>
97 <li><strong>Smart search</strong> - Find products, customers, and data quickly with intelligent search</li>
98 <li><strong>Flexible reporting</strong> - Generate reports on-demand with customizable date ranges</li>
99 <li><strong>Multi-location support</strong> - Manage multiple stores from one dashboard</li>
100 <li><strong>Dual dashboard</strong> - Switch between Store and Retailer views for different operational needs</li>
101 <li><strong>Audit trails</strong> - Complete staff activity logging and system transaction monitoring</li>
102 <li><strong>Technical controls</strong> - Advanced security, compliance, and diagnostics tools</li>
106 <div className="bg-success/10 border border-success/30 rounded-lg p-4 mt-4">
107 <h3 className="text-sm font-semibold text-text mb-2 flex items-center gap-2">
108 <Icon name="new_releases" size={20} />
109 Recently Added Features
111 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
112 <li><strong>Audit Logs</strong> - Track staff login/logout activity and system transactions</li>
113 <li><strong>Store Management</strong> - Full CRUD operations for location management with topology view</li>
114 <li><strong>POS Lane Configuration</strong> - Manage lane profiles and hardware settings</li>
115 <li><strong>Device Management</strong> - Configure barcode scanners, printers, EFTPOS, cameras, scales</li>
116 <li><strong>Retail Operations</strong> - Sale processing, pricing, stock control, loyalty, gift cards, EOD</li>
117 <li><strong>Technical Settings</strong> - Security, firewall, GDPR, PCI, network topology, database</li>
118 <li><strong>Media Management</strong> - Photo storage, cloud integration, receipt format customization</li>
122 <div className="grid grid-cols-1 md:grid-cols-2 gap-4 mt-8">
123 <div className="border border-border rounded-lg p-6 hover:shadow-md transition-shadow">
124 <div className="flex items-center gap-2 mb-3">
125 <Icon name="computer" size={32} className="text-info" />
127 <h3 className="text-lg font-semibold text-text mb-2">Understanding the Interface</h3>
128 <p className="text-muted text-sm mb-4">
129 Learn how to navigate the dashboard, use search features, and customize your view
132 onClick={() => setActiveGuide("interface")}
133 className="text-brand hover:text-brand/80 text-sm font-medium"
139 <div className="border border-border rounded-lg p-6 hover:shadow-md transition-shadow">
140 <div className="flex items-center gap-2 mb-3">
141 <Icon name="payments" size={32} className="text-success" />
143 <h3 className="text-lg font-semibold text-text mb-2">Making Sales</h3>
144 <p className="text-muted text-sm mb-4">
145 Learn how to process sales, accept payments, and handle returns
148 onClick={() => setActiveGuide("sales")}
149 className="text-brand hover:text-brand/80 text-sm font-medium"
155 <div className="border border-border rounded-lg p-6 hover:shadow-md transition-shadow">
156 <div className="flex items-center gap-2 mb-3">
157 <Icon name="groups" size={32} className="text-brand2" />
159 <h3 className="text-lg font-semibold text-text mb-2">Managing Customers</h3>
160 <p className="text-muted text-sm mb-4">
161 Add new customers, track loyalty, and manage accounts
164 onClick={() => setActiveGuide("customers")}
165 className="text-brand hover:text-brand/80 text-sm font-medium"
171 <div className="border border-border rounded-lg p-6 hover:shadow-md transition-shadow">
172 <div className="flex items-center gap-2 mb-3">
173 <Icon name="inventory_2" size={32} className="text-warn" />
175 <h3 className="text-lg font-semibold text-text mb-2">Product Management</h3>
176 <p className="text-muted text-sm mb-4">
177 Update product information, pricing, and inventory
180 onClick={() => setActiveGuide("products")}
181 className="text-brand hover:text-brand/80 text-sm font-medium"
187 <div className="border border-border rounded-lg p-6 hover:shadow-md transition-shadow">
188 <div className="flex items-center gap-2 mb-3">
189 <Icon name="fact_check" size={32} className="text-brand" />
191 <h3 className="text-lg font-semibold text-text mb-2">Stock Takes</h3>
192 <p className="text-muted text-sm mb-4">
193 Create and manage stocktakes to keep inventory accurate
196 onClick={() => setActiveGuide("stock")}
197 className="text-brand hover:text-brand/80 text-sm font-medium"
203 <div className="border border-border rounded-lg p-6 hover:shadow-md transition-shadow">
204 <div className="flex items-center gap-2 mb-3">
205 <Icon name="search" size={32} className="text-info" />
207 <h3 className="text-lg font-semibold text-text mb-2">Search & Filters</h3>
208 <p className="text-muted text-sm mb-4">
209 Master the search functionality to find anything quickly
212 onClick={() => setActiveGuide("search")}
213 className="text-brand hover:text-brand/80 text-sm font-medium"
220 <div className="mt-8 p-6 bg-success/10 border border-success/30 rounded-lg">
221 <h3 className="text-lg font-semibold text-text mb-2 flex items-center gap-2">
222 <Icon name="navigation" size={24} />
223 Quick Navigation Tips
225 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
226 <li>Use the left sidebar to navigate between different sections</li>
227 <li>Click on section headers in tables to sort by that column</li>
228 <li>Look for the Refresh button to reload data</li>
229 <li>Most pages have search and filter options at the top</li>
230 <li>Check the <Link href="/pages/technical/documentation" className="underline font-medium text-brand hover:text-brand/80">Technical Documentation</Link> for developer guides</li>
236 {activeGuide === "interface" && (
237 <div className="space-y-6">
238 <h2 className="text-3xl font-bold text-text flex items-center gap-2">
239 <Icon name="computer" size={40} />
240 Understanding the Interface
243 <div className="space-y-4">
244 <div className="border-l-4 border-info bg-info/10 p-4">
245 <h3 className="font-semibold text-text mb-2">Navigation Layout</h3>
246 <p className="text-text text-sm mb-3">
247 The dashboard uses a consistent layout across all pages:
249 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
250 <li><strong>Left Sidebar</strong> - Main navigation menu organized by category</li>
251 <li><strong>Top Bar</strong> - Page title and primary action buttons</li>
252 <li><strong>Content Area</strong> - Main workspace with data and forms</li>
253 <li><strong>Bottom Area</strong> - Pagination and additional controls</li>
257 <div className="border-l-4 border-success bg-success/10 p-4">
258 <h3 className="font-semibold text-text mb-2">Working with Tables</h3>
259 <p className="text-text text-sm mb-2">
260 Most data is displayed in sortable tables:
262 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
263 <li><strong>Click column headers</strong> to sort ascending</li>
264 <li><strong>Click again</strong> to sort descending</li>
265 <li><strong>Use search boxes</strong> to filter visible rows</li>
266 <li><strong>Pagination controls</strong> navigate through large datasets</li>
267 <li>Sorting is instant and happens in your browser</li>
271 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
272 <h3 className="font-semibold text-text mb-2">Action Buttons</h3>
273 <div className="space-y-2 text-sm">
274 <div className="flex items-center gap-3">
275 <span className="px-3 py-1 bg-info text-white rounded text-xs font-medium">View</span>
276 <span className="text-text">Opens details in a modal or new page</span>
278 <div className="flex items-center gap-3">
279 <span className="px-3 py-1 bg-success text-white rounded text-xs font-medium">Edit</span>
280 <span className="text-text">Modify existing records</span>
282 <div className="flex items-center gap-3">
283 <span className="px-3 py-1 bg-danger text-white rounded text-xs font-medium">Delete</span>
284 <span className="text-text">Remove records (asks for confirmation)</span>
286 <div className="flex items-center gap-3">
287 <span className="px-3 py-1 bg-surface-2 text-text border border-border rounded text-xs font-medium flex items-center gap-1">
288 <Icon name="refresh" size={14} />
291 <span className="text-text">Reload data from server</span>
296 <div className="border-l-4 border-warn bg-warn/10 p-4">
297 <h3 className="font-semibold text-text mb-2">Status Badges</h3>
298 <p className="text-text text-sm mb-3">
299 Color-coded badges indicate item status at a glance:
301 <div className="space-y-2 text-sm">
302 <div className="flex items-center gap-3">
303 <span className="px-2 py-1 bg-success/20 text-success rounded text-xs font-medium">Complete</span>
304 <span className="text-text">Finalized transactions</span>
306 <div className="flex items-center gap-3">
307 <span className="px-2 py-1 bg-warn/20 text-warn rounded text-xs font-medium">Pending</span>
308 <span className="text-text">In progress or awaiting action</span>
310 <div className="flex items-center gap-3">
311 <span className="px-2 py-1 bg-danger/20 text-danger rounded text-xs font-medium">LOW STOCK</span>
312 <span className="text-text">Inventory below minimum level</span>
317 <div className="border-l-4 border-brand bg-brand/10 p-4">
318 <h3 className="font-semibold text-text mb-2">Modals & Popups</h3>
319 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
320 <li>Click outside the modal or press <strong>×</strong> to close</li>
321 <li>Form changes are only saved when you click Save/Submit</li>
322 <li>Use Cancel to discard changes</li>
323 <li>Delete actions require confirmation</li>
328 <div className="mt-6 p-4 bg-info/10 border border-info/30 rounded-lg">
329 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
330 <Icon name="tips_and_updates" size={20} />
333 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
334 <li>Most forms auto-save as you type</li>
335 <li>Use keyboard shortcuts: Enter to submit, Esc to close modals</li>
336 <li>Hover over buttons to see tooltips</li>
337 <li>Look for the (i) icon for additional help</li>
343 {activeGuide === "sales" && (
344 <div className="space-y-6">
345 <h2 className="text-3xl font-bold text-text flex items-center gap-2">
346 <Icon name="payments" size={40} />
350 <div className="space-y-4">
351 <div className="border-l-4 border-success bg-success/10 p-4">
352 <h3 className="font-semibold text-text mb-2">Step 1: Navigate to Sales Page</h3>
353 <p className="text-text text-sm mb-2">
354 Click on <strong>Selling → Sell</strong> in the left sidebar
358 className="inline-block mt-2 px-4 py-2 bg-success text-white rounded hover:bg-success/90 text-sm"
364 <div className="border-l-4 border-info bg-info/10 p-4">
365 <h3 className="font-semibold text-text mb-2">Step 2: Add Products</h3>
366 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
367 <li>Search for products by name, barcode, or SKU</li>
368 <li>Click on a product to add it to the cart</li>
369 <li>Adjust quantities as needed</li>
370 <li>Remove items by clicking the trash icon</li>
374 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
375 <h3 className="font-semibold text-text mb-2">Step 3: Select Customer (Optional)</h3>
376 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
377 <li>Search for an existing customer</li>
378 <li>Link loyalty accounts for rewards</li>
379 <li>Leave blank for walk-in customers</li>
383 <div className="border-l-4 border-warn bg-warn/10 p-4">
384 <h3 className="font-semibold text-text mb-2">Step 4: Process Payment</h3>
385 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
386 <li>Choose payment method: Cash, Card, or Other</li>
387 <li>Enter the payment amount</li>
388 <li>Click <strong>Complete Sale</strong> to finalize</li>
389 <li>Print or email receipt</li>
394 <div className="mt-6 p-4 bg-warn/10 border border-warn/30 rounded-lg">
395 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
396 <Icon name="lightbulb" size={20} />
399 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
400 <li>Use barcode scanner for faster checkout</li>
401 <li>View recent sales in <strong>Selling → Invoices</strong></li>
402 <li>Check daily totals in <strong>Selling → End of Day</strong></li>
408 {activeGuide === "customers" && (
409 <div className="space-y-6">
410 <h2 className="text-3xl font-bold text-text flex items-center gap-2">
411 <Icon name="groups" size={40} />
415 <div className="space-y-4">
416 <div className="border-l-4 border-success bg-success/10 p-4">
417 <h3 className="font-semibold text-text mb-2">Adding New Customers</h3>
418 <p className="text-text text-sm mb-2">
419 Navigate to <strong>Customers → Customers</strong> and click <strong>+ Add Customer</strong>
421 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2 mt-2">
422 <li>Enter customer name and contact information</li>
423 <li>Add email for digital receipts</li>
424 <li>Set up loyalty program if applicable</li>
427 href="/pages/customers"
428 className="inline-block mt-2 px-4 py-2 bg-success text-white rounded hover:bg-success/90 text-sm"
434 <div className="border-l-4 border-info bg-info/10 p-4">
435 <h3 className="font-semibold text-text mb-2">Viewing Customer Details</h3>
436 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
437 <li>Click on any customer to view their profile</li>
438 <li>See purchase history and account balance</li>
439 <li>Edit contact information as needed</li>
440 <li>View loyalty points and rewards</li>
444 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
445 <h3 className="font-semibold text-text mb-2">Loyalty Programs</h3>
446 <p className="text-text text-sm mb-2">
447 Go to <strong>Customers → Loyalty</strong> to manage rewards programs
449 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
450 <li>Track customer loyalty points</li>
451 <li>Redeem rewards during checkout</li>
452 <li>View loyalty program performance</li>
455 href="/pages/customers/loyalty"
456 className="inline-block mt-2 px-4 py-2 bg-brand2 text-white rounded hover:bg-brand2/90 text-sm"
458 View Loyalty Programs
462 <div className="border-l-4 border-warn bg-warn/10 p-4">
463 <h3 className="font-semibold text-text mb-2">Customer Accounts</h3>
464 <p className="text-text text-sm mb-2">
465 Manage credit accounts at <strong>Customers → Customer Accounts</strong>
467 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
468 <li>Set credit limits for customers</li>
469 <li>Track outstanding balances</li>
470 <li>Process account payments</li>
471 <li>Generate account statements</li>
478 {activeGuide === "products" && (
479 <div className="space-y-6">
480 <h2 className="text-3xl font-bold text-text flex items-center gap-2">
481 <Icon name="inventory_2" size={40} />
485 <div className="space-y-4">
486 <div className="border-l-4 border-success bg-success/10 p-4">
487 <h3 className="font-semibold text-text mb-2">Viewing Products</h3>
488 <p className="text-text text-sm mb-2">
489 Access your product catalog at <strong>Products → Products</strong>
491 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
492 <li>Search by name, barcode, or product ID</li>
493 <li>Filter by stock levels or price range</li>
494 <li>Sort by various criteria</li>
495 <li>View product details and stock levels</li>
498 href="/pages/products"
499 className="inline-block mt-2 px-4 py-2 bg-success text-white rounded hover:bg-success/90 text-sm"
505 <div className="border-l-4 border-info bg-info/10 p-4">
506 <h3 className="font-semibold text-text mb-2">Adjusting Stock Levels</h3>
507 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
508 <li>Click <strong>Edit Stock</strong> on any product</li>
509 <li>Enter adjustment amount (positive to add, negative to reduce)</li>
510 <li>Select reason: Received, Damage, Return, etc.</li>
511 <li>Click <strong>Update Stock</strong> to save</li>
515 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
516 <h3 className="font-semibold text-text mb-2">Managing Purchase Orders</h3>
517 <p className="text-text text-sm mb-2">
518 Go to <strong>Products → Purchase Orders</strong>
520 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
521 <li>Create new purchase orders for suppliers</li>
522 <li>Track order status and delivery</li>
523 <li>Receive stock and update inventory</li>
526 href="/purchase-orders"
527 className="inline-block mt-2 px-4 py-2 bg-brand2 text-white rounded hover:bg-brand2/90 text-sm"
529 Manage Purchase Orders
533 <div className="border-l-4 border-warn bg-warn/10 p-4">
534 <h3 className="font-semibold text-text mb-2">Price Changes</h3>
535 <p className="text-text text-sm mb-2">
536 Manage pricing at <strong>Products → Price Changes</strong>
538 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
539 <li>Schedule future price changes</li>
540 <li>Apply bulk price updates</li>
541 <li>View pending changes</li>
542 <li>Generate price tags and labels</li>
549 {activeGuide === "stock" && (
550 <div className="space-y-6">
551 <h2 className="text-3xl font-bold text-text flex items-center gap-2">
552 <Icon name="fact_check" size={40} />
556 <div className="space-y-4">
557 <div className="border-l-4 border-success bg-success/10 p-4">
558 <h3 className="font-semibold text-text mb-2">What is a Stock Take?</h3>
559 <p className="text-text text-sm">
560 A stock take (or stocktake) is a physical count of your inventory to verify that your
561 system records match reality. This helps identify discrepancies, theft, or damage.
565 <div className="border-l-4 border-info bg-info/10 p-4">
566 <h3 className="font-semibold text-text mb-2">Creating a New Stock Take</h3>
567 <p className="text-text text-sm mb-2">
568 Navigate to <strong>Products → Stocktake</strong>
570 <ol className="list-decimal list-inside text-text text-sm space-y-2 ml-2">
571 <li>Click <strong>Create New Stocktake</strong></li>
572 <li>Enter a description (e.g., "Monthly Stock Take - Jan 2025")</li>
573 <li>Select the store/location</li>
574 <li>Add any comments or notes</li>
575 <li>Click <strong>Create</strong></li>
578 href="/pages/products/stocktake"
579 className="inline-block mt-2 px-4 py-2 bg-info text-white rounded hover:bg-info/90 text-sm"
585 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
586 <h3 className="font-semibold text-text mb-2">Counting Stock</h3>
587 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
588 <li>Scan product barcodes or search by name</li>
589 <li>Enter the physical count quantity</li>
590 <li>System will calculate variance</li>
591 <li>Continue until all products are counted</li>
595 <div className="border-l-4 border-warn bg-warn/10 p-4">
596 <h3 className="font-semibold text-text mb-2">Finalizing Stock Take</h3>
597 <ol className="list-decimal list-inside text-text text-sm space-y-2 ml-2">
598 <li>Review all counted items</li>
599 <li>Check variances (differences between system and physical count)</li>
600 <li>Investigate large discrepancies</li>
601 <li>Click <strong>Finalize</strong> to update system inventory</li>
602 <li>Generate variance report for records</li>
606 <div className="border-l-4 border-danger bg-danger/10 p-4">
607 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
608 <Icon name="warning" size={20} />
611 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
612 <li>Stop sales during stock take for accuracy</li>
613 <li>Count carefully - errors affect inventory records</li>
614 <li>Save progress regularly</li>
615 <li>Finalizing updates all stock levels permanently</li>
620 <div className="mt-6 p-4 bg-success/10 border border-success/30 rounded-lg">
621 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
622 <Icon name="lightbulb" size={20} />
625 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
626 <li>Schedule stock takes during quiet hours</li>
627 <li>Use teams to count different sections</li>
628 <li>Do monthly or quarterly stock takes</li>
629 <li>Keep previous stock take reports for comparison</li>
635 {activeGuide === "reports" && (
636 <div className="space-y-6">
637 <h2 className="text-3xl font-bold text-text flex items-center gap-2">
638 <Icon name="assessment" size={40} />
642 <div className="space-y-4">
643 <div className="border-l-4 border-success bg-success/10 p-4">
644 <h3 className="font-semibold text-text mb-2">Sales Reports</h3>
645 <p className="text-text text-sm mb-2">
646 View detailed sales analytics at <strong>Reports → Sales Reports</strong>
648 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
649 <li>Daily, weekly, and monthly sales trends</li>
650 <li>Hourly sales patterns</li>
651 <li>Payment method breakdown</li>
652 <li>Top-selling products</li>
655 href="/pages/reports/sales-reports"
656 className="inline-block mt-2 px-4 py-2 bg-success text-white rounded hover:bg-success/90 text-sm"
662 <div className="border-l-4 border-info bg-info/10 p-4">
663 <h3 className="font-semibold text-text mb-2">Analytics Dashboard</h3>
664 <p className="text-text text-sm mb-2">
665 Interactive dashboards at <strong>Reports → Analytics Dashboard</strong>
667 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
668 <li>Visual charts and graphs</li>
669 <li>KPI tracking (revenue, profit, items sold)</li>
670 <li>Customizable date ranges</li>
671 <li>Export data to Excel</li>
674 href="/pages/reports/analytics"
675 className="inline-block mt-2 px-4 py-2 bg-info text-white rounded hover:bg-info/90 text-sm"
681 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
682 <h3 className="font-semibold text-text mb-2">End of Day Reports</h3>
683 <p className="text-text text-sm mb-2">
684 Daily reconciliation at <strong>Selling → End of Day</strong>
686 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
687 <li>Total sales by payment type</li>
688 <li>Cash reconciliation</li>
689 <li>Refunds and voids summary</li>
690 <li>Print daily report</li>
693 href="/pages/sales/end-of-day"
694 className="inline-block mt-2 px-4 py-2 bg-brand2 text-white rounded hover:bg-brand2/90 text-sm"
700 <div className="border-l-4 border-warn bg-warn/10 p-4">
701 <h3 className="font-semibold text-text mb-2">Inventory Reports</h3>
702 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
703 <li>Low stock alerts</li>
704 <li>Stock movement history</li>
705 <li>Product performance</li>
706 <li>Supplier analysis</li>
711 <div className="mt-6 p-4 bg-info/10 border border-info/30 rounded-lg">
712 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
713 <Icon name="lightbulb" size={20} />
714 Using Reports Effectively
716 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
717 <li>Review sales reports daily to track performance</li>
718 <li>Use date filters to compare periods</li>
719 <li>Export reports for accounting records</li>
720 <li>Set up alerts for low stock items</li>
726 {activeGuide === 'search' && (
728 <h2 className="text-2xl font-bold text-text mb-6 flex items-center gap-2">
729 <Icon name="search" size={36} />
733 <div className="mb-6 p-4 bg-gradient-to-r from-info/10 to-brand/10 border border-info/30 rounded-lg">
734 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
735 <Icon name="search" size={20} />
736 Powerful Search at Your Fingertips
738 <p className="text-text text-sm">
739 The search system is designed to find what you need instantly. Most pages feature live search -
740 results update as you type without needing to press Enter or click buttons.
744 <div className="space-y-6">
745 <div className="border-l-4 border-info bg-info/10 p-4">
746 <h3 className="font-semibold text-text mb-3">Basic Search</h3>
747 <p className="text-text text-sm mb-3">
748 Search boxes appear at the top of most pages. Simply start typing:
750 <div className="bg-surface p-3 rounded border border-border mb-3">
751 <ul className="text-text text-sm space-y-2">
752 <li className="flex items-start">
753 <span className="text-info mr-2">•</span>
754 <span><strong>Products:</strong> Search by name, PLU, SKU, or barcode</span>
756 <li className="flex items-start">
757 <span className="text-success mr-2">•</span>
758 <span><strong>Customers:</strong> Search by name, phone, or account number</span>
760 <li className="flex items-start">
761 <span className="text-warn mr-2">•</span>
762 <span><strong>Sales:</strong> Search by invoice number, customer, or amount</span>
766 <div className="bg-surface-2 p-3 rounded border border-border">
767 <p className="text-muted text-xs mb-2">Example:</p>
768 <code className="text-sm text-text">Type: "canon" → Instantly shows all Canon products</code>
772 <div className="border-l-4 border-success bg-success/10 p-4">
773 <h3 className="font-semibold text-text mb-3">Advanced Product Search</h3>
774 <p className="text-text text-sm mb-3">
775 Use special prefixes to search by specific fields:
777 <div className="bg-surface p-3 rounded border border-border space-y-3">
779 <code className="text-sm font-semibold text-info">pid=123</code>
780 <p className="text-muted text-xs mt-1">Jump directly to product with ID 123</p>
783 <code className="text-sm font-semibold text-success">plu=4567</code>
784 <p className="text-muted text-xs mt-1">Find product with PLU code 4567</p>
787 <code className="text-sm font-semibold text-warn">sku=ABC-123</code>
788 <p className="text-muted text-xs mt-1">Search by SKU/model number</p>
791 <code className="text-sm font-semibold text-brand2">barcode=9876543210</code>
792 <p className="text-muted text-xs mt-1">Find product by barcode scan</p>
795 <div className="mt-3 p-3 bg-warn/10 border border-warn/30 rounded">
796 <p className="text-text text-xs">
797 <strong className="flex items-center gap-1">
798 <Icon name="lightbulb" size={14} />
800 </strong> These searches work in the main search bar too!
801 Type "pid=123" from anywhere to quickly jump to that product.
806 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
807 <h3 className="font-semibold text-text mb-3">Filters & Date Ranges</h3>
808 <p className="text-text text-sm mb-3">
809 Many pages include filter dropdowns to narrow results:
811 <ul className="list-disc list-inside text-text text-sm space-y-2 ml-2">
812 <li><strong>Date filters:</strong> Today, This Week, This Month, Custom Range</li>
813 <li><strong>Status filters:</strong> Complete, Pending, Cancelled, All</li>
814 <li><strong>Category filters:</strong> Filter by product category or department</li>
815 <li><strong>Payment filters:</strong> Cash, Card, Account, All Methods</li>
817 <div className="mt-3 bg-surface p-3 rounded border border-border">
818 <p className="text-text text-sm mb-2"><strong>Combining Filters:</strong></p>
819 <p className="text-muted text-xs">
820 Use search + filters together for precise results. Example: Search "Invoice #1234"
821 then filter by "This Week" to find recent invoices matching that number.
826 <div className="border-l-4 border-warn bg-warn/10 p-4">
827 <h3 className="font-semibold text-text mb-3">Table Sorting</h3>
828 <p className="text-text text-sm mb-3">
829 Click any column header to sort by that field:
831 <div className="bg-surface p-3 rounded border border-border space-y-2">
832 <div className="flex items-center text-sm">
833 <span className="text-info mr-2">▲</span>
834 <span className="text-text">Click once: Sort ascending (A→Z, 0→9)</span>
836 <div className="flex items-center text-sm">
837 <span className="text-danger mr-2">▼</span>
838 <span className="text-text">Click twice: Sort descending (Z→A, 9→0)</span>
840 <div className="flex items-center text-sm">
841 <span className="text-muted mr-2">⬍</span>
842 <span className="text-text">Click third time: Remove sort</span>
845 <div className="mt-3 p-3 bg-info/10 border border-info/30 rounded">
846 <p className="text-text text-xs">
847 <strong>Note:</strong> Sorting is instant and happens in your browser -
848 no page reload needed!
853 <div className="border-l-4 border-brand bg-brand/10 p-4">
854 <h3 className="font-semibold text-text mb-3">Quick Search Tips</h3>
855 <div className="space-y-3">
856 <div className="bg-surface p-3 rounded border border-border">
857 <p className="font-semibold text-text text-sm mb-2 flex items-center gap-1">
858 <Icon name="rocket_launch" size={16} />
861 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
862 <li>Search is case-insensitive - type lowercase for speed</li>
863 <li>Partial matches work - "hp" finds "HP LaserJet"</li>
864 <li>Numbers-only searches check IDs, PLUs, and barcodes</li>
865 <li>Use keyboard: Press Tab to move through results</li>
868 <div className="bg-surface p-3 rounded border border-border">
869 <p className="font-semibold text-text text-sm mb-2 flex items-center gap-1">
870 <Icon name="speed" size={16} />
873 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
874 <li>First search may take a moment while data loads</li>
875 <li>Subsequent searches are instant (cached locally)</li>
876 <li>Large result sets limited to 100 items - use filters to narrow</li>
877 <li>Refresh page if data seems outdated</li>
884 <div className="mt-6 p-4 bg-info/10 border border-info/30 rounded-lg">
885 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
886 <Icon name="lightbulb" size={20} />
887 Search Best Practices
889 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
890 <li>Be specific when possible - exact matches appear first</li>
891 <li>Use advanced search prefixes for instant lookups</li>
892 <li>Combine search with filters for precision</li>
893 <li>Click column headers to sort results your way</li>
894 <li>Clear search to see all items again</li>
900 {activeGuide === 'tips' && (
902 <h2 className="text-2xl font-bold text-text mb-6 flex items-center gap-2">
903 <Icon name="tips_and_updates" size={36} />
904 Tips & Best Practices
907 <div className="mb-6 p-4 bg-gradient-to-r from-warn/10 to-success/10 border border-warn/30 rounded-lg">
908 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
909 <Icon name="lightbulb" size={20} />
910 Work Smarter, Not Harder
912 <p className="text-text text-sm">
913 Even experienced users can learn new tricks. These tips help you work faster and avoid common pitfalls.
917 <div className="space-y-6">
918 <div className="border-l-4 border-success bg-success/10 p-4">
919 <h3 className="font-semibold text-text mb-3 flex items-center gap-2">
920 <Icon name="speed" size={20} />
921 Performance Optimization
923 <div className="space-y-3">
925 <p className="font-semibold text-text text-sm mb-2">Database Performance</p>
926 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
927 <li>First page load may be slower - subsequent loads are cached</li>
928 <li>Use date filters to limit large reports (faster queries)</li>
929 <li>Sorting large tables happens in browser (instant)</li>
930 <li>Refresh only when you need updated data</li>
933 <div className="bg-surface p-3 rounded border border-border">
934 <p className="text-text text-sm">
935 <strong>Why sorting is instant:</strong> We load data once, then sort in your browser.
936 This means you can sort by different columns without waiting for the server.
942 <div className="border-l-4 border-info bg-info/10 p-4">
943 <h3 className="font-semibold text-text mb-3 flex items-center gap-2">
944 <Icon name="keyboard" size={20} />
947 <div className="bg-surface p-3 rounded border border-border space-y-2">
948 <div className="flex justify-between items-center text-sm">
949 <code className="bg-surface-2 px-2 py-1 rounded text-text">Ctrl + K</code>
950 <span className="text-text">Focus search bar</span>
952 <div className="flex justify-between items-center text-sm">
953 <code className="bg-surface-2 px-2 py-1 rounded text-text">Enter</code>
954 <span className="text-text">Submit form / Select item</span>
956 <div className="flex justify-between items-center text-sm">
957 <code className="bg-surface-2 px-2 py-1 rounded text-text">Esc</code>
958 <span className="text-text">Close modal / Clear search</span>
960 <div className="flex justify-between items-center text-sm">
961 <code className="bg-surface-2 px-2 py-1 rounded text-text">Tab</code>
962 <span className="text-text">Navigate through form fields</span>
964 <div className="flex justify-between items-center text-sm">
965 <code className="bg-surface-2 px-2 py-1 rounded text-text">Arrow Keys</code>
966 <span className="text-text">Navigate table rows</span>
971 <div className="border-l-4 border-brand2 bg-brand2/10 p-4">
972 <h3 className="font-semibold text-text mb-3 flex items-center gap-2">
973 <Icon name="track_changes" size={20} />
976 <div className="space-y-3">
977 <div className="bg-surface p-3 rounded border border-border">
978 <p className="font-semibold text-text text-sm mb-2">Starting Your Day:</p>
979 <ol className="list-decimal list-inside text-text text-sm space-y-1 ml-2">
980 <li>Check dashboard for overnight activity</li>
981 <li>Review low stock alerts</li>
982 <li>Check pending orders or layaways</li>
983 <li>Verify cash drawer balance</li>
986 <div className="bg-surface p-3 rounded border border-border">
987 <p className="font-semibold text-text text-sm mb-2">During Peak Hours:</p>
988 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
989 <li>Keep search bar handy for quick product lookups</li>
990 <li>Use barcode scanner to speed up sales</li>
991 <li>Add notes to sales for special requests</li>
992 <li>Create customer accounts for regulars</li>
995 <div className="bg-surface p-3 rounded border border-border">
996 <p className="font-semibold text-text text-sm mb-2">End of Day:</p>
997 <ol className="list-decimal list-inside text-text text-sm space-y-1 ml-2">
998 <li>Run End of Day report</li>
999 <li>Reconcile cash and card payments</li>
1000 <li>Review any voided or refunded sales</li>
1001 <li>Export reports for accounting</li>
1007 <div className="border-l-4 border-danger bg-danger/10 p-4">
1008 <h3 className="font-semibold text-text mb-3 flex items-center gap-2">
1009 <Icon name="warning" size={20} />
1010 Common Pitfalls to Avoid
1012 <div className="space-y-3">
1013 <div className="flex items-start">
1014 <span className="text-danger font-bold mr-2">✗</span>
1016 <p className="font-semibold text-text text-sm">Don't refresh during save operations</p>
1017 <p className="text-muted text-xs">Wait for "Saving..." to complete to avoid data loss</p>
1020 <div className="flex items-start">
1021 <span className="text-danger font-bold mr-2">✗</span>
1023 <p className="font-semibold text-text text-sm">Don't delete without checking references</p>
1024 <p className="text-muted text-xs">Deleting products with sales history can cause issues</p>
1027 <div className="flex items-start">
1028 <span className="text-danger font-bold mr-2">✗</span>
1030 <p className="font-semibold text-text text-sm">Don't ignore low stock warnings</p>
1031 <p className="text-muted text-xs">Set up reorder points to avoid stockouts</p>
1034 <div className="flex items-start">
1035 <span className="text-danger font-bold mr-2">✗</span>
1037 <p className="font-semibold text-text text-sm">Don't forget to save before closing</p>
1038 <p className="text-muted text-xs">Forms don't auto-save - click Save button</p>
1044 <div className="border-l-4 border-brand bg-brand/10 p-4">
1045 <h3 className="font-semibold text-text mb-3 flex items-center gap-2">
1046 <Icon name="build" size={20} />
1047 Troubleshooting Quick Fixes
1049 <div className="space-y-3">
1050 <div className="bg-surface p-3 rounded border border-border">
1051 <p className="font-semibold text-text text-sm mb-2">If search isn't working:</p>
1052 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
1053 <li>Clear your browser cache (Ctrl+Shift+Delete)</li>
1054 <li>Refresh the page (F5)</li>
1055 <li>Check your internet connection</li>
1058 <div className="bg-surface p-3 rounded border border-border">
1059 <p className="font-semibold text-text text-sm mb-2">If data looks outdated:</p>
1060 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
1061 <li>Click the Refresh button on the page</li>
1062 <li>Check if another user made recent changes</li>
1063 <li>Verify your system clock is correct</li>
1066 <div className="bg-surface p-3 rounded border border-border">
1067 <p className="font-semibold text-text text-sm mb-2">If forms won't save:</p>
1068 <ul className="list-disc list-inside text-text text-sm space-y-1 ml-2">
1069 <li>Check all required fields are filled (marked with *)</li>
1070 <li>Look for red error messages below fields</li>
1071 <li>Verify numbers don't have invalid characters</li>
1072 <li>Try logging out and back in</li>
1078 <div className="border-l-4 border-warn bg-warn/10 p-4">
1079 <h3 className="font-semibold text-text mb-3 flex items-center gap-2">
1080 <Icon name="star" size={20} />
1083 <div className="space-y-2">
1084 <div className="flex items-start">
1085 <span className="text-warn font-bold mr-2">★</span>
1086 <p className="text-text text-sm">Right-click table rows for quick actions menu (where available)</p>
1088 <div className="flex items-start">
1089 <span className="text-warn font-bold mr-2">★</span>
1090 <p className="text-text text-sm">Use browser bookmarks for frequently accessed pages</p>
1092 <div className="flex items-start">
1093 <span className="text-warn font-bold mr-2">★</span>
1094 <p className="text-text text-sm">Keep multiple tabs open for different tasks</p>
1096 <div className="flex items-start">
1097 <span className="text-warn font-bold mr-2">★</span>
1098 <p className="text-text text-sm">Export reports regularly for backup records</p>
1100 <div className="flex items-start">
1101 <span className="text-warn font-bold mr-2">★</span>
1102 <p className="text-text text-sm">Use browser's Find (Ctrl+F) to search within reports</p>
1108 <div className="mt-6 p-4 bg-info/10 border border-info/30 rounded-lg">
1109 <h3 className="font-semibold text-text mb-2 flex items-center gap-2">
1110 <Icon name="school" size={20} />
1113 <p className="text-text text-sm mb-3">
1114 This system is constantly being improved. Check back here occasionally to learn about new features and tips.
1116 <p className="text-text text-sm">
1117 Need technical details? Visit <Link href="/pages/technical/documentation" className="underline font-semibold text-brand hover:text-brand/80">Technical Documentation</Link> for API references and developer guides.