From 7e94d1ee9c6bf8308733087b49439f648a74fa02 Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 9 Mar 2026 02:43:19 +0000 Subject: [PATCH 1/3] Update src/app/admin/page.tsx --- src/app/admin/page.tsx | 478 ++++++++++++++++++----------------------- 1 file changed, 213 insertions(+), 265 deletions(-) diff --git a/src/app/admin/page.tsx b/src/app/admin/page.tsx index 6949276..ee85c13 100644 --- a/src/app/admin/page.tsx +++ b/src/app/admin/page.tsx @@ -1,29 +1,59 @@ "use client"; +import { useState } from "react"; import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider"; import NavbarLayoutFloatingInline from "@/components/navbar/NavbarLayoutFloatingInline"; -import FeatureBento from "@/components/sections/feature/FeatureBento"; -import PricingCardTwo from "@/components/sections/pricing/PricingCardTwo"; -import ContactText from "@/components/sections/contact/ContactText"; import FooterBase from "@/components/sections/footer/FooterBase"; -import Link from "next/link"; -import { - Sparkles, - Zap, - DollarSign, - TrendingUp, - BarChart3, - Lock, - Users, - Shield, - Gauge, - Database, - AlertCircle, - CheckCircle2, - Crown, -} from "lucide-react"; +import { FileText, Send, Download, Plus, Trash2 } from "lucide-react"; + +interface BillEntry { + id: string; + metalType: string; + weight: string; + description: string; + customerPhone: string; +} + +export default function AdminBillingPage() { + const [bills, setBills] = useState([]); + const [formData, setFormData] = useState({ + metalType: "gold", weight: "", description: "", customerPhone: ""}); + + const handleInputChange = (e: React.ChangeEvent) => { + const { name, value } = e.target; + setFormData((prev) => ({ + ...prev, + [name]: value, + })); + }; + + const handleAddBill = () => { + if (!formData.weight || !formData.customerPhone) { + alert("Please fill in all required fields"); + return; + } + + const newBill: BillEntry = { + id: Date.now().toString(), + metalType: formData.metalType, + weight: formData.weight, + description: formData.description, + customerPhone: formData.customerPhone, + }; + + setBills((prev) => [newBill, ...prev]); + setFormData({ + metalType: "gold", weight: "", description: "", customerPhone: ""}); + }; + + const handleGenerateBill = (bill: BillEntry) => { + alert(`Bill Generated:\nMetal: ${bill.metalType}\nWeight: ${bill.weight}g\nCustomer Phone: ${bill.customerPhone}\nDescription: ${bill.description}`); + }; + + const handleDeleteBill = (id: string) => { + setBills((prev) => prev.filter((bill) => bill.id !== id)); + }; -export default function AdminPage() { return ( - {/* Admin Controls Section */} -
- -
+ {/* Main Content */} +
+
+ {/* Header */} +
+

Admin Billing Form

+

Create and manage bills with metal type, weight, description, and customer phone number

+
- {/* Advanced Plans Section */} -
- -
+ {/* Form Section */} +
+

+ Create New Bill +

- {/* Support CTA Section */} -
- +
+ {/* Metal Type */} +
+ + +
+ + {/* Weight */} +
+ + +
+ + {/* Customer Phone */} +
+ + +
+ + {/* Description */} +
+ + +
+
+ + {/* Add Bill Button */} + +
+ + {/* Bills List Section */} +
+

Bills Created ({bills.length})

