11<!DOCTYPE html>
22< html lang ="en ">
3+
34< head >
45 < meta charset ="UTF-8 ">
56 < title > Company Directory</ title >
67 < script src ="https://cdn.tailwindcss.com "> </ script >
78 < script src ="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.18.5/xlsx.full.min.js "> </ script >
89 < script src ="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js "> </ script >
10+ <!-- FontAwesome for Icons -->
11+ < script src ="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/js/all.min.js "
12+ crossorigin ="anonymous "> </ script >
913</ head >
10- < body class ="bg-gray-50 min-h-screen font-sans ">
11- < div class ="max-w-5xl mx-auto py-12 px-6 ">
12-
14+
15+ < body class ="bg-gradient-to-br from-gray-50 to-indigo-50 min-h-screen font-sans flex flex-col ">
16+ < div class ="flex-grow max-w-6xl mx-auto py-12 px-6 ">
17+
1318 <!-- Header -->
14- < h1 class ="text-4xl font-bold text-gray-800 text-center mb-10 ">
19+ < h1 id ="pageTitle "
20+ class ="text-5xl font-extrabold text-center bg-gradient-to-r from-indigo-600 to-purple-600 bg-clip-text text-transparent mb-12 ">
1521 Company Directory
1622 </ h1 >
1723
1824 <!-- Search Bar -->
19- < div class ="flex justify-center mb-8 ">
25+ < div class ="flex justify-center mb-10 relative ">
2026 < input type ="text " id ="searchBox " placeholder ="Search companies... "
21- class ="w-full md:w-1/2 px-4 py-3 rounded-xl border border-gray-300 shadow-sm focus:outline-none focus:ring-2 focus:ring-indigo-500 transition "/>
27+ class ="w-full md:w-2/3 px-5 py-3 pl-12 rounded-2xl border border-gray-300 shadow-sm bg-white/70 backdrop-blur focus:outline-none focus:ring-2 focus:ring-indigo-500 transition " />
2228 </ div >
2329
2430 <!-- Dynamic Company List -->
25- < div id ="companyList " class ="grid md :grid-cols-2 lg:grid-cols-3 gap-6 "> </ div >
31+ < div id ="companyList " class ="grid gap-8 sm :grid-cols-2 lg:grid-cols-3 "> </ div >
2632 </ div >
2733
34+ <!-- Footer -->
35+ < footer class ="bg-gradient-to-r from-indigo-600 via-purple-600 to-pink-600 text-white mt-16 ">
36+ < div class ="max-w-6xl mx-auto px-6 py-12 grid grid-cols-1 md:grid-cols-3 gap-10 ">
37+
38+ <!-- About Section -->
39+ < div >
40+ < h3 class ="text-xl font-bold mb-3 "> About This Directory</ h3 >
41+ < p class ="text-sm leading-relaxed text-gray-100 ">
42+ Curated & maintained by < span class ="font-semibold "> Ajaya Dwivedi</ span > .
43+ Bringing you authentic company data and brand details in one place.
44+ </ p >
45+ </ div >
46+
47+ <!-- Quick Links -->
48+ < div class ="text-center ">
49+ < h3 class ="text-xl font-bold mb-3 "> Quick Links</ h3 >
50+ < ul class ="space-y-2 ">
51+ < li > < a href ="# " class ="hover:text-gray-200 transition "> About</ a > </ li >
52+ < li > < a href ="# " class ="hover:text-gray-200 transition "> Contact</ a > </ li >
53+ < li > < a href ="# " class ="hover:text-gray-200 transition "> Privacy Policy</ a > </ li >
54+ </ ul >
55+ </ div >
56+
57+ <!-- Social + Contact -->
58+ < div class ="text-center md:text-right ">
59+ < h3 class ="text-xl font-bold mb-3 "> Follow / Contact Us</ h3 >
60+ < div class ="flex md:justify-end justify-center gap-4 ">
61+ < a href ="mailto:contact@example.com "
62+ class ="w-10 h-10 flex items-center justify-center bg-white/20 rounded-full hover:bg-white/40 transition "
63+ title ="Email ">
64+ < i class ="fa-solid fa-envelope "> </ i >
65+ </ a >
66+ < a href ="# "
67+ class ="w-10 h-10 flex items-center justify-center bg-white/20 rounded-full hover:bg-white/40 transition "
68+ title ="LinkedIn ">
69+ < i class ="fa-brands fa-linkedin-in "> </ i >
70+ </ a >
71+ < a href ="# "
72+ class ="w-10 h-10 flex items-center justify-center bg-white/20 rounded-full hover:bg-white/40 transition "
73+ title ="Twitter ">
74+ < i class ="fa-brands fa-twitter "> </ i >
75+ </ a >
76+ < a href ="# "
77+ class ="w-10 h-10 flex items-center justify-center bg-white/20 rounded-full hover:bg-white/40 transition "
78+ title ="GitHub ">
79+ < i class ="fa-brands fa-github "> </ i >
80+ </ a >
81+ </ div >
82+ </ div >
83+ </ div >
84+
85+ <!-- Bottom Bar -->
86+ < div class ="border-t border-white/20 mt-8 ">
87+ < p class ="text-center text-sm py-4 "> © < span id ="year "> </ span > Company Directory. All rights reserved.</ p >
88+ </ div >
89+ </ footer >
90+
2891 < script >
2992 async function loadCompanies ( ) {
3093 try {
@@ -52,15 +115,14 @@ <h1 class="text-4xl font-bold text-gray-800 text-center mb-10">
52115 const card = document . createElement ( "a" ) ;
53116 card . href = `company-details.html?company=${ encodeURIComponent ( companyName ) } ` ;
54117 card . className =
55- "company-card block p-6 bg-white rounded-2xl shadow hover:shadow-xl transition transform hover:-translate-y-1 " ;
118+ "company-card block p-6 bg-white/70 backdrop-blur rounded-2xl shadow-md hover:shadow-2xl hover:scale-[1.03] transition transform " ;
56119 card . innerHTML = `
57- <h2 class="text-xl font-semibold text-indigo-600">${ companyName } </h2>
120+ <h2 class="text-2xl font-semibold text-indigo-600">${ companyName } </h2>
58121 <p class="text-gray-500">${ brandName } </p>
59122 ` ;
60123 list . appendChild ( card ) ;
61124 } ) ;
62125
63-
64126 } catch ( err ) {
65127 console . error ( "Error loading companies.xlsx:" , err ) ;
66128 }
@@ -76,6 +138,10 @@ <h2 class="text-xl font-semibold text-indigo-600">${companyName}</h2>
76138 } ) ;
77139
78140 loadCompanies ( ) ;
141+
142+ // Auto-update year in footer
143+ document . getElementById ( "year" ) . textContent = new Date ( ) . getFullYear ( ) ;
79144 </ script >
80145</ body >
81- </ html >
146+
147+ </ html >
0 commit comments