tonynwright commited on
Commit
55e57ba
·
verified ·
1 Parent(s): 6d8d061

create a classified site for creators in dallas fort worth

Browse files
Files changed (7) hide show
  1. README.md +8 -5
  2. components/creator-card.js +76 -0
  3. components/footer.js +93 -0
  4. components/navbar.js +97 -0
  5. index.html +189 -19
  6. script.js +41 -0
  7. style.css +35 -19
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Dfw Creator Connect
3
- emoji: 👁
4
- colorFrom: indigo
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: DFW Creator Connect 🎨
3
+ colorFrom: green
4
+ colorTo: purple
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://huggingface.co/deepsite).
components/creator-card.js ADDED
@@ -0,0 +1,76 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomCreatorCard extends HTMLElement {
2
+ connectedCallback() {
3
+ const name = this.getAttribute('name') || 'Creator Name';
4
+ const category = this.getAttribute('category') || 'Category';
5
+ const skills = this.getAttribute('skills') || 'Skills not specified';
6
+ const image = this.getAttribute('image') || 'http://static.photos/people/640x360/10';
7
+ const rating = parseFloat(this.getAttribute('rating')) || 0;
8
+
9
+ this.attachShadow({ mode: 'open' });
10
+ this.shadowRoot.innerHTML = `
11
+ <style>
12
+ .card {
13
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
14
+ }
15
+ .card:hover {
16
+ transform: translateY(-5px);
17
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
18
+ }
19
+ .rating-star {
20
+ position: relative;
21
+ display: inline-block;
22
+ }
23
+ .rating-star .empty {
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ }
28
+ </style>
29
+ <div class="card bg-white rounded-lg overflow-hidden shadow-sm border border-gray-100">
30
+ <div class="relative h-48 overflow-hidden">
31
+ <img src="${image}" alt="${name}" class="w-full h-full object-cover">
32
+ <div class="absolute bottom-0 left-0 right-0 bg-gradient-to-t from-black/70 to-transparent p-4">
33
+ <h3 class="text-white font-bold text-lg">${name}</h3>
34
+ <span class="text-primary-100 text-sm">${category}</span>
35
+ </div>
36
+ </div>
37
+ <div class="p-4">
38
+ <div class="flex items-center justify-between mb-3">
39
+ <div class="flex items-center space-x-1">
40
+ ${this.renderStars(rating)}
41
+ <span class="text-sm text-gray-600">${rating.toFixed(1)}</span>
42
+ </div>
43
+ <span class="text-xs bg-primary-100 text-primary-800 px-2 py-1 rounded-full">DFW</span>
44
+ </div>
45
+ <p class="text-gray-600 text-sm mb-4">${skills}</p>
46
+ <div class="flex justify-between items-center">
47
+ <button class="text-primary-500 hover:text-primary-600 text-sm font-medium flex items-center">
48
+ <i data-feather="message-square" class="w-4 h-4 mr-1"></i>
49
+ Contact
50
+ </button>
51
+ <a href="/creator/${name.toLowerCase().replace(/ /g, '-')}" class="text-sm text-gray-500 hover:text-primary-500">View profile</a>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ `;
56
+
57
+ setTimeout(() => {
58
+ feather.replace();
59
+ }, 0);
60
+ }
61
+
62
+ renderStars(rating) {
63
+ let stars = '';
64
+ for (let i = 1; i <= 5; i++) {
65
+ if (i <= Math.floor(rating)) {
66
+ stars += '<i data-feather="star" class="w-4 h-4 text-yellow-400 fill-current"></i>';
67
+ } else if (i - 0.5 <= rating) {
68
+ stars += '<i data-feather="star" class="w-4 h-4 text-yellow-400 fill-current half-star"></i>';
69
+ } else {
70
+ stars += '<i data-feather="star" class="w-4 h-4 text-gray-300"></i>';
71
+ }
72
+ }
73
+ return stars;
74
+ }
75
+ }
76
+ customElements.define('custom-creator-card', CustomCreatorCard);
components/footer.js ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomFooter extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ .footer-link:hover {
7
+ color: #6366f1;
8
+ transform: translateX(3px);
9
+ }
10
+ .footer-link {
11
+ transition: all 0.2s ease;
12
+ }
13
+ .social-icon:hover {
14
+ transform: translateY(-3px);
15
+ color: #6366f1;
16
+ }
17
+ .social-icon {
18
+ transition: all 0.2s ease;
19
+ }
20
+ </style>
21
+ <footer class="bg-gray-900 text-white py-12">
22
+ <div class="container mx-auto px-4">
23
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
24
+ <div>
25
+ <h3 class="text-xl font-bold mb-4 flex items-center">
26
+ <i data-feather="pen-tool" class="text-primary-500 mr-2"></i>
27
+ DFW Creator Connect
28
+ </h3>
29
+ <p class="text-gray-400 mb-4">Connecting Dallas-Fort Worth's vibrant creative community.</p>
30
+ <div class="flex space-x-4">
31
+ <a href="#" class="social-icon text-gray-400 hover:text-primary-500">
32
+ <i data-feather="instagram"></i>
33
+ </a>
34
+ <a href="#" class="social-icon text-gray-400 hover:text-primary-500">
35
+ <i data-feather="twitter"></i>
36
+ </a>
37
+ <a href="#" class="social-icon text-gray-400 hover:text-primary-500">
38
+ <i data-feather="facebook"></i>
39
+ </a>
40
+ <a href="#" class="social-icon text-gray-400 hover:text-primary-500">
41
+ <i data-feather="linkedin"></i>
42
+ </a>
43
+ </div>
44
+ </div>
45
+ <div>
46
+ <h4 class="font-bold text-lg mb-4">Quick Links</h4>
47
+ <ul class="space-y-2">
48
+ <li><a href="/" class="footer-link text-gray-400">Home</a></li>
49
+ <li><a href="/listings" class="footer-link text-gray-400">Browse Listings</a></li>
50
+ <li><a href="/post" class="footer-link text-gray-400">Post a Listing</a></li>
51
+ <li><a href="/about" class="footer-link text-gray-400">About Us</a></li>
52
+ </ul>
53
+ </div>
54
+ <div>
55
+ <h4 class="font-bold text-lg mb-4">Categories</h4>
56
+ <ul class="space-y-2">
57
+ <li><a href="/category/photography" class="footer-link text-gray-400">Photography</a></li>
58
+ <li><a href="/category/videography" class="footer-link text-gray-400">Videography</a></li>
59
+ <li><a href="/category/design" class="footer-link text-gray-400">Design</a></li>
60
+ <li><a href="/category/music" class="footer-link text-gray-400">Music</a></li>
61
+ </ul>
62
+ </div>
63
+ <div>
64
+ <h4 class="font-bold text-lg mb-4">Contact</h4>
65
+ <ul class="space-y-2">
66
+ <li class="flex items-center text-gray-400">
67
+ <i data-feather="mail" class="mr-2 w-4 h-4"></i>
68
+ hello@dfwcreatorconnect.com
69
+ </li>
70
+ <li class="flex items-center text-gray-400">
71
+ <i data-feather="phone" class="mr-2 w-4 h-4"></i>
72
+ (214) 555-7890
73
+ </li>
74
+ <li class="flex items-center text-gray-400">
75
+ <i data-feather="map-pin" class="mr-2 w-4 h-4"></i>
76
+ Dallas, TX
77
+ </li>
78
+ </ul>
79
+ </div>
80
+ </div>
81
+ <div class="border-t border-gray-800 mt-8 pt-8 text-center text-gray-500 text-sm">
82
+ <p>&copy; ${new Date().getFullYear()} DFW Creator Connect. All rights reserved.</p>
83
+ </div>
84
+ </div>
85
+ </footer>
86
+ `;
87
+
88
+ setTimeout(() => {
89
+ feather.replace();
90
+ }, 0);
91
+ }
92
+ }
93
+ customElements.define('custom-footer', CustomFooter);
components/navbar.js ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ .nav-link {
7
+ position: relative;
8
+ }
9
+ .nav-link:hover::after {
10
+ width: 100%;
11
+ }
12
+ .nav-link::after {
13
+ content: '';
14
+ position: absolute;
15
+ bottom: -2px;
16
+ left: 0;
17
+ width: 0;
18
+ height: 2px;
19
+ background-color: #6366f1;
20
+ transition: width 0.3s ease;
21
+ }
22
+ @media (max-width: 768px) {
23
+ .mobile-menu {
24
+ max-height: 0;
25
+ overflow: hidden;
26
+ transition: max-height 0.3s ease-out;
27
+ }
28
+ .mobile-menu.open {
29
+ max-height: 500px;
30
+ }
31
+ }
32
+ </style>
33
+ <nav class="bg-white shadow-sm">
34
+ <div class="container mx-auto px-4">
35
+ <div class="flex justify-between items-center py-4">
36
+ <a href="/" class="flex items-center space-x-2">
37
+ <i data-feather="pen-tool" class="text-primary-500 w-6 h-6"></i>
38
+ <span class="text-xl font-bold text-gray-900">DFW Creator Connect</span>
39
+ </a>
40
+
41
+ <div class="hidden md:flex items-center space-x-8">
42
+ <a href="/" class="nav-link text-gray-700 hover:text-primary-500">Home</a>
43
+ <a href="/listings" class="nav-link text-gray-700 hover:text-primary-500">Browse</a>
44
+ <a href="/post" class="nav-link text-gray-700 hover:text-primary-500">Post</a>
45
+ <a href="/about" class="nav-link text-gray-700 hover:text-primary-500">About</a>
46
+ <a href="/contact" class="nav-link text-gray-700 hover:text-primary-500">Contact</a>
47
+ <div class="relative">
48
+ <input type="text" placeholder="Search creators..." class="pl-10 pr-4 py-2 border rounded-full text-sm focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent">
49
+ <i data-feather="search" class="absolute left-3 top-2.5 text-gray-400 w-4 h-4"></i>
50
+ </div>
51
+ <a href="/login" class="bg-primary-500 hover:bg-primary-600 text-white px-4 py-2 rounded-lg text-sm font-medium transition">Sign In</a>
52
+ </div>
53
+
54
+ <button class="md:hidden focus:outline-none" id="mobileMenuButton">
55
+ <i data-feather="menu" class="w-6 h-6"></i>
56
+ </button>
57
+ </div>
58
+
59
+ <div class="mobile-menu md:hidden" id="mobileMenu">
60
+ <div class="flex flex-col space-y-3 pb-4">
61
+ <a href="/" class="text-gray-700 hover:text-primary-500">Home</a>
62
+ <a href="/listings" class="text-gray-700 hover:text-primary-500">Browse</a>
63
+ <a href="/post" class="text-gray-700 hover:text-primary-500">Post</a>
64
+ <a href="/about" class="text-gray-700 hover:text-primary-500">About</a>
65
+ <a href="/contact" class="text-gray-700 hover:text-primary-500">Contact</a>
66
+ <div class="relative mt-2">
67
+ <input type="text" placeholder="Search creators..." class="w-full pl-10 pr-4 py-2 border rounded-full text-sm focus:outline-none focus:ring-2 focus:ring-primary-500 focus:border-transparent">
68
+ <i data-feather="search" class="absolute left-3 top-2.5 text-gray-400 w-4 h-4"></i>
69
+ </div>
70
+ <a href="/login" class="bg-primary-500 hover:bg-primary-600 text-white px-4 py-2 rounded-lg text-sm font-medium text-center transition">Sign In</a>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </nav>
75
+ `;
76
+
77
+ // Initialize feather icons and mobile menu toggle
78
+ setTimeout(() => {
79
+ feather.replace();
80
+
81
+ const mobileMenuButton = this.shadowRoot.getElementById('mobileMenuButton');
82
+ const mobileMenu = this.shadowRoot.getElementById('mobileMenu');
83
+
84
+ mobileMenuButton.addEventListener('click', () => {
85
+ mobileMenu.classList.toggle('open');
86
+ const icon = mobileMenuButton.querySelector('i');
87
+ if (mobileMenu.classList.contains('open')) {
88
+ icon.setAttribute('data-feather', 'x');
89
+ } else {
90
+ icon.setAttribute('data-feather', 'menu');
91
+ }
92
+ feather.replace();
93
+ });
94
+ }, 0);
95
+ }
96
+ }
97
+ customElements.define('custom-navbar', CustomNavbar);
index.html CHANGED
@@ -1,19 +1,189 @@
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="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>DFW Creator Connect | Classifieds for Dallas-Fort Worth Creators</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://unpkg.com/feather-icons"></script>
10
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
11
+ <script src="components/navbar.js"></script>
12
+ <script src="components/creator-card.js"></script>
13
+ <script src="components/footer.js"></script>
14
+ <script>
15
+ tailwind.config = {
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ primary: {
20
+ 500: '#6366f1',
21
+ },
22
+ secondary: {
23
+ 500: '#f59e0b',
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+ </script>
30
+ </head>
31
+ <body class="bg-gray-50">
32
+ <custom-navbar></custom-navbar>
33
+
34
+ <main class="container mx-auto px-4 py-8">
35
+ <!-- Hero Section -->
36
+ <section class="text-center py-12">
37
+ <h1 class="text-4xl md:text-5xl font-bold text-gray-900 mb-4">Connect with DFW's <span class="text-primary-500">Creative Community</span></h1>
38
+ <p class="text-xl text-gray-600 max-w-2xl mx-auto">Find collaborators, services, and opportunities in the Dallas-Fort Worth creative scene.</p>
39
+ <div class="mt-8 flex justify-center gap-4">
40
+ <a href="/listings" class="bg-primary-500 hover:bg-primary-600 text-white px-6 py-3 rounded-lg font-medium transition">Browse Listings</a>
41
+ <a href="/post" class="border border-primary-500 text-primary-500 hover:bg-primary-50 px-6 py-3 rounded-lg font-medium transition">Post Listing</a>
42
+ </div>
43
+ </section>
44
+
45
+ <!-- Featured Creators Grid -->
46
+ <section class="mb-16">
47
+ <h2 class="text-2xl font-bold text-gray-900 mb-6">Featured Creators</h2>
48
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
49
+ <custom-creator-card
50
+ name="Alex Rivera"
51
+ category="Photography"
52
+ skills="Portrait, Product, Event"
53
+ image="http://static.photos/people/640x360/1"
54
+ rating="4.8">
55
+ </custom-creator-card>
56
+ <custom-creator-card
57
+ name="Jamie Chen"
58
+ category="Graphic Design"
59
+ skills="Branding, Logos, Packaging"
60
+ image="http://static.photos/people/640x360/2"
61
+ rating="4.9">
62
+ </custom-creator-card>
63
+ <custom-creator-card
64
+ name="Taylor Smith"
65
+ category="Videography"
66
+ skills="Commercials, Music Videos"
67
+ image="http://static.photos/people/640x360/3"
68
+ rating="4.7">
69
+ </custom-creator-card>
70
+ </div>
71
+ </section>
72
+
73
+ <!-- Categories Section -->
74
+ <section class="mb-16">
75
+ <h2 class="text-2xl font-bold text-gray-900 mb-6">Browse Categories</h2>
76
+ <div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-4">
77
+ <a href="/category/photography" class="category-card">
78
+ <div class="bg-white p-4 rounded-lg shadow-sm hover:shadow-md transition text-center">
79
+ <i data-feather="camera" class="w-8 h-8 text-primary-500 mx-auto mb-2"></i>
80
+ <h3 class="font-medium">Photography</h3>
81
+ </div>
82
+ </a>
83
+ <a href="/category/videography" class="category-card">
84
+ <div class="bg-white p-4 rounded-lg shadow-sm hover:shadow-md transition text-center">
85
+ <i data-feather="video" class="w-8 h-8 text-primary-500 mx-auto mb-2"></i>
86
+ <h3 class="font-medium">Videography</h3>
87
+ </div>
88
+ </a>
89
+ <a href="/category/design" class="category-card">
90
+ <div class="bg-white p-4 rounded-lg shadow-sm hover:shadow-md transition text-center">
91
+ <i data-feather="pen-tool" class="w-8 h-8 text-primary-500 mx-auto mb-2"></i>
92
+ <h3 class="font-medium">Design</h3>
93
+ </div>
94
+ </a>
95
+ <a href="/category/music" class="category-card">
96
+ <div class="bg-white p-4 rounded-lg shadow-sm hover:shadow-md transition text-center">
97
+ <i data-feather="music" class="w-8 h-8 text-primary-500 mx-auto mb-2"></i>
98
+ <h3 class="font-medium">Music</h3>
99
+ </div>
100
+ </a>
101
+ <a href="/category/writing" class="category-card">
102
+ <div class="bg-white p-4 rounded-lg shadow-sm hover:shadow-md transition text-center">
103
+ <i data-feather="edit" class="w-8 h-8 text-primary-500 mx-auto mb-2"></i>
104
+ <h3 class="font-medium">Writing</h3>
105
+ </div>
106
+ </a>
107
+ <a href="/category/development" class="category-card">
108
+ <div class="bg-white p-4 rounded-lg shadow-sm hover:shadow-md transition text-center">
109
+ <i data-feather="code" class="w-8 h-8 text-primary-500 mx-auto mb-2"></i>
110
+ <h3 class="font-medium">Development</h3>
111
+ </div>
112
+ </a>
113
+ </div>
114
+ </section>
115
+
116
+ <!-- Testimonials -->
117
+ <section class="bg-primary-50 rounded-xl p-8 mb-16">
118
+ <h2 class="text-2xl font-bold text-gray-900 mb-8 text-center">What Creators Are Saying</h2>
119
+ <div class="grid md:grid-cols-3 gap-6">
120
+ <div class="bg-white p-6 rounded-lg shadow-sm">
121
+ <div class="flex items-center mb-4">
122
+ <div class="text-yellow-400 flex">
123
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
124
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
125
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
126
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
127
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
128
+ </div>
129
+ </div>
130
+ <p class="text-gray-700 mb-4">"Found an amazing photographer for my product line through DFW Creator Connect. The process was seamless!"</p>
131
+ <div class="flex items-center">
132
+ <img src="http://static.photos/people/200x200/4" alt="Sarah Johnson" class="w-10 h-10 rounded-full mr-3">
133
+ <div>
134
+ <h4 class="font-medium">Sarah Johnson</h4>
135
+ <p class="text-sm text-gray-500">Small Business Owner</p>
136
+ </div>
137
+ </div>
138
+ </div>
139
+ <div class="bg-white p-6 rounded-lg shadow-sm">
140
+ <div class="flex items-center mb-4">
141
+ <div class="text-yellow-400 flex">
142
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
143
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
144
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
145
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
146
+ <i data-feather="star" class="w-5 h-5"></i>
147
+ </div>
148
+ </div>
149
+ <p class="text-gray-700 mb-4">"As a freelance designer, this platform has helped me connect with clients and other creatives in the area."</p>
150
+ <div class="flex items-center">
151
+ <img src="http://static.photos/people/200x200/5" alt="Marcus Lee" class="w-10 h-10 rounded-full mr-3">
152
+ <div>
153
+ <h4 class="font-medium">Marcus Lee</h4>
154
+ <p class="text-sm text-gray-500">Graphic Designer</p>
155
+ </div>
156
+ </div>
157
+ </div>
158
+ <div class="bg-white p-6 rounded-lg shadow-sm">
159
+ <div class="flex items-center mb-4">
160
+ <div class="text-yellow-400 flex">
161
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
162
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
163
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
164
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
165
+ <i data-feather="star" class="w-5 h-5 fill-current"></i>
166
+ </div>
167
+ </div>
168
+ <p class="text-gray-700 mb-4">"The best resource for creative professionals in DFW. I've booked several gigs through this platform."</p>
169
+ <div class="flex items-center">
170
+ <img src="http://static.photos/people/200x200/6" alt="Elena Rodriguez" class="w-10 h-10 rounded-full mr-3">
171
+ <div>
172
+ <h4 class="font-medium">Elena Rodriguez</h4>
173
+ <p class="text-sm text-gray-500">Videographer</p>
174
+ </div>
175
+ </div>
176
+ </div>
177
+ </div>
178
+ </section>
179
+ </main>
180
+
181
+ <custom-footer></custom-footer>
182
+
183
+ <script>
184
+ feather.replace();
185
+ </script>
186
+ <script src="script.js"></script>
187
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
188
+ </body>
189
+ </html>
script.js ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Main script file with common functionality
2
+ document.addEventListener('DOMContentLoaded', function() {
3
+ // Initialize any common functionality here
4
+
5
+ // Smooth scrolling for anchor links
6
+ document.querySelectorAll('a[href^="#"]').forEach(anchor => {
7
+ anchor.addEventListener('click', function (e) {
8
+ e.preventDefault();
9
+ document.querySelector(this.getAttribute('href')).scrollIntoView({
10
+ behavior: 'smooth'
11
+ });
12
+ });
13
+ });
14
+
15
+ // Initialize any tooltips or popovers
16
+ const tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="tooltip"]'));
17
+ tooltipTriggerList.map(function (tooltipTriggerEl) {
18
+ return new bootstrap.Tooltip(tooltipTriggerEl);
19
+ });
20
+ });
21
+
22
+ // API functions for creator data
23
+ async function fetchFeaturedCreators() {
24
+ try {
25
+ const response = await fetch('/api/creators/featured');
26
+ const data = await response.json();
27
+ return data;
28
+ } catch (error) {
29
+ console.error('Error fetching featured creators:', error);
30
+ return [];
31
+ }
32
+ }
33
+
34
+ // Function to handle search
35
+ function handleSearch(event) {
36
+ event.preventDefault();
37
+ const searchTerm = document.getElementById('searchInput').value.trim();
38
+ if (searchTerm) {
39
+ window.location.href = `/search?q=${encodeURIComponent(searchTerm)}`;
40
+ }
41
+ }
style.css CHANGED
@@ -1,28 +1,44 @@
1
- body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
 
 
 
 
 
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* Custom styles that extend Tailwind */
2
+ .category-card:hover i {
3
+ transform: scale(1.1);
4
+ transition: transform 0.2s ease-in-out;
5
  }
6
 
7
+ .category-card i {
8
+ transition: transform 0.2s ease-in-out;
 
9
  }
10
 
11
+ /* Animation for featured creators cards */
12
+ @keyframes fadeIn {
13
+ from {
14
+ opacity: 0;
15
+ transform: translateY(20px);
16
+ }
17
+ to {
18
+ opacity: 1;
19
+ transform: translateY(0);
20
+ }
21
  }
22
 
23
+ .custom-creator-card {
24
+ animation: fadeIn 0.5s ease-out forwards;
 
 
 
 
25
  }
26
 
27
+ .custom-creator-card:nth-child(1) {
28
+ animation-delay: 0.1s;
29
  }
30
+
31
+ .custom-creator-card:nth-child(2) {
32
+ animation-delay: 0.2s;
33
+ }
34
+
35
+ .custom-creator-card:nth-child(3) {
36
+ animation-delay: 0.3s;
37
+ }
38
+
39
+ /* Responsive tweaks */
40
+ @media (max-width: 640px) {
41
+ .testimonial-card {
42
+ margin-bottom: 1rem;
43
+ }
44
+ }