Commit Graph

213 Commits

Author SHA1 Message Date
g
c9c3f766a6 Improve admin ban UX, add product cloning, and enhance auth handling
Refines the admin ban page with better dialog state management and feedback during ban/unban actions. Adds a product cloning feature to the products dashboard and updates the product table to support cloning. Improves error handling in ChatDetail for authentication errors, and enhances middleware to handle auth check timeouts and network errors more gracefully. Also updates BanUserCard to validate user ID and ensure correct request formatting.
2025-12-27 20:58:08 +00:00
g
2db13cc9b7 Add admin order details modal and improve admin UI
Introduces an admin-only OrderDetailsModal component for viewing and managing order details, including status updates and transaction info. Updates OrdersTable to support the modal, and enhances the admin dashboard page with lazy loading and skeletons for better UX. Also fixes API client base URL handling for /api prefix.
2025-12-17 23:38:17 +00:00
g
f697181d00 fix 2025-12-15 18:09:38 +00:00
g
0176f89cb7 Add CSV export for orders and update UI symbols
Introduces an exportOrdersToCSV function in lib/api-client.ts to allow exporting orders by status as a CSV file. Updates various UI components to use the '•' (bullet) symbol instead of '·' (middle dot) and replaces some emoji/unicode characters for improved consistency and compatibility. Also normalizes the 'use client' directive to include a BOM in many files.
2025-12-15 17:57:18 +00:00
g
07dcaf55c0 Refactor API calls to use apiRequest instead of clientFetch
Replaces all usages of clientFetch with the new apiRequest utility across dashboard pages, modal components, and the profit analytics service. This standardizes API interaction and improves consistency in request handling.
2025-12-12 20:05:26 +00:00
g
fd5440c4da Replace apiRequest with clientFetch across app
Refactored all API calls to use the new clientFetch utility instead of apiRequest in dashboard pages, modal components, and profit analytics service. This improves consistency and aligns with updated API handling patterns.
2025-12-11 19:52:43 +00:00
g
adb01009eb Handle play() and load() promises for audio elements
Updated audio playback and preloading logic to check for and handle returned promises from play() and load() methods. This prevents uncaught promise rejections in browsers where these methods may return undefined, improving reliability and error handling for notification sounds.
2025-12-09 22:17:20 +00:00
g
e10ad2835e Preload notification audio and add AudioPreloader component
Added an AudioPreloader React component to preload the /hohoho.mp3 audio file for notifications, and included it in the app layout. Also updated _document.tsx to add a preload link for the audio file. Added yt-dlp.exe binary to the repository.
2025-12-09 17:48:55 +00:00
g
54cfc62e35 Switch notification sound to hohoho.mp3 and add download script
Replaced all references to notification.mp3 with hohoho.mp3 in notification-related components and context. Added hohoho.mp3 to the public directory. Introduced a script (download-notification-sound.js) for downloading notification sounds from YouTube using @distube/ytdl-core, which was added as a devDependency. Also added yt-dlp.exe for alternative audio downloading.
2025-12-08 18:42:11 +00:00
g
e7fcfd63a2 Add Christmas theme and snow effects for December
Introduces a Christmas theme that activates in December, including themed colors, subtle background patterns, and snowflake effects on loading screens. Adds a reusable SnowLoader component and utility for December detection. Updates layout and loading components to conditionally apply decorations and styles only during December.
2025-12-08 00:47:57 +00:00
g
224342c410 Add Christmas decorations and theme styles
Introduced a ChristmasDecorations component with animated snowflakes, twinkling stars, and festive emojis. Updated global CSS and Tailwind config to include Christmas-themed animations, colors, and effects. Integrated the decorations into the main layout for a seasonal appearance.
2025-12-08 00:13:40 +00:00
g
884574ccce Add average order value to analytics chart
Enhanced the AdminAnalytics component to display average order value (AOV) alongside revenue and orders in the analytics chart. Updated data structures and chart rendering to support and visualize AOV, providing more detailed business insights.
2025-12-03 18:03:01 +00:00
g
98f14304b7 Add returning customers stat to admin users page
Introduces a new 'Returning Customers' card to the admin users dashboard, showing the count and percentage of users with more than one order. Also updates the grid layout to accommodate the new card and imports the necessary icon.
2025-12-01 13:28:04 +00:00
g
93214ce9d6 Show day of week in analytics date formatting
Updated AdminAnalytics to include the day of the week in formatted dates, improving clarity in analytics displays. Dates now appear as 'Mon, Nov 21' instead of just 'Nov 21'.
2025-11-30 20:15:32 +00:00
g
bb3dcaaca2 Improve admin analytics and user management UI
Refactored admin users page to use client-side fetching, loading states, and search functionality. Enhanced AdminAnalytics with a best month (YTD) card and removed debug logging. Improved SystemStatusCard formatting and removed console logs. Fixed profit chart period selection logic. Minor formatting fix in nav-item component.
2025-11-30 15:59:05 +00:00
g
4ef0fd1a68 Improve nav active state detection logic
Refined the active state logic in NavItem to ensure /dashboard and /dashboard/admin only match exactly, preventing sub-paths from being incorrectly marked as active.
2025-11-30 00:29:57 +00:00
g
3548cc3f2b Add loading spinner to analytics charts
Displays a loading spinner when analytics data is being fetched or refreshed, improving user feedback for orders, revenue, and vendor growth charts in the admin analytics component.
2025-11-28 19:50:30 +00:00
g
5562a88d4a Update AdminAnalytics.tsx 2025-11-28 19:49:01 +00:00
g
3f8826cbc4 Enhance admin dashboard analytics and system status
Added 'Year to Date' and 'Last Year' filters to analytics, and improved summary cards to show total revenue and orders for the selected period. Refactored SystemStatusCard to include a debug view with detailed system metrics and raw JSON response. Updated nav-item active state detection for more precision and improved navigation handling. Removed redundant recent activity card from admin status page.
2025-11-28 19:22:14 +00:00
g
4b0bd2cf8c Revamp admin dashboard analytics and UI
Refactored the admin dashboard to use tabbed navigation for analytics and management. Enhanced AdminAnalytics with Recharts visualizations, added top vendors by revenue, and improved chart tooltips. Removed unused columns from vendor table. Updated layout and notification context to exclude admin pages from dashboard-specific UI and notifications. Minor debug logging added to SystemStatusCard.
2025-11-28 19:08:40 +00:00
g
f212859bda Improve nav item click handling and sidebar menu close
Enhanced NavItem to prevent double-clicks, handle active state, and optimize mobile menu closing. Sidebar now uses a dedicated callback for closing the mobile menu, reducing unnecessary re-renders and improving user experience.
2025-11-28 18:36:54 +00:00
g
4e5fc1901c Update date-picker.tsx 2025-11-28 18:33:23 +00:00
g
b10b2f2701 Add custom date range support to profit analytics
Introduces a date range picker to the profit analytics dashboard, allowing users to select custom date ranges for profit calculations. Updates ProfitAnalyticsChart and profit-analytics-service to handle both period and date range queries, improving flexibility and user experience.
2025-11-28 18:32:38 +00:00
NotII
fcba1a853d Adjust chat UI padding for safe area insets
Updated padding calculations in ChatDetail to account for device safe area insets, improving layout on devices with notches or rounded corners. This affects both the chat scroll container and the input area at the bottom.
2025-10-28 11:07:07 +00:00
NotII
130ecac208 Add Chromebook compatibility fixes and optimizations
Implemented comprehensive Chromebook-specific fixes including viewport adjustments, enhanced touch and keyboard detection, improved scrolling and keyboard navigation hooks, and extensive CSS optimizations for better usability. Updated chat and dashboard interfaces for larger touch targets, better focus management, and responsive layouts. Added documentation in docs/CHROMEBOOK-FIXES.md and new hooks for Chromebook scroll and keyboard handling.
2025-10-26 18:29:23 +00:00
NotII
1fc29e6cbf Improve accessibility and touch support in dashboard
Enhances accessibility and usability for touch devices and Chromebooks by updating global styles, adding ARIA attributes, and optimizing component layouts. Introduces a new useIsTouchDevice hook, improves focus states, and increases viewport scalability. ChatDetail now supports better keyboard navigation and larger touch targets.
2025-10-22 17:53:30 +01:00
NotII
bfc60012cf Add admin dashboard pages and restructure admin route
Introduces new admin dashboard pages for alerts, bans, invites, orders, settings, status, and vendors under app/dashboard/admin/. Moves the main admin page to the new dashboard structure and adds a shared admin layout. Updates sidebar configuration and adds supporting components and hooks for admin features.
2025-10-18 15:19:10 +01:00
NotII
03a2e37502 Ensure stable identity for pricing tiers in forms
Adds a tempId to new pricing tiers for stable mapping before backend _id assignment. Updates mapping logic in pricing-tiers form to use tempId or _id for reliable event handling and rendering.
2025-10-16 12:12:22 +01:00
NotII
8517f4c153 Add reset password page and update VendorsCard
Introduces a new password reset page with token validation and form handling. Removes the optional email field from the Vendor interface and its display in the VendorsCard component.
2025-10-16 00:34:50 +01:00
NotII
2800f03335 Add VendorsCard to admin dashboard
Introduces a new VendorsCard component for managing vendor accounts in the admin dashboard. The card displays vendor details, allows password reset token generation, and handles loading and error states.
2025-10-16 00:29:32 +01:00
NotII
66c95fdffe Update RecentOrdersCard.tsx 2025-10-15 18:11:00 +01:00
NotII
36a8bd2bc0 Update RecentOrdersCard.tsx 2025-10-15 18:09:43 +01:00
NotII
2808ce6919 Add delete action to invitations and UI improvements
Introduces a delete button for unused invitations in InvitationsListCard, allowing admins to remove invites. Also improves layout and spacing in the invitations card, formats order totals with currency in RecentOrdersCard, and hides several unused cards in the admin page as requested.
2025-10-15 17:53:01 +01:00
NotII
e7c06e4352 Add system status and invitations cards to admin page
Introduces SystemStatusCard and InvitationsListCard components to the admin dashboard for displaying system metrics and active invitations. Refactors InviteVendorCard to generate and display invitation codes, and updates card layouts for consistent sizing. Improves admin page structure and enhances visibility of system and invitation data.
2025-10-15 17:40:54 +01:00
NotII
4fb6d3f740 Add admin dashboard and middleware protection
Introduces an admin dashboard page with cards for inviting vendors, banning users, and viewing recent orders. Adds middleware logic to restrict /admin routes to the 'admin1' user and updates route matching. Also updates git-info.json with latest commit metadata.
2025-10-15 17:17:43 +01:00
NotII
864e1e9804 Improve pricing tier input handling and precision
Refactored PricingTiers component to better handle empty, null, and undefined values, prevent formatting issues, and add error handling for tier changes. Updated ProductModal to use parseFloat for price values to improve precision. Minor robustness improvements to event handling and sorting.
2025-10-09 21:05:13 +01:00
NotII
32bf9d790f Refactor pricing tiers form UI and logic
Simplifies the pricing tiers form by removing help text, card layout, and validation logic. Switches to a compact grid-based UI, adds editable total price field, and streamlines event handling for tier changes. Improves user experience and code maintainability.
2025-10-09 20:54:33 +01:00
NotII
051d33df33 Improve pricing tier validation logic
Validation now only checks for duplicate quantities when both minQuantity and pricePerUnit are set and positive. Error messages and input styling are updated to reflect more accurate validation states, and the placeholder for minQuantity is changed to 'e.g. 29'.
2025-10-09 20:49:25 +01:00
NotII
a912967fd4 Revamp pricing tiers form UI and validation
Improves the pricing tiers form with enhanced UI using Card and Label components, adds help text, and introduces validation for quantity, price, and duplicate tiers. The form now displays errors inline and sorts tiers by quantity for better usability.
2025-10-09 20:43:44 +01:00
NotII
d1f3e6b214 Bulk update category order and improve number formatting
Category order is now updated via a bulk API endpoint instead of individual requests, improving efficiency. Number formatting in pricing tiers form now avoids cursor jumping by only formatting decimals when necessary.
2025-10-02 04:17:27 +01:00
NotII
be952509a1 Improve ProductSelector response handling and UI
Enhanced the ProductSelector to robustly handle different response shapes from the products API, preventing runtime errors. Also adjusted dropdown and scroll area sizing for better UI consistency.
2025-09-23 22:41:27 +01:00
NotII
74b7aa4877 Add shipping dialog with tracking number to order page
Introduces a shipping dialog to the order details page, allowing users to optionally enter a tracking number when marking an order as shipped. Updates API client logic to better handle HTTP-only authentication cookies. Improves broadcast dialog validation and message handling.
2025-09-22 00:45:29 +01:00
NotII
29ec1be68c Refactor API URLs and add environment config example
Replaces hardcoded production API URLs with localhost defaults for local development in both server and client code. Updates Dockerfile to require API URLs via deployment environment variables. Improves ChatTable to use a batch endpoint for chats and unread counts, with backward compatibility. Adds an env.example file to document required environment variables. Updates next.config.mjs to use environment variables for backend API rewrites and image domains.
2025-09-01 15:35:10 +01:00
NotII
a10b9e0094 Add customer insights to order details page
Introduces a customer insights panel on the order details page, displaying metrics such as total orders, total spent, payment success rate, and customer tenure. Removes customer insights logic and display from the order table component for a more focused and relevant presentation.
2025-08-31 18:30:54 +01:00
NotII
9cf226526f Add customer insights dashboard to order table
Introduced a CustomerInsightsDisplay component to show key metrics such as total orders, revenue, success rates, and recent activity above the order table. Updated data fetching and types to support customer insights from the API.
2025-08-30 22:53:47 +01:00
NotII
fabc8f2d71 Add pagination to Customer Insights top customers list
Implemented pagination controls and page size selection for the top customers section in CustomerInsightsChart. Updated analytics-service to support paginated customer insights API calls and handle pagination metadata. Improves usability for stores with large customer bases.
2025-08-30 21:07:00 +01:00
NotII
50d0100056 Improve profit analytics chart and modal data handling
Enhanced ProfitAnalyticsChart to display more robust skeleton loaders and improved summary card logic with fallbacks for missing data. Updated the chart to distinguish between tracked and total revenue, and improved cost data coverage display. In the profit analysis modal, profit margin tiers are now sorted by minimum quantity. Updated the ProfitOverview interface to include revenueFromTrackedProducts.
2025-08-26 21:36:08 +01:00
NotII
6a2cd9aa79 Update profit-analysis-modal.tsx 2025-08-26 21:08:48 +01:00
NotII
f3fb067da7 Add profit analytics chart and service
Introduces a new ProfitAnalyticsChart component to display profit-related metrics, including total revenue, cost, profit, and top profitable products. Updates the AnalyticsDashboard to include a Profit tab and adds a profit-analytics-service for fetching profit data from the backend.
2025-08-26 21:03:05 +01:00
NotII
be746664c5 Add profit analysis modal and cost tracking for products
Introduces a Profit Analysis modal for products, allowing users to view profit, margin, and markup calculations based on cost per unit and pricing tiers. Adds cost per unit input to the product modal, updates product types, and integrates the analysis modal into the products page and product table. This enhances product management with profit tracking and analysis features.
2025-08-26 20:52:38 +01:00