AbdolUwU commited on
Commit
8114938
Β·
verified Β·
1 Parent(s): 2d6a292

I want to design a college community website named Unify that has those pages: "

Browse files

Login

Homepage

Lost n Found/ Book donations (Offers/Requests)

Personal user profile

Activities/Events announcements

Weekly news (Sums the news for the past week): {Community announcements (Less serious (From students))

Official announcements (More serious (From college administration))}

Timetables for exams and classes

About Team"

I want it to be as minimal and simple as possible.
make it dark themed

and I want the homepage to have a top bar that has the logo of the site centered , and the other-pages buttons besides it from the sides.

make every page in a separate html file

Files changed (12) hide show
  1. README.md +8 -5
  2. about.html +27 -0
  3. components/navbar.js +64 -0
  4. events.html +20 -0
  5. index.html +39 -19
  6. login.html +25 -0
  7. lost-found.html +31 -0
  8. news.html +27 -0
  9. profile.html +31 -0
  10. script.js +62 -0
  11. style.css +165 -16
  12. timetables.html +27 -0
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Universe Connect Campus Harmony Hub
3
- emoji: 🐠
4
- colorFrom: green
5
- colorTo: blue
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: UniVerse Connect - Campus Harmony Hub πŸŽ“
3
+ colorFrom: red
4
+ colorTo: yellow
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).
about.html ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Unify - About</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main>
13
+ <h1>About Unify</h1>
14
+ <section class="team-section">
15
+ <h2>Our Team</h2>
16
+ <div class="team-grid">
17
+ <!-- Team members will be loaded here -->
18
+ </div>
19
+ </section>
20
+ <section class="mission-section">
21
+ <h2>Our Mission</h2>
22
+ <p>To create a unified campus community where students can connect, share resources, and stay informed about everything happening around them.</p>
23
+ </section>
24
+ </main>
25
+ <script src="script.js"></script>
26
+ </body>
27
+ </html>
components/navbar.js ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ class CustomNavbar extends HTMLElement {
2
+ connectedCallback() {
3
+ this.attachShadow({ mode: 'open' });
4
+ this.shadowRoot.innerHTML = `
5
+ <style>
6
+ :host {
7
+ display: block;
8
+ width: 100%;
9
+ background-color: #1a1a1a;
10
+ padding: 1rem 0;
11
+ box-shadow: 0 2px 10px rgba(0,0,0,0.3);
12
+ position: sticky;
13
+ top: 0;
14
+ z-index: 100;
15
+ }
16
+ .navbar-container {
17
+ display: flex;
18
+ justify-content: space-between;
19
+ align-items: center;
20
+ max-width: 1200px;
21
+ margin: 0 auto;
22
+ padding: 0 1rem;
23
+ }
24
+ .logo {
25
+ font-size: 1.5rem;
26
+ font-weight: bold;
27
+ color: #f0f0f0;
28
+ text-decoration: none;
29
+ display: flex;
30
+ align-items: center;
31
+ gap: 0.5rem;
32
+ }
33
+ .nav-links {
34
+ display: flex;
35
+ gap: 1.5rem;
36
+ }
37
+ .nav-link {
38
+ color: #ccc;
39
+ text-decoration: none;
40
+ transition: color 0.2s;
41
+ }
42
+ .nav-link:hover {
43
+ color: #fff;
44
+ }
45
+ .active {
46
+ color: #fff;
47
+ font-weight: bold;
48
+ }
49
+ </style>
50
+ <div class="navbar-container">
51
+ <a href="index.html" class="logo">Unify</a>
52
+ <div class="nav-links">
53
+ <a href="lost-found.html" class="nav-link">Lost & Found</a>
54
+ <a href="events.html" class="nav-link">Events</a>
55
+ <a href="news.html" class="nav-link">News</a>
56
+ <a href="timetables.html" class="nav-link">Timetables</a>
57
+ <a href="profile.html" class="nav-link">Profile</a>
58
+ <a href="about.html" class="nav-link">About</a>
59
+ </div>
60
+ </div>
61
+ `;
62
+ }
63
+ }
64
+ customElements.define('custom-navbar', CustomNavbar);
events.html ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Unify - Events</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main>
13
+ <h1>Campus Events & Activities</h1>
14
+ <div class="events-grid">
15
+ <!-- Events will be loaded here -->
16
+ </div>
17
+ </main>
18
+ <script src="script.js"></script>
19
+ </body>
20
+ </html>
index.html CHANGED
@@ -1,19 +1,39 @@
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>Unify - Home</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main class="content-grid">
13
+ <section class="hero">
14
+ <h1>Your Campus Community Hub</h1>
15
+ <p>Connect, share, and stay updated with everything happening around campus.</p>
16
+ </section>
17
+ <section class="quick-links">
18
+ <div class="card" onclick="location.href='lost-found.html'">
19
+ <h3>Lost & Found</h3>
20
+ <p>Report or find lost items</p>
21
+ </div>
22
+ <div class="card" onclick="location.href='events.html'">
23
+ <h3>Events</h3>
24
+ <p>Upcoming activities</p>
25
+ </div>
26
+ <div class="card" onclick="location.href='news.html'">
27
+ <h3>Campus News</h3>
28
+ <p>Weekly updates</p>
29
+ </div>
30
+ <div class="card" onclick="location.href='timetables.html'">
31
+ <h3>Timetables</h3>
32
+ <p>Classes & Exams</p>
33
+ </div>
34
+ </section>
35
+ </main>
36
+ <script src="script.js"></script>
37
+ <script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
38
+ </body>
39
+ </html>
login.html ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Unify - Login</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main class="auth-container">
13
+ <div class="login-card">
14
+ <h2>Welcome Back</h2>
15
+ <form class="auth-form">
16
+ <input type="email" placeholder="University Email" required>
17
+ <input type="password" placeholder="Password" required>
18
+ <button type="submit" class="primary-btn">Login</button>
19
+ </form>
20
+ <p class="auth-footer">Don't have an account? <a href="/register.html">Register</a></p>
21
+ </div>
22
+ </main>
23
+ <script src="script.js"></script>
24
+ </body>
25
+ </html>
lost-found.html ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Unify - Lost & Found</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main>
13
+ <h1>Lost & Found / Book Exchange</h1>
14
+ <div class="tabs">
15
+ <button class="tab-btn active" data-tab="lost">Lost Items</button>
16
+ <button class="tab-btn" data-tab="found">Found Items</button>
17
+ <button class="tab-btn" data-tab="books">Book Exchange</button>
18
+ </div>
19
+ <div class="tab-content" id="lost">
20
+ <!-- Lost items will be loaded here -->
21
+ </div>
22
+ <div class="tab-content hidden" id="found">
23
+ <!-- Found items will be loaded here -->
24
+ </div>
25
+ <div class="tab-content hidden" id="books">
26
+ <!-- Book exchange will be loaded here -->
27
+ </div>
28
+ </main>
29
+ <script src="script.js"></script>
30
+ </body>
31
+ </html>
news.html ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Unify - Campus News</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main>
13
+ <h1>Weekly Campus News</h1>
14
+ <div class="tabs">
15
+ <button class="tab-btn active" data-tab="community">Community News</button>
16
+ <button class="tab-btn" data-tab="official">Official Announcements</button>
17
+ </div>
18
+ <div class="tab-content" id="community">
19
+ <!-- Community news will be loaded here -->
20
+ </div>
21
+ <div class="tab-content hidden" id="official">
22
+ <!-- Official announcements will be loaded here -->
23
+ </div>
24
+ </main>
25
+ <script src="script.js"></script>
26
+ </body>
27
+ </html>
profile.html ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Unify - My Profile</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main class="profile-container">
13
+ <section class="profile-header">
14
+ <div class="avatar"></div>
15
+ <h1>John Doe</h1>
16
+ <p>Computer Science, 3rd Year</p>
17
+ </section>
18
+ <section class="profile-content">
19
+ <div class="profile-section">
20
+ <h3>My Posts</h3>
21
+ <!-- User posts will be loaded here -->
22
+ </div>
23
+ <div class="profile-section">
24
+ <h3>Saved Items</h3>
25
+ <!-- Saved items will be loaded here -->
26
+ </div>
27
+ </section>
28
+ </main>
29
+ <script src="script.js"></script>
30
+ </body>
31
+ </html>
script.js ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ document.addEventListener('DOMContentLoaded', function() {
2
+ // Tab functionality
3
+ const tabButtons = document.querySelectorAll('.tab-btn');
4
+ tabButtons.forEach(button => {
5
+ button.addEventListener('click', () => {
6
+ const tabId = button.getAttribute('data-tab');
7
+
8
+ // Remove active class from all buttons
9
+ tabButtons.forEach(btn => btn.classList.remove('active'));
10
+ // Add active class to clicked button
11
+ button.classList.add('active');
12
+
13
+ // Hide all tab contents
14
+ document.querySelectorAll('.tab-content').forEach(content => {
15
+ content.classList.add('hidden');
16
+ });
17
+
18
+ // Show the selected tab content
19
+ document.getElementById(tabId).classList.remove('hidden');
20
+ });
21
+ });
22
+
23
+ // Simulate loading content for demo purposes
24
+ setTimeout(() => {
25
+ const tabContents = document.querySelectorAll('.tab-content');
26
+ tabContents.forEach(tab => {
27
+ tab.innerHTML = `<p>This is a demo of the ${tab.id} section. In a real application, this would be populated with dynamic content.</p>`;
28
+ });
29
+
30
+ const eventsGrid = document.querySelector('.events-grid');
31
+ if (eventsGrid) {
32
+ eventsGrid.innerHTML = `
33
+ <div class="card">
34
+ <h3>Campus Hackathon</h3>
35
+ <p>May 15, 2023 | Computer Lab</p>
36
+ </div>
37
+ <div class="card">
38
+ <h3>Guest Lecture: AI Ethics</h3>
39
+ <p>May 18, 2023 | Auditorium</p>
40
+ </div>
41
+ `;
42
+ }
43
+
44
+ const teamGrid = document.querySelector('.team-grid');
45
+ if (teamGrid) {
46
+ teamGrid.innerHTML = `
47
+ <div class="card">
48
+ <h3>Alex Johnson</h3>
49
+ <p>Project Lead</p>
50
+ </div>
51
+ <div class="card">
52
+ <h3>Sam Wilson</h3>
53
+ <p>Frontend Developer</p>
54
+ </div>
55
+ <div class="card">
56
+ <h3>Taylor Smith</h3>
57
+ <p>Backend Developer</p>
58
+ </div>
59
+ `;
60
+ }
61
+ }, 300);
62
+ });
style.css CHANGED
@@ -1,28 +1,177 @@
 
 
 
 
 
 
 
 
 
 
 
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
+ :root {
2
+ --primary-color: #6c5ce7;
3
+ --secondary-color: #a29bfe;
4
+ --dark-bg: #121212;
5
+ --dark-surface: #1e1e1e;
6
+ --dark-text: #f0f0f0;
7
+ --dark-text-secondary: #b0b0b0;
8
+ --border-radius: 8px;
9
+ --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
10
+ }
11
+
12
  body {
13
+ font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
14
+ line-height: 1.6;
15
+ margin: 0;
16
+ padding: 0;
17
+ }
18
+
19
+ .dark-theme {
20
+ background-color: var(--dark-bg);
21
+ color: var(--dark-text);
22
+ min-height: 100vh;
23
+ }
24
+
25
+ main {
26
+ max-width: 1200px;
27
+ margin: 2rem auto;
28
+ padding: 0 1rem;
29
  }
