Skip to content

Commit 188e740

Browse files
committed
chore: push all workspace changes
1 parent 0ac88ed commit 188e740

11 files changed

Lines changed: 12671 additions & 12479 deletions

package-lock.json

Lines changed: 12044 additions & 12380 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
"react-helmet": "^6.1.0",
2929
"react-icons": "^5.5.0",
3030
"react-router-dom": "^7.8.1",
31-
"react-scripts": "5.0.1",
3231
"react-vertical-timeline-component": "^3.5.3",
3332
"sitemap": "^8.0.0",
3433
"styled-components": "^6.1.15",
@@ -72,6 +71,7 @@
7271
"json-loader": "^0.5.7",
7372
"prettier": "^3.6.2",
7473
"prettier-plugin-tailwindcss": "^0.6.14",
74+
"react-scripts": "^5.0.1",
7575
"tailwindcss": "^3.4.16"
7676
}
7777
}

public/TempMail/events.html

Lines changed: 143 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -134,55 +134,147 @@ <h1 style="color: #ffffff; font-size: 24px; margin: 0 0 15px">
134134
</body>
135135
</html>
136136

137-
138-
139-
140-
<div id="editbody1" style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
141-
<div id="v1editbody1" style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
142-
<div id="v1v1editbody1" style="font-size: 10pt; font-family: Verdana,Geneva,sans-serif;">
143-
<table style="background-color: #0d1b2a;" border="0" width="100%" cellspacing="0" cellpadding="0" align="center">
144-
<tbody>
145-
<tr>
146-
<td align="center">
147-
<table style="background-color: #091224; border-radius: 10px; overflow: hidden;" border="0" width="600" cellspacing="0" cellpadding="0">
148-
<tbody>
149-
<tr>
150-
<td style="padding: 20px;" align="center"><img style="display: block;" src="https://cdn.jsdelivr.net/gh/codeaashu/DevDisplay@main/public/DDColorLOGO.png" alt="DevDisplay Logo" width="180" /></td>
151-
</tr>
152-
<tr>
153-
<td align="center"><img style="max-width: 600px; display: block;" src="https://cdn.jsdelivr.net/gh/codeaashu/DevDisplay@main/public/Events.png" alt="Global Spotlight" width="100%" /></td>
154-
</tr>
155-
<tr>
156-
<td style="padding: 30px; text-align: center;">
157-
<h1 style="color: #ffffff; font-size: 24px; margin: 0 0 15px;">Dear DevFest Gurugram Team! 💌</h1>
158-
<p style="color: #cccccc; font-size: 15px; line-height: 1.6; margin: 0 0 20px;">Your event <strong style="color: #3bbeff;">has been featured</strong> on <strong style="color: #ffffff;">DevDisplay</strong>'s Global Events Spotlight. 🎉</p>
159-
<p style="color: #cccccc; font-size: 15px; line-height: 1.6; margin: 0 0 25px;">Now developers from around the world can discover and join your events. Get ready for global innovation, networking, and impact!</p>
160-
<a style="background-color: #3bbeff; color: #ffffff; text-decoration: none; padding: 12px 25px; border-radius: 30px; font-weight: bold; font-size: 15px; display: inline-block;" href="https://www.devdisplay.org/events#devfestgurugram" target="_blank" rel="noopener noreferrer"> View Featured Events</a></td>
161-
</tr>
162-
<tr>
163-
<td style="padding: 20px; background-color: #0a192f;" align="center">
164-
<p style="color: #999; font-size: 14px; margin-bottom: 10px;">Thank you for empowering the global developer community!</p>
165-
<table cellspacing="0" cellpadding="0">
166-
<tbody>
167-
<tr>
168-
<td style="padding: 0 6px;"><a href="https://discord.com/invite/chyt2UgTv5" target="_blank" rel="noopener noreferrer"> <img src="https://cdn-icons-png.flaticon.com/512/2111/2111370.png" alt="Discord" width="26" /> </a></td>
169-
<td style="padding: 0 6px;"><a href="https://www.linkedin.com/company/devdisplay/" target="_blank" rel="noopener noreferrer"> <img src="https://cdn-icons-png.flaticon.com/512/145/145807.png" alt="LinkedIn" width="26" /> </a></td>
170-
<td style="padding: 0 6px;"><a href="https://www.instagram.com/devdisplay/" target="_blank" rel="noopener noreferrer"> <img src="https://cdn-icons-png.flaticon.com/512/2111/2111463.png" alt="Instagram" width="26" /> </a></td>
171-
<td style="padding: 0 6px;"><a href="https://x.com/devdisplay_" target="_blank" rel="noopener noreferrer"> <img src="https://cdn-icons-png.flaticon.com/512/733/733579.png" alt="X" width="26" /> </a></td>
172-
<td style="padding: 0 6px;"><a href="https://github.com/devdisplay" target="_blank" rel="noopener noreferrer"> <img src="https://cdn-icons-png.flaticon.com/512/733/733553.png" alt="GitHub" width="26" /> </a></td>
173-
</tr>
174-
</tbody>
175-
</table>
176-
<p style="font-size: 13px; color: #3bbeff; margin: 10px 0 4px;"><a style="color: #3bbeff; text-decoration: underline;" href="https://www.devdisplay.org" target="_blank" rel="noopener noreferrer">www.devdisplay.org</a></p>
177-
<p style="color: #666; font-size: 12px; margin: 0;">DevDisplay &copy; 2025 &mdash; Paradise for Developers</p>
178-
</td>
179-
</tr>
180-
</tbody>
181-
</table>
182-
</td>
183-
</tr>
184-
</tbody>
185-
</table>
186-
</div>
137+
<div id="editbody1" style="font-size: 10pt; font-family: Verdana, Geneva, sans-serif">
138+
<div id="v1editbody1" style="font-size: 10pt; font-family: Verdana, Geneva, sans-serif">
139+
<div id="v1v1editbody1" style="font-size: 10pt; font-family: Verdana, Geneva, sans-serif">
140+
<table style="background-color: #0d1b2a" border="0" width="100%" cellspacing="0" cellpadding="0" align="center">
141+
<tbody>
142+
<tr>
143+
<td align="center">
144+
<table
145+
style="background-color: #091224; border-radius: 10px; overflow: hidden"
146+
border="0"
147+
width="600"
148+
cellspacing="0"
149+
cellpadding="0"
150+
>
151+
<tbody>
152+
<tr>
153+
<td style="padding: 20px" align="center">
154+
<img
155+
style="display: block"
156+
src="https://cdn.jsdelivr.net/gh/codeaashu/DevDisplay@main/public/DDColorLOGO.png"
157+
alt="DevDisplay Logo"
158+
width="180"
159+
/>
160+
</td>
161+
</tr>
162+
<tr>
163+
<td align="center">
164+
<img
165+
style="max-width: 600px; display: block"
166+
src="https://cdn.jsdelivr.net/gh/codeaashu/DevDisplay@main/public/Events.png"
167+
alt="Global Spotlight"
168+
width="100%"
169+
/>
170+
</td>
171+
</tr>
172+
<tr>
173+
<td style="padding: 30px; text-align: center">
174+
<h1 style="color: #ffffff; font-size: 24px; margin: 0 0 15px">Dear DevFest Gurugram Team! 💌</h1>
175+
<p style="color: #cccccc; font-size: 15px; line-height: 1.6; margin: 0 0 20px">
176+
Your event <strong style="color: #3bbeff">has been featured</strong> on
177+
<strong style="color: #ffffff">DevDisplay</strong>'s Global Events Spotlight. 🎉
178+
</p>
179+
<p style="color: #cccccc; font-size: 15px; line-height: 1.6; margin: 0 0 25px">
180+
Now developers from around the world can discover and join your events. Get ready for global
181+
innovation, networking, and impact!
182+
</p>
183+
<a
184+
style="
185+
background-color: #3bbeff;
186+
color: #ffffff;
187+
text-decoration: none;
188+
padding: 12px 25px;
189+
border-radius: 30px;
190+
font-weight: bold;
191+
font-size: 15px;
192+
display: inline-block;
193+
"
194+
href="https://www.devdisplay.org/events#devfestgurugram"
195+
target="_blank"
196+
rel="noopener noreferrer"
197+
>
198+
View Featured Events</a
199+
>
200+
</td>
201+
</tr>
202+
<tr>
203+
<td style="padding: 20px; background-color: #0a192f" align="center">
204+
<p style="color: #999; font-size: 14px; margin-bottom: 10px">
205+
Thank you for empowering the global developer community!
206+
</p>
207+
<table cellspacing="0" cellpadding="0">
208+
<tbody>
209+
<tr>
210+
<td style="padding: 0 6px">
211+
<a href="https://discord.com/invite/chyt2UgTv5" target="_blank" rel="noopener noreferrer">
212+
<img
213+
src="https://cdn-icons-png.flaticon.com/512/2111/2111370.png"
214+
alt="Discord"
215+
width="26"
216+
/>
217+
</a>
218+
</td>
219+
<td style="padding: 0 6px">
220+
<a
221+
href="https://www.linkedin.com/company/devdisplay/"
222+
target="_blank"
223+
rel="noopener noreferrer"
224+
>
225+
<img
226+
src="https://cdn-icons-png.flaticon.com/512/145/145807.png"
227+
alt="LinkedIn"
228+
width="26"
229+
/>
230+
</a>
231+
</td>
232+
<td style="padding: 0 6px">
233+
<a href="https://www.instagram.com/devdisplay/" target="_blank" rel="noopener noreferrer">
234+
<img
235+
src="https://cdn-icons-png.flaticon.com/512/2111/2111463.png"
236+
alt="Instagram"
237+
width="26"
238+
/>
239+
</a>
240+
</td>
241+
<td style="padding: 0 6px">
242+
<a href="https://x.com/devdisplay_" target="_blank" rel="noopener noreferrer">
243+
<img src="https://cdn-icons-png.flaticon.com/512/733/733579.png" alt="X" width="26" />
244+
</a>
245+
</td>
246+
<td style="padding: 0 6px">
247+
<a href="https://github.com/devdisplay" target="_blank" rel="noopener noreferrer">
248+
<img
249+
src="https://cdn-icons-png.flaticon.com/512/733/733553.png"
250+
alt="GitHub"
251+
width="26"
252+
/>
253+
</a>
254+
</td>
255+
</tr>
256+
</tbody>
257+
</table>
258+
<p style="font-size: 13px; color: #3bbeff; margin: 10px 0 4px">
259+
<a
260+
style="color: #3bbeff; text-decoration: underline"
261+
href="https://www.devdisplay.org"
262+
target="_blank"
263+
rel="noopener noreferrer"
264+
>www.devdisplay.org</a
265+
>
266+
</p>
267+
<p style="color: #666; font-size: 12px; margin: 0">
268+
DevDisplay &copy; 2025 &mdash; Paradise for Developers
269+
</p>
270+
</td>
271+
</tr>
272+
</tbody>
273+
</table>
274+
</td>
275+
</tr>
276+
</tbody>
277+
</table>
278+
</div>
279+
</div>
187280
</div>
188-
</div>

