danni4000ds commited on
Commit
d472a2b
·
verified ·
1 Parent(s): b3b7ac5
Files changed (1) hide show
  1. index.html +49 -63
index.html CHANGED
@@ -113,79 +113,32 @@
113
  <h2 class="text-3xl md:text-4xl font-bold mb-4">Featured <span class="gradient-text">Projects</span></h2>
114
  <p class="text-slate-400 max-w-2xl mx-auto">A curated selection of my recent design work across various industries and mediums.</p>
115
  </div>
116
-
117
- <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
118
- <!-- Project 1 -->
119
- <div class="glass-effect rounded-xl overflow-hidden group">
120
- <div class="relative overflow-hidden">
121
- <img src="http://static.photos/technology/640x360/1" alt="Project 1" class="w-full h-64 object-cover transition duration-500 group-hover:scale-110">
122
- <div class="absolute inset-0 bg-gradient-to-t from-slate-900/90 to-transparent flex items-end p-6 opacity-0 group-hover:opacity-100 transition">
123
- <div>
124
- <h3 class="text-xl font-bold mb-2">Digital Agency Website</h3>
125
- <p class="text-sm text-slate-300 mb-4">Complete website redesign for a creative agency</p>
126
- <div class="flex space-x-2">
127
- <span class="text-xs px-2 py-1 bg-primary/20 text-primary rounded">UI/UX</span>
128
- <span class="text-xs px-2 py-1 bg-secondary/20 text-secondary rounded">Web Design</span>
129
- </div>
130
- </div>
131
- </div>
132
- </div>
133
- <div class="p-6">
134
- <h3 class="text-xl font-bold mb-2">Digital Agency Website</h3>
135
- <a href="#" class="text-primary text-sm font-medium inline-flex items-center">
136
- View Case Study <i data-feather="arrow-right" class="w-4 h-4 ml-1"></i>
137
- </a>
138
- </div>
139
- </div>
140
-
141
- <!-- Project 2 -->
142
- <div class="glass-effect rounded-xl overflow-hidden group">
143
- <div class="relative overflow-hidden">
144
- <img src="http://static.photos/minimal/640x360/2" alt="Project 2" class="w-full h-64 object-cover transition duration-500 group-hover:scale-110">
145
- <div class="absolute inset-0 bg-gradient-to-t from-slate-900/90 to-transparent flex items-end p-6 opacity-0 group-hover:opacity-100 transition">
146
- <div>
147
- <h3 class="text-xl font-bold mb-2">Mobile Banking App</h3>
148
- <p class="text-sm text-slate-300 mb-4">User experience design for financial application</p>
149
- <div class="flex space-x-2">
150
- <span class="text-xs px-2 py-1 bg-primary/20 text-primary rounded">UX Design</span>
151
- <span class="text-xs px-2 py-1 bg-secondary/20 text-secondary rounded">Mobile</span>
152
- </div>
153
- </div>
154
- </div>
155
- </div>
156
- <div class="p-6">
157
- <h3 class="text-xl font-bold mb-2">Mobile Banking App</h3>
158
- <a href="#" class="text-primary text-sm font-medium inline-flex items-center">
159
- View Case Study <i data-feather="arrow-right" class="w-4 h-4 ml-1"></i>
160
- </a>
161
- </div>
162
- </div>
163
-
164
- <!-- Project 3 -->
165
  <div class="glass-effect rounded-xl overflow-hidden group">
166
  <div class="relative overflow-hidden">
167
- <img src="http://static.photos/abstract/640x360/3" alt="Project 3" class="w-full h-64 object-cover transition duration-500 group-hover:scale-110">
168
  <div class="absolute inset-0 bg-gradient-to-t from-slate-900/90 to-transparent flex items-end p-6 opacity-0 group-hover:opacity-100 transition">
169
  <div>
170
- <h3 class="text-xl font-bold mb-2">Brand Identity System</h3>
171
- <p class="text-sm text-slate-300 mb-4">Comprehensive branding for startup company</p>
172
- <div class="flex space-x-2">
173
- <span class="text-xs px-2 py-1 bg-primary/20 text-primary rounded">Branding</span>
174
- <span class="text-xs px-2 py-1 bg-secondary/20 text-secondary rounded">Illustration</span>
175
  </div>
176
  </div>
177
  </div>
178
  </div>
179
  <div class="p-6">
180
- <h3 class="text-xl font-bold mb-2">Brand Identity System</h3>
181
- <a href="#" class="text-primary text-sm font-medium inline-flex items-center">
182
- View Case Study <i data-feather="arrow-right" class="w-4 h-4 ml-1"></i>
183
  </a>