30
 
31
+ h1, h2, h3 {
32
+ color: var(--dark-text);
33
+ margin-bottom: 1rem;
34
  }
35
 
36
  p {
37
+ color: var(--dark-text-secondary);
 
 
 
38
  }
39
 
40
  .card {
41
+ background-color: var(--dark-surface);
42
+ border-radius: var(--border-radius);
43
+ padding: 1.5rem;
44
+ box-shadow: var(--box-shadow);
45
+ transition: transform 0.2s;
46
+ cursor: pointer;
47
+ }
48
+
49
+ .card:hover {
50
+ transform: translateY(-5px);
51
+ }
52
+
53
+ .quick-links {
54
+ display: grid;
55
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
56
+ gap: 1.5rem;
57
+ margin-top: 2rem;
58
+ }
59
+
60
+ .tabs {
61
+ display: flex;
62
+ gap: 0.5rem;
63
+ margin-bottom: 1rem;
64
+ }
65
+
66
+ .tab-btn {
67
+ background-color: var(--dark-surface);
68
+ border: none;
69
+ padding: 0.5rem 1rem;
70
+ border-radius: var(--border-radius);
71
+ color: var(--dark-text-secondary);
72
+ cursor: pointer;
73
+ transition: all 0.2s;
74
+ }
75
+
76
+ .tab-btn.active {
77
+ background-color: var(--primary-color);
78
+ color: white;
79
+ }
80
+
81
+ .tab-btn:hover:not(.active) {
82
+ background-color: #2a2a2a;
83
+ }
84
+
85
+ .tab-content {
86
+ background-color: var(--dark-surface);
87
+ border-radius: var(--border-radius);
88
+ padding: 1.5rem;
89
+ margin-bottom: 1rem;
90
+ }
91
+
92
+ .tab-content.hidden {
93
+ display: none;
94
  }
