File size: 8,756 Bytes
eb065e7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
742f3ea
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
eb065e7
 
 
 
 
 
 
 
 
 
742f3ea
 
 
 
 
 
eb065e7
742f3ea
 
 
 
 
eb065e7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Admin Panel | CircuitCart Surge</title>
    <link href="https://cdn.jsdelivr.net/npm/tailwindcss@2.2.19/dist/tailwind.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
</head>
<body class="bg-gray-100">
    <!-- Navigation -->
    <nav class="bg-blue-900 text-white p-4 shadow-lg">
        <div class="container mx-auto flex justify-between items-center">
            <a href="index.html" class="text-2xl font-bold flex items-center">
                <i class="fas fa-bolt mr-2"></i> CircuitCart
            </a>
            <div class="flex space-x-6">
                <a href="index.html" class="hover:text-yellow-300">Home</a>
                <a href="products.html" class="hover:text-yellow-300">Products</a>
                <a href="cart.html" class="hover:text-yellow-300">
                    <i class="fas fa-shopping-cart"></i>
                    <span id="cart-count" class="ml-1">0</span>
                </a>
                <a href="admin.html" class="hover:text-yellow-300 font-bold">Admin</a>
            </div>
        </div>
    </nav>

    <!-- Admin Content -->
    <main class="container mx-auto py-8 px-4">
        <div class="flex justify-between items-center mb-8">
            <h1 class="text-3xl font-bold">Admin Panel</h1>
            <button id="add-product-btn" class="bg-green-600 hover:bg-green-700 text-white font-bold py-2 px-4 rounded-lg flex items-center">
                <i class="fas fa-plus mr-2"></i> Add Product
            </button>
        </div>
        
        <!-- Product Management -->
        <div class="bg-white rounded-lg shadow overflow-hidden">
            <div class="overflow-x-auto">
                <table class="min-w-full">
                    <thead class="bg-gray-100">
                        <tr>
                            <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">ID</th>
                            <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Product</th>
                            <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Category</th>
                            <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Price</th>
                            <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Stock</th>
                            <th class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Actions</th>
                        </tr>
                    </thead>
                    <tbody id="admin-products-table" class="bg-white divide-y divide-gray-200">
                        <!-- Products will be loaded dynamically -->
                    </tbody>
                </table>
            </div>
        </div>
    </main>

    <!-- Add/Edit Product Modal -->
    <div id="product-modal" class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center hidden">
        <div class="bg-white rounded-lg shadow-xl w-full max-w-2xl">
            <div class="flex justify-between items-center border-b px-6 py-4">
                <h2 class="text-xl font-bold" id="modal-title">Add New Product</h2>
                <button id="close-modal" class="text-gray-500 hover:text-gray-700">
                    <i class="fas fa-times"></i>
                </button>
            </div>
            <div class="p-6">
                <form id="product-form">
                    <input type="hidden" id="product-id">
                    <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
                        <div>
                            <label class="block text-gray-700 mb-2">Product Name</label>
                            <input type="text" id="product-name" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
                        </div>
                        <div>
                            <label class="block text-gray-700 mb-2">Category</label>
                            <select id="product-category" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
                            <option value="gpu">Graphics Cards</option>
                            <option value="cpu">Processors</option>
                            <option value="ram">Memory (RAM)</option>
                            <option value="storage">Storage (SSD/HDD)</option>
                            <option value="motherboard">Motherboards</option>
                            <option value="psu">Power Supplies</option>
                            <option value="cooling">Cooling</option>
                            <option value="case">PC Cases</option>
                            <option value="peripheral">Peripherals</option>
                            <option value="monitor">Monitors</option>
                            <option value="console">Gaming Consoles</option>
                            <option value="controller">Controllers</option>
                            <option value="headset">Headsets</option>
                            <option value="keyboard">Keyboards</option>
                            <option value="mouse">Mice</option>
</select>
                        </div>
                        <div>
                            <label class="block text-gray-700 mb-2">Price ($)</label>
                            <input type="number" id="product-price" step="0.01" min="0" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
                        </div>
                        <div>
                            <label class="block text-gray-700 mb-2">Stock Quantity</label>
                            <input type="number" id="product-stock" min="0" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
                        </div>
                        <div class="md:col-span-2">
                            <label class="block text-gray-700 mb-2">Brand</label>
                            <input type="text" id="product-brand" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 mb-4" required>
                            
                            <label class="block text-gray-700 mb-2">Model</label>
                            <input type="text" id="product-model" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 mb-4" required>
                            
                            <label class="block text-gray-700 mb-2">Description</label>
                            <textarea id="product-description" rows="3" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 mb-4" required></textarea>
                            
                            <label class="block text-gray-700 mb-2">Key Features (one per line)</label>
                            <textarea id="product-features" rows="3" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 mb-4"></textarea>
</div>
                        <div class="md:col-span-2">
                            <label class="block text-gray-700 mb-2">Image URL</label>
                            <input type="text" id="product-image" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500" required>
                        </div>
                        <div class="md:col-span-2">
                            <label class="block text-gray-700 mb-2">Specifications (one per line)</label>
                            <textarea id="product-specs" rows="4" class="w-full px-3 py-2 border rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500"></textarea>
                        </div>
                    </div>
                    <div class="flex justify-end mt-6 space-x-4">
                        <button type="button" id="cancel-modal" class="px-4 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-100">Cancel</button>
                        <button type="submit" class="bg-blue-900 hover:bg-blue-800 text-white font-bold py-2 px-6 rounded-lg">Save Product</button>
                    </div>
                </form>
            </div>
        </div>
    </div>

    <script src="js/admin.js"></script>
</body>
</html>