chiminaca commited on
Commit
87b5d96
·
verified ·
1 Parent(s): 7c5f04b

Add 3 files

Browse files
Files changed (3) hide show
  1. README.md +7 -5
  2. index.html +610 -19
  3. prompts.txt +0 -0
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Growbuddy
3
- emoji: 💻
4
- colorFrom: green
5
- colorTo: green
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: growbuddy
3
+ emoji: 🐳
4
+ colorFrom: yellow
5
+ colorTo: purple
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,610 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="de">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>GrowBuddy - Cannabis Grow Assistant</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
9
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
10
+ <style>
11
+ .sidebar {
12
+ transition: all 0.3s ease;
13
+ }
14
+ .chart-container {
15
+ position: relative;
16
+ height: 300px;
17
+ width: 100%;
18
+ }
19
+ .phase-card {
20
+ transition: all 0.3s ease;
21
+ }
22
+ .phase-card:hover {
23
+ transform: translateY(-5px);
24
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
25
+ }
26
+ @media (max-width: 768px) {
27
+ .sidebar {
28
+ position: fixed;
29
+ left: -100%;
30
+ top: 0;
31
+ z-index: 50;
32
+ height: 100vh;
33
+ }
34
+ .sidebar.active {
35
+ left: 0;
36
+ }
37
+ .overlay {
38
+ display: none;
39
+ position: fixed;
40
+ top: 0;
41
+ left: 0;
42
+ right: 0;
43
+ bottom: 0;
44
+ background-color: rgba(0,0,0,0.5);
45
+ z-index: 40;
46
+ }
47
+ .overlay.active {
48
+ display: block;
49
+ }
50
+ }
51
+ </style>
52
+ </head>
53
+ <body class="bg-gray-50">
54
+ <!-- Mobile Menu Button -->
55
+ <div class="md:hidden fixed top-4 left-4 z-50">
56
+ <button id="menuBtn" class="p-2 rounded-lg bg-green-600 text-white">
57
+ <i class="fas fa-bars"></i>
58
+ </button>
59
+ </div>
60
+
61
+ <!-- Overlay for mobile menu -->
62
+ <div id="overlay" class="overlay"></div>
63
+
64
+ <!-- Sidebar -->
65
+ <div id="sidebar" class="sidebar bg-white w-64 p-4 shadow-lg fixed h-full">
66
+ <div class="flex items-center justify-between mb-8">
67
+ <h1 class="text-2xl font-bold text-green-700">GrowBuddy</h1>
68
+ <button id="closeMenuBtn" class="md:hidden p-2 text-gray-500">
69
+ <i class="fas fa-times"></i>
70
+ </button>
71
+ </div>
72
+
73
+ <div class="mb-6">
74
+ <div class="flex items-center space-x-2 mb-4">
75
+ <div class="w-3 h-3 rounded-full bg-green-500"></div>
76
+ <span class="text-sm font-medium">Active Grow: <span id="currentGrowName">Blue Dream</span></span>
77
+ </div>
78
+ <div class="flex space-x-2">
79
+ <button class="px-3 py-1 bg-green-100 text-green-700 rounded-full text-sm">Day 24</button>
80
+ <button class="px-3 py-1 bg-blue-100 text-blue-700 rounded-full text-sm">Vegetative</button>
81
+ </div>
82
+ </div>
83
+
84
+ <nav>
85
+ <ul class="space-y-2">
86
+ <li>
87
+ <a href="#" class="flex items-center p-2 rounded-lg bg-green-100 text-green-700">
88
+ <i class="fas fa-home mr-3"></i>
89
+ <span>Dashboard</span>
90
+ </a>
91
+ </li>
92
+ <li>
93
+ <a href="#" class="flex items-center p-2 rounded-lg hover:bg-gray-100 text-gray-700">
94
+ <i class="fas fa-seedling mr-3"></i>
95
+ <span>Grow Cycle</span>
96
+ </a>
97
+ </li>
98
+ <li>
99
+ <a href="#" class="flex items-center p-2 rounded-lg hover:bg-gray-100 text-gray-700">
100
+ <i class="fas fa-chart-line mr-3"></i>
101
+ <span>Data Logging</span>
102
+ </a>
103
+ </li>
104
+ <li>
105
+ <a href="#" class="flex items-center p-2 rounded-lg hover:bg-gray-100 text-gray-700">
106
+ <i class="fas fa-tasks mr-3"></i>
107
+ <span>Tasks & Reminders</span>
108
+ </a>
109
+ </li>
110
+ <li>
111
+ <a href="#" class="flex items-center p-2 rounded-lg hover:bg-gray-100 text-gray-700">
112
+ <i class="fas fa-cog mr-3"></i>
113
+ <span>Setup Management</span>
114
+ </a>
115
+ </li>
116
+ <li>
117
+ <a href="#" class="flex items-center p-2 rounded-lg hover:bg-gray-100 text-gray-700">
118
+ <i class="fas fa-question-circle mr-3"></i>
119
+ <span>Troubleshooting</span>
120
+ </a>
121
+ </li>
122
+ </ul>
123
+ </nav>
124
+
125
+ <div class="mt-8 pt-4 border-t border-gray-200">
126
+ <div class="flex items-center justify-between mb-2">
127
+ <span class="text-sm font-medium">User Mode:</span>
128
+ <div class="relative">
129
+ <select class="block appearance-none bg-gray-100 border border-gray-300 text-gray-700 py-1 px-2 pr-8 rounded leading-tight focus:outline-none focus:bg-white focus:border-green-500 text-sm">
130
+ <option>Beginner</option>
131
+ <option>Pro</option>
132
+ </select>
133
+ <div class="pointer-events-none absolute inset-y-0 right-0 flex items-center px-2 text-gray-700">
134
+ <i class="fas fa-chevron-down text-xs"></i>
135
+ </div>
136
+ </div>
137
+ </div>
138
+ <button class="w-full mt-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-lg text-sm font-medium">
139
+ <i class="fas fa-plus mr-2"></i> New Grow
140
+ </button>
141
+ </div>
142
+ </div>
143
+
144
+ <!-- Main Content -->
145
+ <div class="md:ml-64 p-4">
146
+ <div class="max-w-7xl mx-auto">
147
+ <!-- Header -->
148
+ <div class="flex justify-between items-center mb-6">
149
+ <h2 class="text-2xl font-bold text-gray-800">Grow Dashboard</h2>
150
+ <div class="flex space-x-2">
151
+ <button class="p-2 rounded-lg bg-gray-100 hover:bg-gray-200 text-gray-700">
152
+ <i class="fas fa-bell"></i>
153
+ </button>
154
+ <button class="p-2 rounded-lg bg-gray-100 hover:bg-gray-200 text-gray-700">
155
+ <i class="fas fa-question-circle"></i>
156
+ </button>
157
+ </div>
158
+ </div>
159
+
160
+ <!-- Grow Cycle Phases -->
161
+ <div class="mb-8">
162
+ <h3 class="text-lg font-semibold mb-4 text-gray-700">Grow Cycle Progress</h3>
163
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-4">
164
+ <div class="phase-card bg-white p-4 rounded-lg shadow border-l-4 border-blue-500">
165
+ <div class="flex justify-between items-start">
166
+ <div>
167
+ <h4 class="font-medium text-gray-800">Germination</h4>
168
+ <p class="text-sm text-gray-500">Completed</p>
169
+ </div>
170
+ <div class="w-8 h-8 rounded-full bg-blue-100 flex items-center justify-center">
171
+ <i class="fas fa-check text-blue-500"></i>
172
+ </div>
173
+ </div>
174
+ <div class="mt-3 text-xs text-gray-500">
175
+ <span class="font-medium">Day 1-7</span>
176
+ </div>
177
+ </div>
178
+ <div class="phase-card bg-white p-4 rounded-lg shadow border-l-4 border-green-500">
179
+ <div class="flex justify-between items-start">
180
+ <div>
181
+ <h4 class="font-medium text-gray-800">Seedling</h4>
182
+ <p class="text-sm text-gray-500">Completed</p>
183
+ </div>
184
+ <div class="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center">
185
+ <i class="fas fa-check text-green-500"></i>
186
+ </div>
187
+ </div>
188
+ <div class="mt-3 text-xs text-gray-500">
189
+ <span class="font-medium">Day 8-14</span>
190
+ </div>
191
+ </div>
192
+ <div class="phase-card bg-white p-4 rounded-lg shadow border-l-4 border-yellow-500">
193
+ <div class="flex justify-between items-start">
194
+ <div>
195
+ <h4 class="font-medium text-gray-800">Vegetative</h4>
196
+ <p class="text-sm text-yellow-600">Current Phase</p>
197
+ </div>
198
+ <div class="w-8 h-8 rounded-full bg-yellow-100 flex items-center justify-center">
199
+ <i class="fas fa-leaf text-yellow-500"></i>
200
+ </div>
201
+ </div>
202
+ <div class="mt-3 text-xs text-gray-500">
203
+ <span class="font-medium">Day 15-42</span>
204
+ </div>
205
+ </div>
206
+ <div class="phase-card bg-white p-4 rounded-lg shadow border-l-4 border-purple-300">
207
+ <div class="flex justify-between items-start">
208
+ <div>
209
+ <h4 class="font-medium text-gray-800">Flowering</h4>
210
+ <p class="text-sm text-gray-500">Upcoming</p>
211
+ </div>
212
+ <div class="w-8 h-8 rounded-full bg-purple-100 flex items-center justify-center">
213
+ <i class="fas fa-spa text-purple-300"></i>
214
+ </div>
215
+ </div>
216
+ <div class="mt-3 text-xs text-gray-500">
217
+ <span class="font-medium">Day 43-100</span>
218
+ </div>
219
+ </div>
220
+ </div>
221
+ </div>
222
+
223
+ <!-- Current Phase Guide -->
224
+ <div class="mb-8 bg-white rounded-lg shadow overflow-hidden">
225
+ <div class="bg-yellow-50 p-4 border-b border-yellow-100">
226
+ <h3 class="text-lg font-semibold text-gray-800 flex items-center">
227
+ <i class="fas fa-info-circle text-yellow-500 mr-2"></i>
228
+ Vegetative Phase Guide (Day 24)
229
+ </h3>
230
+ </div>
231
+ <div class="p-4">
232
+ <div class="grid grid-cols-1 md:grid-cols-3 gap-6">
233
+ <div>
234
+ <h4 class="font-medium text-gray-700 mb-2 flex items-center">
235
+ <i class="fas fa-lightbulb text-green-500 mr-2"></i>
236
+ Lighting
237
+ </h4>
238
+ <p class="text-sm text-gray-600 mb-2">18-24 hours of light per day</p>
239
+ <p class="text-sm text-gray-600">PPFD: 400-600 μmol/m²/s</p>
240
+ </div>
241
+ <div>
242
+ <h4 class="font-medium text-gray-700 mb-2 flex items-center">
243
+ <i class="fas fa-tint text-blue-500 mr-2"></i>
244
+ Water & Nutrients
245
+ </h4>
246
+ <p class="text-sm text-gray-600 mb-2">pH: 5.8-6.3 (adjust for medium)</p>
247
+ <p class="text-sm text-gray-600">EC: 1.2-1.8 mS/cm</p>
248
+ </div>
249
+ <div>
250
+ <h4 class="font-medium text-gray-700 mb-2 flex items-center">
251
+ <i class="fas fa-thermometer-half text-red-500 mr-2"></i>
252
+ Environment
253
+ </h4>
254
+ <p class="text-sm text-gray-600 mb-2">Temp: 22-28°C (day), 18-22°C (night)</p>
255
+ <p class="text-sm text-gray-600">RH: 50-70%</p>
256
+ </div>
257
+ </div>
258
+ <div class="mt-6">
259
+ <h4 class="font-medium text-gray-700 mb-2">Recommended Actions</h4>
260
+ <ul class="space-y-2">
261
+ <li class="flex items-start">
262
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
263
+ <span class="text-sm text-gray-700">Continue LST (Low Stress Training) to promote bushier growth</span>
264
+ </li>
265
+ <li class="flex items-start">
266
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
267
+ <span class="text-sm text-gray-700">Monitor for pests - inspect undersides of leaves</span>
268
+ </li>
269
+ <li class="flex items-start">
270
+ <i class="fas fa-check-circle text-green-500 mt-1 mr-2"></i>
271
+ <span class="text-sm text-gray-700">Increase nitrogen slightly if leaves appear light green</span>
272
+ </li>
273
+ </ul>
274
+ </div>
275
+ </div>
276
+ </div>
277
+
278
+ <!-- Data Logging Section -->
279
+ <div class="mb-8">
280
+ <div class="flex justify-between items-center mb-4">
281
+ <h3 class="text-lg font-semibold text-gray-700">Grow Data Tracking</h3>
282
+ <button class="px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-lg text-sm font-medium">
283
+ <i class="fas fa-plus mr-2"></i> Add Data Point
284
+ </button>
285
+ </div>
286
+
287
+ <div class="bg-white rounded-lg shadow p-4 mb-6">
288
+ <div class="flex justify-between items-center mb-4">
289
+ <h4 class="font-medium text-gray-700">Environmental Conditions</h4>
290
+ <div class="flex space-x-2">
291
+ <button class="px-3 py-1 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-full text-xs">
292
+ 7 Days
293
+ </button>
294
+ <button class="px-3 py-1 bg-green-100 text-green-700 rounded-full text-xs">
295
+ 30 Days
296
+ </button>
297
+ <button class="px-3 py-1 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-full text-xs">
298
+ All
299
+ </button>
300
+ </div>
301
+ </div>
302
+ <div class="chart-container">
303
+ <canvas id="envChart"></canvas>
304
+ </div>
305
+ </div>
306
+
307
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6">
308
+ <div class="bg-white rounded-lg shadow p-4">
309
+ <h4 class="font-medium text-gray-700 mb-4">Nutrient Solution</h4>
310
+ <div class="chart-container">
311
+ <canvas id="nutrientChart"></canvas>
312
+ </div>
313
+ </div>
314
+ <div class="bg-white rounded-lg shadow p-4">
315
+ <h4 class="font-medium text-gray-700 mb-4">Water Consumption</h4>
316
+ <div class="chart-container">
317
+ <canvas id="waterChart"></canvas>
318
+ </div>
319
+ </div>
320
+ </div>
321
+ </div>
322
+
323
+ <!-- Tasks & Reminders -->
324
+ <div class="mb-8 bg-white rounded-lg shadow overflow-hidden">
325
+ <div class="bg-blue-50 p-4 border-b border-blue-100">
326
+ <h3 class="text-lg font-semibold text-gray-800 flex items-center justify-between">
327
+ <span><i class="fas fa-tasks text-blue-500 mr-2"></i> Upcoming Tasks</span>
328
+ <button class="text-blue-600 text-sm font-medium">View All</button>
329
+ </h3>
330
+ </div>
331
+ <div class="p-4">
332
+ <div class="space-y-4">
333
+ <div class="flex items-start">
334
+ <div class="mr-3 mt-1">
335
+ <div class="w-8 h-8 rounded-full bg-red-100 flex items-center justify-center">
336
+ <i class="fas fa-exclamation text-red-500"></i>
337
+ </div>
338
+ </div>
339
+ <div class="flex-1">
340
+ <div class="flex justify-between items-start">
341
+ <h4 class="font-medium text-gray-800">Check pH & EC levels</h4>
342
+ <span class="text-xs bg-red-100 text-red-700 px-2 py-1 rounded-full">Today</span>
343
+ </div>
344
+ <p class="text-sm text-gray-600 mt-1">Measure and adjust nutrient solution pH to 5.8-6.0</p>
345
+ <div class="flex items-center mt-2 text-xs text-gray-500">
346
+ <i class="far fa-clock mr-1"></i>
347
+ <span>Due: Today 6:00 PM</span>
348
+ </div>
349
+ </div>
350
+ </div>
351
+ <div class="flex items-start">
352
+ <div class="mr-3 mt-1">
353
+ <div class="w-8 h-8 rounded-full bg-yellow-100 flex items-center justify-center">
354
+ <i class="fas fa-tint text-yellow-500"></i>
355
+ </div>
356
+ </div>
357
+ <div class="flex-1">
358
+ <div class="flex justify-between items-start">
359
+ <h4 class="font-medium text-gray-800">Water plants</h4>
360
+ <span class="text-xs bg-yellow-100 text-yellow-700 px-2 py-1 rounded-full">Tomorrow</span>
361
+ </div>
362
+ <p class="text-sm text-gray-600 mt-1">Water with 1L per plant, check runoff EC</p>
363
+ <div class="flex items-center mt-2 text-xs text-gray-500">
364
+ <i class="far fa-clock mr-1"></i>
365
+ <span>Due: Tomorrow 10:00 AM</span>
366
+ </div>
367
+ </div>
368
+ </div>
369
+ <div class="flex items-start">
370
+ <div class="mr-3 mt-1">
371
+ <div class="w-8 h-8 rounded-full bg-green-100 flex items-center justify-center">
372
+ <i class="fas fa-cut text-green-500"></i>
373
+ </div>
374
+ </div>
375
+ <div class="flex-1">
376
+ <div class="flex justify-between items-start">
377
+ <h4 class="font-medium text-gray-800">LST (Low Stress Training)</h4>
378
+ <span class="text-xs bg-blue-100 text-blue-700 px-2 py-1 rounded-full">In 2 days</span>
379
+ </div>
380
+ <p class="text-sm text-gray-600 mt-1">Adjust ties to spread branches evenly</p>
381
+ <div class="flex items-center mt-2 text-xs text-gray-500">
382
+ <i class="far fa-clock mr-1"></i>
383
+ <span>Due: Friday 2:00 PM</span>
384
+ </div>
385
+ </div>
386
+ </div>
387
+ </div>
388
+ <button class="w-full mt-4 py-2 bg-gray-100 hover:bg-gray-200 text-gray-700 rounded-lg text-sm font-medium">
389
+ <i class="fas fa-plus mr-2"></i> Add New Task
390
+ </button>
391
+ </div>
392
+ </div>
393
+
394
+ <!-- Quick Log Entry -->
395
+ <div class="bg-white rounded-lg shadow p-4 mb-8">
396
+ <h3 class="text-lg font-semibold text-gray-700 mb-4">Quick Log Entry</h3>
397
+ <form>
398
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-4 mb-4">
399
+ <div>
400
+ <label class="block text-sm font-medium text-gray-700 mb-1">pH</label>
401
+ <input type="number" step="0.1" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500">
402
+ </div>
403
+ <div>
404
+ <label class="block text-sm font-medium text-gray-700 mb-1">EC (mS/cm)</label>
405
+ <input type="number" step="0.1" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500">
406
+ </div>
407
+ <div>
408
+ <label class="block text-sm font-medium text-gray-700 mb-1">Temp (°C)</label>
409
+ <input type="number" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500">
410
+ </div>
411
+ <div>
412
+ <label class="block text-sm font-medium text-gray-700 mb-1">RH (%)</label>
413
+ <input type="number" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500">
414
+ </div>
415
+ </div>
416
+ <div class="mb-4">
417
+ <label class="block text-sm font-medium text-gray-700 mb-1">Notes</label>
418
+ <textarea rows="2" class="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-green-500"></textarea>
419
+ </div>
420
+ <div class="flex justify-end">
421
+ <button type="button" class="px-4 py-2 bg-gray-200 hover:bg-gray-300 text-gray-700 rounded-lg text-sm font-medium mr-2">
422
+ Cancel
423
+ </button>
424
+ <button type="submit" class="px-4 py-2 bg-green-600 hover:bg-green-700 text-white rounded-lg text-sm font-medium">
425
+ Save Log
426
+ </button>
427
+ </div>
428
+ </form>
429
+ </div>
430
+ </div>
431
+ </div>
432
+
433
+ <script>
434
+ // Mobile menu toggle
435
+ const menuBtn = document.getElementById('menuBtn');
436
+ const closeMenuBtn = document.getElementById('closeMenuBtn');
437
+ const sidebar = document.getElementById('sidebar');
438
+ const overlay = document.getElementById('overlay');
439
+
440
+ menuBtn.addEventListener('click', () => {
441
+ sidebar.classList.add('active');
442
+ overlay.classList.add('active');
443
+ });
444
+
445
+ closeMenuBtn.addEventListener('click', () => {
446
+ sidebar.classList.remove('active');
447
+ overlay.classList.remove('active');
448
+ });
449
+
450
+ overlay.addEventListener('click', () => {
451
+ sidebar.classList.remove('active');
452
+ overlay.classList.remove('active');
453
+ });
454
+
455
+ // Initialize charts
456
+ document.addEventListener('DOMContentLoaded', function() {
457
+ // Environmental Conditions Chart
458
+ const envCtx = document.getElementById('envChart').getContext('2d');
459
+ const envChart = new Chart(envCtx, {
460
+ type: 'line',
461
+ data: {
462
+ labels: Array.from({length: 30}, (_, i) => `Day ${i+1}`),
463
+ datasets: [
464
+ {
465
+ label: 'Temperature (°C)',
466
+ data: Array.from({length: 30}, () => Math.floor(Math.random() * 5) + 22),
467
+ borderColor: 'rgb(239, 68, 68)',
468
+ backgroundColor: 'rgba(239, 68, 68, 0.1)',
469
+ tension: 0.3,
470
+ fill: true
471
+ },
472
+ {
473
+ label: 'Humidity (%)',
474
+ data: Array.from({length: 30}, () => Math.floor(Math.random() * 20) + 50),
475
+ borderColor: 'rgb(59, 130, 246)',
476
+ backgroundColor: 'rgba(59, 130, 246, 0.1)',
477
+ tension: 0.3,
478
+ fill: true
479
+ }
480
+ ]
481
+ },
482
+ options: {
483
+ responsive: true,
484
+ maintainAspectRatio: false,
485
+ plugins: {
486
+ legend: {
487
+ position: 'top',
488
+ },
489
+ tooltip: {
490
+ mode: 'index',
491
+ intersect: false,
492
+ }
493
+ },
494
+ scales: {
495
+ y: {
496
+ beginAtZero: false,
497
+ suggestedMin: 15,
498
+ suggestedMax: 80
499
+ }
500
+ }
501
+ }
502
+ });
503
+
504
+ // Nutrient Solution Chart
505
+ const nutrientCtx = document.getElementById('nutrientChart').getContext('2d');
506
+ const nutrientChart = new Chart(nutrientCtx, {
507
+ type: 'line',
508
+ data: {
509
+ labels: Array.from({length: 30}, (_, i) => `Day ${i+1}`),
510
+ datasets: [
511
+ {
512
+ label: 'pH',
513
+ data: Array.from({length: 30}, () => (Math.random() * 0.5) + 5.7),
514
+ borderColor: 'rgb(16, 185, 129)',
515
+ backgroundColor: 'rgba(16, 185, 129, 0.1)',
516
+ tension: 0.3,
517
+ fill: true,
518
+ yAxisID: 'y'
519
+ },
520
+ {
521
+ label: 'EC (mS/cm)',
522
+ data: Array.from({length: 30}, () => (Math.random() * 0.6) + 1.2),
523
+ borderColor: 'rgb(245, 158, 11)',
524
+ backgroundColor: 'rgba(245, 158, 11, 0.1)',
525
+ tension: 0.3,
526
+ fill: true,
527
+ yAxisID: 'y1'
528
+ }
529
+ ]
530
+ },
531
+ options: {
532
+ responsive: true,
533
+ maintainAspectRatio: false,
534
+ plugins: {
535
+ legend: {
536
+ position: 'top',
537
+ },
538
+ tooltip: {
539
+ mode: 'index',
540
+ intersect: false,
541
+ }
542
+ },
543
+ scales: {
544
+ y: {
545
+ type: 'linear',
546
+ display: true,
547
+ position: 'left',
548
+ min: 5,
549
+ max: 7,
550
+ title: {
551
+ display: true,
552
+ text: 'pH'
553
+ }
554
+ },
555
+ y1: {
556
+ type: 'linear',
557
+ display: true,
558
+ position: 'right',
559
+ min: 0.5,
560
+ max: 2.5,
561
+ grid: {
562
+ drawOnChartArea: false,
563
+ },
564
+ title: {
565
+ display: true,
566
+ text: 'EC (mS/cm)'
567
+ }
568
+ }
569
+ }
570
+ }
571
+ });
572
+
573
+ // Water Consumption Chart
574
+ const waterCtx = document.getElementById('waterChart').getContext('2d');
575
+ const waterChart = new Chart(waterCtx, {
576
+ type: 'bar',
577
+ data: {
578
+ labels: Array.from({length: 7}, (_, i) => `Week ${i+1}`),
579
+ datasets: [
580
+ {
581
+ label: 'Water (L)',
582
+ data: [2, 3, 4, 5, 6, 7, 8],
583
+ backgroundColor: 'rgba(59, 130, 246, 0.7)',
584
+ borderRadius: 4
585
+ }
586
+ ]
587
+ },
588
+ options: {
589
+ responsive: true,
590
+ maintainAspectRatio: false,
591
+ plugins: {
592
+ legend: {
593
+ position: 'top',
594
+ }
595
+ },
596
+ scales: {
597
+ y: {
598
+ beginAtZero: true,
599
+ title: {
600
+ display: true,
601
+ text: 'Liters'
602
+ }
603
+ }
604
+ }
605
+ }
606
+ });
607
+ });
608
+ </script>
609
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=chiminaca/growbuddy" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
610
+ </html>
prompts.txt ADDED
File without changes