95
 
96
+ .auth-container {
97
+ display: flex;
98
+ justify-content: center;
99
+ align-items: center;
100
+ min-height: calc(100vh - 100px);
101
  }
102
+
103
+ .login-card {
104
+ background-color: var(--dark-surface);
105
+ border-radius: var(--border-radius);
106
+ padding: 2rem;
107
+ width: 100%;
108
+ max-width: 400px;
109
+ box-shadow: var(--box-shadow);
110
+ }
111
+
112
+ .auth-form {
113
+ display: flex;
114
+ flex-direction: column;
115
+ gap: 1rem;
116
+ margin: 1.5rem 0;
117
+ }
118
+
119
+ .auth-form input {
120
+ padding: 0.75rem;
121
+ border-radius: var(--border-radius);
122
+ border: 1px solid #333;
123
+ background-color: #2a2a2a;
124
+ color: var(--dark-text);
125
+ }
126
+
127
+ .primary-btn {
128
+ background-color: var(--primary-color);
129
+ color: white;
130
+ border: none;
131
+ padding: 0.75rem;
132
+ border-radius: var(--border-radius);
133
+ cursor: pointer;
134
+ transition: background-color 0.2s;
135
+ }
136
+
137
+ .primary-btn:hover {
138
+ background-color: #5c4bd6;
139
+ }
140
+
141
+ .profile-container {
142
+ display: grid;
143
+ gap: 2rem;
144
+ }
145
+
146
+ .profile-header {
147
+ text-align: center;
148
+ background-color: var(--dark-surface);
149
+ padding: 2rem;
150
+ border-radius: var(--border-radius);
151
+ }
152
+
153
+ .avatar {
154
+ width: 100px;
155
+ height: 100px;
156
+ border-radius: 50%;
157
+ background-color: var(--secondary-color);
158
+ margin: 0 auto 1rem;
159
+ }
160
+
161
+ .profile-content {
162
+ display: grid;
163
+ grid-template-columns: 1fr;
164
+ gap: 1.5rem;
165
+ }
166
+
167
+ .profile-section {
168
+ background-color: var(--dark-surface);
169
+ padding: 1.5rem;
170
+ border-radius: var(--border-radius);
171
+ }
172
+
173
+ @media (max-width: 768px) {
174
+ .quick-links {
175
+ grid-template-columns: 1fr;
176
+ }
177
+ }
timetables.html ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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>Unify - Timetables</title>
7
+ <link rel="stylesheet" href="style.css">
8
+ <script src="components/navbar.js"></script>
9
+ </head>
10
+ <body class="dark-theme">
11
+ <custom-navbar></custom-navbar>
12
+ <main>
13
+ <h1>Timetables</h1>
14
+ <div class="tabs">
15
+ <button class="tab-btn active" data-tab="classes">Class Schedule</button>
16
+ <button class="tab-btn" data-tab="exams">Exam Schedule</button>
17
+ </div>
18
+ <div class="tab-content" id="classes">
19
+ <!-- Class timetable will be loaded here -->
20
+ </div>
21
+ <div class="tab-content hidden" id="exams">
22
+ <!-- Exam timetable will be loaded here -->
23
+ </div>
24
+ </main>
25
+ <script src="script.js"></script>
26
+ </body>
27
+ </html>