+ + {bills.length === 0 ? ( +

No bills created yet. Add a new bill using the form above.

+ ) : ( +
+ {bills.map((bill) => ( +
+
+
+

Metal Type

+

{bill.metalType}

+
+
+

Weight

+

{bill.weight}g

+
+
+

Description

+

{bill.description || "N/A"}

+
+
+

Customer Phone

+

{bill.customerPhone}

+
+
+

Bill ID

+

{bill.id}

+
+
+ + {/* Actions */} +
+ + + +
+
+ ))} +
+ )} +
+
{/* Footer */} @@ -264,66 +239,39 @@ export default function AdminPage() { copyrightText="© 2025 GoldBill Pro | Billing Solutions for Gold & Silver Shops" columns={[ { - title: "Product", - items: [ + title: "Product", items: [ { - label: "Features", - href: "#admin-controls", - }, + label: "Features", href: "#features"}, { - label: "Admin Panel", - href: "#advanced-features", - }, + label: "Pricing", href: "#pricing"}, { - label: "Dashboard", - href: "/dashboard", - }, + label: "How It Works", href: "#how-it-works"}, { - label: "Documentation", - href: "/docs", - }, + label: "Security", href: "#"}, ], }, { - title: "Company", - items: [ + title: "Company", items: [ { - label: "About Us", - href: "/about", - }, + label: "About Us", href: "/about"}, { - label: "Blog", - href: "/blog", - }, + label: "Blog", href: "/blog"}, { - label: "Careers", - href: "/careers", - }, + label: "Careers", href: "/careers"}, { - label: "Contact", - href: "/support", - }, + label: "Contact", href: "#"}, ], }, { - title: "Legal", - items: [ + title: "Legal", items: [ { - label: "Privacy Policy", - href: "#", - }, + label: "Privacy Policy", href: "#"}, { - label: "Terms of Service", - href: "#", - }, + label: "Terms of Service", href: "#"}, { - label: "Cookie Policy", - href: "#", - }, + label: "Cookie Policy", href: "#"}, { - label: "Support", - href: "/support", - }, + label: "Support", href: "/support"}, ], }, ]} @@ -331,4 +279,4 @@ export default function AdminPage() {
); -} \ No newline at end of file +} -- 2.49.1 From 66486db6daff677d0045a4ce1aa6ad9be3562ccf Mon Sep 17 00:00:00 2001 From: bender Date: Mon, 9 Mar 2026 02:43:19 +0000 Subject: [PATCH 2/3] Update src/app/layout.tsx --- src/app/layout.tsx | 1435 +------------------------------------------- 1 file changed, 14 insertions(+), 1421 deletions(-) diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 9d4fc09..6d5e01d 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,1438 +1,32 @@ import type { Metadata } from "next"; -import { Halant } from "next/font/google"; -import { Inter } from "next/font/google"; -import { Nunito } from "next/font/google"; +import { Geist, Geist_Mono } from "next/font/google"; import "./globals.css"; -import { ServiceWrapper } from "@/components/ServiceWrapper"; -import Tag from "@/tag/Tag"; +import { ServiceWrapper } from "@/providers/serviceWrapper"; +import { Tag } from "@/providers/tag"; -const halant = Halant({ - variable: "--font-halant", - subsets: ["latin"], - weight: ["300", "400", "500", "600", "700"], +const geist = Geist({ + variable: "--font-geist-sans", subsets: ["latin"], }); -const inter = Inter({ - variable: "--font-inter", - subsets: ["latin"], -}); - -const nunito = Nunito({ - variable: "--font-nunito", - subsets: ["latin"], +const geistMono = Geist_Mono({ + variable: "--font-geist-mono", subsets: ["latin"], }); export const metadata: Metadata = { - title: "GoldBill Pro - Gold Shop Billing & Management System", - description: "Professional billing software for gold and silver shops. Create bills instantly, manage prices, print documents, and send automated WhatsApp notifications. Try free today!", - keywords: "gold shop billing, silver billing software, jewelry billing system, business management, invoice generator, WhatsApp automation", - metadataBase: new URL("https://goldbillpro.com"), - openGraph: { - title: "GoldBill Pro - Professional Billing for Gold Shops", - description: "Streamline your gold shop operations with intelligent billing, pricing management, and automated customer notifications.", - siteName: "GoldBill Pro", - type: "website", - images: [ - { - url: "http://img.b2bpic.net/free-photo/low-carbon-footprint-eco-food_482257-96781.jpg", - alt: "GoldBill Pro Dashboard", - }, - ], - }, - twitter: { - card: "summary_large_image", - title: "GoldBill Pro - Gold Shop Billing Solution", - description: "Professional billing management for gold and silver shops with WhatsApp automation", - images: [ - "http://img.b2bpic.net/free-photo/low-carbon-footprint-eco-food_482257-96781.jpg", - ], - }, - robots: { - index: true, - follow: true, - }, -}; + title: "GoldBill Pro | Professional Billing Management for Gold & Silver Shops", description: "Streamline your gold shop operations with GoldBill Pro. Create bills instantly, manage pricing dynamically, print with one click, and maintain detailed history. Automated WhatsApp notifications keep your customers engaged."}; export default function RootLayout({ children, -}: Readonly<{ +}: { children: React.ReactNode; -}>) { +}) { return ( - - + + {children} - -