public/data/KWIZERA-CALEB.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,4 @@
3131
"Medium": "https://medium.com/@kwizeracaleb91",
3232
"Reddit": "https://www.reddit.com/user/Caleb-Kwizera/"
3333
}
34-
}
34+
}

src/Page/About.jsx

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import React from 'react';
2+
import WellnessProductivityDashboard from './WellnessProductivityDashboard';
23
import { motion } from 'framer-motion';
34
import Navbar from '../components/Navbar';
45
import { Footer } from '../components/Footer/Footer';
@@ -602,20 +603,23 @@ export default function About() {
602603
</button>
603604
</section>
604605
</div>
606+
<WellnessProductivityDashboard />
605607
<Footer />
606608
</div>
607609
);
608610
}
609611

610-
<section className="container mx-auto mt-12 p-8 text-center">
611-
<div className="mt-8 p-6 rounded-lg bg-green-900">
612-
<h2 className="text-2xl font-bold mb-4 text-green-300">Wellness & Productivity Dashboard (Coming Soon)</h2>
613-
<p className="mb-4">Maintain a healthy work-life balance while coding with wellness tips, focus timers, and productivity analytics.</p>
614-
<div className="mb-4">
615-
<label className="block mb-2 font-semibold">Upload Wellness Screenshot</label>
616-
<input type="file" accept="image/*" className="mb-2" onChange={e => alert('Screenshot upload coming soon!')} />
617-
<div className="mt-2 text-sm text-gray-300">Screenshots will appear here after upload.</div>
618-
</div>
619-
<div className="mt-4 text-sm text-green-200">Wellness tips, timers, and analytics coming soon.</div>
620-
</div>
621-
</section>
612+
<section className="container mx-auto mt-12 p-8 text-center">
613+
<div className="mt-8 rounded-lg bg-green-900 p-6">
614+
<h2 className="mb-4 text-2xl font-bold text-green-300">Wellness & Productivity Dashboard (Coming Soon)</h2>
615+
<p className="mb-4">
616+
Maintain a healthy work-life balance while coding with wellness tips, focus timers, and productivity analytics.
617+
</p>
618+
<div className="mb-4">
619+
<label className="mb-2 block font-semibold">Upload Wellness Screenshot</label>
620+
<input type="file" accept="image/*" className="mb-2" onChange={(e) => alert('Screenshot upload coming soon!')} />
621+
<div className="mt-2 text-sm text-gray-300">Screenshots will appear here after upload.</div>
622+
</div>
623+
<div className="mt-4 text-sm text-green-200">Wellness tips, timers, and analytics coming soon.</div>
624+
</div>
625+
</section>;
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
import React, { useState, useRef } from 'react';
2+
3+
const availableWidgets = [
4+
{ id: 'bio', label: 'Bio', content: 'Add a short bio about yourself.' },
5+
{ id: 'projects', label: 'Projects', content: 'Showcase your best projects.' },
6+
{ id: 'skills', label: 'Skills', content: 'Highlight your top skills.' },
7+
{ id: 'contact', label: 'Contact', content: 'Share your contact info.' },
8+
];
9+
10+
function DynamicPortfolioGenerator() {
11+
const [widgets, setWidgets] = useState([]);
12+
const [draggedWidget, setDraggedWidget] = useState(null);
13+
const [screenshot, setScreenshot] = useState(null);
14+
const fileInputRef = useRef();
15+
16+
const handleDragStart = (widget) => setDraggedWidget(widget);
17+
const handleDrop = () => {
18+
if (draggedWidget && !widgets.find((w) => w.id === draggedWidget.id)) {
19+
setWidgets([...widgets, draggedWidget]);
20+
}
21+
setDraggedWidget(null);
22+
};
23+
const handleRemoveWidget = (id) => setWidgets(widgets.filter((w) => w.id !== id));
24+
const handleScreenshotUpload = (e) => {
25+
if (e.target.files && e.target.files[0]) setScreenshot(e.target.files[0]);
26+
};
27+
28+
return (
29+
<div className="mt-8 rounded-lg bg-gray-800 p-6">
30+
<h2 className="mb-4 text-2xl font-bold">Dynamic Portfolio Generator</h2>
31+
<p className="mb-4">
32+
Build and customize your interactive portfolio with drag-and-drop widgets, live project demos, and real-time
33+
analytics.
34+
</p>
35+
<div className="mb-4">
36+
<label className="mb-2 block font-semibold">Upload Portfolio Screenshot</label>
37+
<input type="file" accept="image/*" className="mb-2" ref={fileInputRef} onChange={handleScreenshotUpload} />
38+
{screenshot && (
39+
<div className="mt-2 text-sm text-gray-300">
40+
<img
41+
src={URL.createObjectURL(screenshot)}
42+
alt="Portfolio Screenshot"
43+
style={{ maxWidth: 200, maxHeight: 120, borderRadius: 4, border: '1px solid #ccc' }}
44+
/>
45+
<div>{screenshot.name}</div>
46+
</div>
47+
)}
48+
</div>
49+
<div className="mt-8 flex flex-col gap-8 md:flex-row">
50+
<div className="flex-1">
51+
<h3 className="mb-2 font-bold">Available Widgets</h3>
52+
<ul>
53+
{availableWidgets.map((widget) => (
54+
<li
55+
key={widget.id}
56+
draggable
57+
onDragStart={() => handleDragStart(widget)}
58+
className="mb-2 cursor-move rounded bg-gray-700 p-2 hover:bg-gray-600"
59+
style={{ opacity: widgets.find((w) => w.id === widget.id) ? 0.5 : 1 }}
60+
>
61+
{widget.label}
62+
</li>
63+
))}
64+
</ul>
65+
</div>
66+
<div
67+
className="min-h-[200px] flex-1 rounded border border-gray-700 bg-gray-900 p-4"
68+
onDragOver={(e) => e.preventDefault()}
69+
onDrop={handleDrop}
70+
>
71+
<h3 className="mb-2 font-bold">Your Portfolio Layout</h3>
72+
{widgets.length === 0 && <div className="text-gray-500">Drag widgets here to build your portfolio.</div>}
73+
<ul>
74+
{widgets.map((widget) => (
75+
<li key={widget.id} className="relative mb-4 rounded bg-gray-700 p-3">
76+
<button
77+
onClick={() => handleRemoveWidget(widget.id)}
78+
className="absolute right-2 top-1 text-red-400 hover:text-red-600"
79+
title="Remove"
80+
>
81+
&times;
82+
</button>
83+
<strong>{widget.label}</strong>
84+
<div className="mt-1 text-sm">{widget.content}</div>
85+
</li>
86+
))}
87+
</ul>
88+
</div>
89+
</div>
90+
<div className="mt-6 text-sm text-gray-400">Analytics and live project demos coming soon.</div>
91+
</div>
92+
);
93+
}
94+
95+
export default DynamicPortfolioGenerator;

0 commit comments

Comments
 (0)