184
  </div>
185
  </div>
186
- </div>
187
-
188
- <div class="text-center mt-12">
189
  <a href="#" class="inline-flex items-center px-6 py-3 border border-primary text-primary rounded-lg font-medium hover:bg-fuchsia-900/30 transition">
190
  View All Projects <i data-feather="arrow-right" class="w-4 h-4 ml-2"></i>
191
  </a>
@@ -320,10 +273,43 @@
320
  </div>
321
  </div>
322
  </footer>
323
-
324
  <script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
325
  // Mobile menu toggle
326
- const mobileMenuButton = document.getElementById('mobile-menu-button');
327
  const mobileMenu = document.getElementById('mobile-menu');
328
  const closeMobileMenu = document.getElementById('close-mobile-menu');
329
 
 
113
  <h2 class="text-3xl md:text-4xl font-bold mb-4">Featured <span class="gradient-text">Projects</span></h2>
114
  <p class="text-slate-400 max-w-2xl mx-auto">A curated selection of my recent design work across various industries and mediums.</p>
115
  </div>
116
+ <div id="projects-container" class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
117
+ <!-- Projects will be loaded dynamically from GitHub API -->
118
+ </div>
119
+
120
+ <template id="project-template">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  <div class="glass-effect rounded-xl overflow-hidden group">
122
  <div class="relative overflow-hidden">
123
+ <img src="" alt="" class="w-full h-64 object-cover transition duration-500 group-hover:scale-110 project-image">
124
  <div class="absolute inset-0 bg-gradient-to-t from-slate-900/90 to-transparent flex items-end p-6 opacity-0 group-hover:opacity-100 transition">
125
  <div>
126
+ <h3 class="text-xl font-bold mb-2 project-title"></h3>
127
+ <p class="text-sm text-slate-300 mb-4 project-description"></p>
128
+ <div class="flex space-x-2 project-topics">
 
 
129
  </div>
130
  </div>
131
  </div>
132
  </div>
133
  <div class="p-6">
134
+ <h3 class="text-xl font-bold mb-2 project-title"></h3>
135
+ <a href="#" class="text-primary text-sm font-medium inline-flex items-center project-link">
136
+ View Project <i data-feather="arrow-right" class="w-4 h-4 ml-1"></i>
137
  </a>
138
  </div>
139
  </div>
140
+ </template>
141
+ <div class="text-center mt-12">
 
142
  <a href="#" class="inline-flex items-center px-6 py-3 border border-primary text-primary rounded-lg font-medium hover:bg-fuchsia-900/30 transition">
143
  View All Projects <i data-feather="arrow-right" class="w-4 h-4 ml-2"></i>
144
  </a>
 
273
  </div>
274
  </div>
275
  </footer>
 
276
  <script>
277
+ // Fetch GitHub projects
278
+ async function fetchGitHubProjects() {
279
+ const response = await fetch('https://api.github.com/users/octocat/repos');
280
+ const projects = await response.json();
281
+ const container = document.getElementById('projects-container');
282
+ const template = document.getElementById('project-template');
283
+
284
+ projects.slice(0, 6).forEach(project => {
285
+ const clone = template.content.cloneNode(true);
286
+
287
+ clone.querySelector('.project-title').textContent = project.name;
288
+ clone.querySelectorAll('.project-title').forEach(el => el.textContent = project.name);
289
+ clone.querySelector('.project-description').textContent = project.description || 'GitHub repository project';
290
+ clone.querySelector('.project-link').href = project.html_url;
291
+ clone.querySelector('.project-image').src = `http://static.photos/technology/640x360/${Math.floor(Math.random() * 100)}`;
292
+
293
+ const topicsContainer = clone.querySelector('.project-topics');
294
+ project.topics?.slice(0, 3).forEach(topic => {
295
+ const span = document.createElement('span');
296
+ span.className = 'text-xs px-2 py-1 bg-primary/20 text-primary rounded';
297
+ span.textContent = topic;
298
+ topicsContainer.appendChild(span);
299
+ });
300
+
301
+ container.appendChild(clone);
302
+ });
303
+
304
+ // Refresh feather icons after adding new content
305
+ feather.replace();
306
+ }
307
+
308
+ // Call the function when page loads
309
+ document.addEventListener('DOMContentLoaded', fetchGitHubProjects);
310
+
311
  // Mobile menu toggle
312
+ const mobileMenuButton = document.getElementById('mobile-menu-button');
313
  const mobileMenu = document.getElementById('mobile-menu');
314
  const closeMobileMenu = document.getElementById('close-mobile-menu');
315