11 changed files with 425 additions and 30 deletions
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
package pages |
||||
|
||||
import ( |
||||
"github.com/gin-gonic/gin" |
||||
"net/http" |
||||
) |
||||
|
||||
func Welcome(c *gin.Context) { |
||||
c.HTML(http.StatusOK, "welcome.html", gin.H{ |
||||
"title": "Sponsor A Hacker", |
||||
}) |
||||
} |
||||
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
package pages |
||||
|
||||
import ( |
||||
"github.com/gin-gonic/gin" |
||||
"net/http" |
||||
) |
||||
|
||||
func Wishlist(c *gin.Context) { |
||||
c.HTML(http.StatusOK, "wishlist.html", gin.H{ |
||||
"title": "Sponsor A Hacker", |
||||
}) |
||||
} |
||||
@ -1,12 +0,0 @@
@@ -1,12 +0,0 @@
|
||||
<html> |
||||
<head> |
||||
<link rel="stylesheet" type="text/css" href="assets/css/login.css" /> |
||||
</head> |
||||
<body> |
||||
<h1> |
||||
{{ .title }} |
||||
</h1> |
||||
|
||||
|
||||
</body> |
||||
</html> |
||||
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
{{define "pageheader"}} |
||||
<div class="header"> |
||||
<img src="assets/images/logo.jpg" class="logo"/> |
||||
<h1 class="title"> |
||||
Sponsor A Hacker |
||||
</h1> |
||||
|
||||
{{if eq .isLoggedIn false}} |
||||
<a href="/login" class="login-banner-link">Login</a> |
||||
{{ else }} |
||||
<a href="auth/logout/twitch" class="login-banner-link">Logout</a> |
||||
{{ end }} |
||||
|
||||
</div> |
||||
{{end}} |
||||
@ -1,7 +0,0 @@
@@ -1,7 +0,0 @@
|
||||
{{ define "logoutButton" }} |
||||
<a href="/auth/logout/twitch"> |
||||
<button style="font-size: 18px; padding: 10px 20px; background-color: #9147ff; color: white; border: none; border-radius: 5px; cursor: pointer;"> |
||||
Logout |
||||
</button> |
||||
</a> |
||||
{{ end }} |
||||
@ -0,0 +1,161 @@
@@ -0,0 +1,161 @@
|
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
<link rel="stylesheet" type="text/css" href="assets/css/style.css" /> |
||||
<title>Dashboard</title> |
||||
<style> |
||||
|
||||
.dashboard-container { |
||||
max-width: 1200px; |
||||
margin: 0 auto; |
||||
padding: 20px; |
||||
} |
||||
|
||||
.welcome { |
||||
text-align: center; |
||||
margin-bottom: 30px; |
||||
} |
||||
|
||||
.welcome h1 { |
||||
color: #457b9d; |
||||
margin-bottom: 10px; |
||||
} |
||||
|
||||
.welcome p { |
||||
font-size: 1.2em; |
||||
color: #495057; |
||||
} |
||||
|
||||
.section { |
||||
margin-bottom: 40px; |
||||
padding: 20px; |
||||
border-radius: 8px; |
||||
} |
||||
|
||||
.section h2 { |
||||
color: #457b9d; |
||||
margin-bottom: 20px; |
||||
text-align: center; |
||||
} |
||||
|
||||
.cards { |
||||
display: grid; |
||||
grid-template-columns: repeat(2, 1fr); /* Two columns layout */ |
||||
gap: 20px; /* Space between cards */ |
||||
} |
||||
|
||||
.card { |
||||
background-color: #ffffff; |
||||
border-radius: 8px; |
||||
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); |
||||
padding: 15px; |
||||
text-align: center; |
||||
} |
||||
|
||||
.card h3 { |
||||
margin: 0 0 10px 0; |
||||
color: #495057; |
||||
} |
||||
|
||||
.card p { |
||||
font-size: 0.9em; |
||||
color: #666; |
||||
margin-bottom: 15px; |
||||
} |
||||
|
||||
.card button { |
||||
padding: 10px 20px; |
||||
border: none; |
||||
border-radius: 5px; |
||||
background-color: #a3c1ad; |
||||
color: white; |
||||
font-size: 1em; |
||||
cursor: pointer; |
||||
} |
||||
|
||||
.card button:hover { |
||||
background-color: #91a4b1; |
||||
} |
||||
|
||||
</style> |
||||
</head> |
||||
<body> |
||||
<div class="header"> |
||||
<img src="assets/images/logo.jpg" class="logo"/> |
||||
<h1 class="title"> |
||||
{{ .title }} |
||||
</h1> |
||||
|
||||
{{if eq .isLoggedIn false}} |
||||
<a href="/login" class="login-banner-link">Login</a> |
||||
{{ else }} |
||||
<a href="auth/logout/twitch" class="login-banner-link">Logout</a> |
||||
{{ end }} |
||||
|
||||
</div> |
||||
<div class="dashboard-container"> |
||||
<div class="dashboard-container"> |
||||
<div class="welcome"> |
||||
<h1>Welcome, Codegirl007!</h1> |
||||
<p>Find your path, fund futures, or inspire a community today.</p> |
||||
</div> |
||||
|
||||
<div class="section learners"> |
||||
<h2>Build Your Tech Future</h2> |
||||
<div class="cards"> |
||||
<div class="card"> |
||||
<h3>Your Wishlist</h3> |
||||
<p>Track your certifications and courses. Update or add goals to keep your community engaged.</p> |
||||
<button>Add a Goal</button> |
||||
</div> |
||||
<div class="card"> |
||||
<h3>Community Opportunities</h3> |
||||
<p>Join upcoming hackathons or community events to grow your skills and network.</p> |
||||
<button>View Events</button> |
||||
</div> |
||||
<div class="card"> |
||||
<h3>Learning Resources</h3> |
||||
<p>Access curated tutorials, guides, and practice challenges to enhance your skills.</p> |
||||
<button>Explore Resources</button> |
||||
</div> |
||||
<div class="card"> |
||||
<h3>Connect with Mentors</h3> |
||||
<p>Get advice and guidance from experienced professionals to boost your learning journey.</p> |
||||
<button>Find a Mentor</button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
<div class="section supporters"> |
||||
<h2>Help Make Dreams Happen</h2> |
||||
<div class="cards"> |
||||
<div class="card"> |
||||
<h3>Fund a Goal</h3> |
||||
<p>Choose a learner’s wishlist item and contribute to their education journey.</p> |
||||
<button>Browse Wishlists</button> |
||||
</div> |
||||
<div class="card"> |
||||
<h3>Host or Sponsor a Hackathon</h3> |
||||
<p>Support innovation by organizing or sponsoring a hackathon for the community.</p> |
||||
<button>Get Involved</button> |
||||
</div> |
||||
<div class="card"> |
||||
<h3>Support a Streamer</h3> |
||||
<p>Boost streamers who are funding education for members of their community.</p> |
||||
<button>View Streamers</button> |
||||
</div> |
||||
<div class="card"> |
||||
<h3>Track Your Impact</h3> |
||||
<p>See the difference your contributions are making through real-time progress updates.</p> |
||||
<button>View Impact</button> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
|
||||
|
||||
</body> |
||||
</html> |
||||
@ -0,0 +1,203 @@
@@ -0,0 +1,203 @@
|
||||
<!DOCTYPE html> |
||||
<html lang="en"> |
||||
<head> |
||||
<meta charset="UTF-8"> |
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
||||
<link rel="stylesheet" type="text/css" href="assets/css/style.css" /> |
||||
<title>Wishlist</title> |
||||
<style> |
||||
.wishlist-container { |
||||
max-width: 800px; |
||||
margin: 30px auto; |
||||
padding: 20px; |
||||
} |
||||
|
||||
.wishlist-page-header { |
||||
text-align: center; |
||||
margin-bottom: 40px; |
||||
} |
||||
|
||||
.wishlist-page-header h1 { |
||||
font-size: 2em; |
||||
color: #457B9D; /* Muted blue for main headings */ |
||||
} |
||||
|
||||
.wishlist-page-header p { |
||||
font-size: 1.1em; |
||||
color: #495057; /* Slightly darker gray for descriptions */ |
||||
} |
||||
|
||||
section { |
||||
margin-bottom: 40px; |
||||
padding: 20px; |
||||
background-color: #FFFFFF; /* White for section backgrounds */ |
||||
border-radius: 8px; |
||||
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); |
||||
} |
||||
|
||||
.add-wishlist h2, .wishlist-items h2 { |
||||
margin-bottom: 20px; |
||||
font-size: 1.5em; |
||||
} |
||||
|
||||
.add-wishlist h2 { |
||||
color: #A3C1AD; /* Muted green for emphasis */ |
||||
} |
||||
|
||||
.wishlist-items h2 { |
||||
color: #457B9D; /* Muted blue */ |
||||
} |
||||
|
||||
.form-group { |
||||
margin-bottom: 20px; |
||||
} |
||||
|
||||
label { |
||||
display: block; |
||||
font-weight: bold; |
||||
margin-bottom: 8px; |
||||
color: #495057; /* Dark gray for labels */ |
||||
} |
||||
|
||||
input, textarea { |
||||
width: 100%; |
||||
padding: 10px; |
||||
font-size: 1em; |
||||
border: 1px solid #DDD; |
||||
border-radius: 5px; |
||||
} |
||||
|
||||
textarea { |
||||
resize: none; |
||||
height: 100px; |
||||
} |
||||
|
||||
.btn { |
||||
display: inline-block; |
||||
padding: 10px 20px; |
||||
border: none; |
||||
border-radius: 5px; |
||||
font-size: 1em; |
||||
cursor: pointer; |
||||
} |
||||
|
||||
.primary-btn { |
||||
background-color: #457B9D; /* Muted blue */ |
||||
color: #FFFFFF; |
||||
} |
||||
|
||||
.primary-btn:hover { |
||||
background-color: #356081; |
||||
} |
||||
|
||||
.danger-btn { |
||||
background-color: #E57373; /* Light muted red */ |
||||
color: #FFFFFF; |
||||
} |
||||
|
||||
.danger-btn:hover { |
||||
background-color: #D32F2F; |
||||
} |
||||
|
||||
.items { |
||||
display: flex; |
||||
flex-direction: column; |
||||
gap: 20px; |
||||
} |
||||
|
||||
.item { |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
padding: 15px; |
||||
border: 1px solid #DDD; |
||||
border-radius: 5px; |
||||
background-color: #F9F9F9; /* Subtle light gray for contrast */ |
||||
} |
||||
|
||||
.item-info h3 { |
||||
margin: 0 0 5px 0; |
||||
font-size: 1.2em; |
||||
color: #333; |
||||
} |
||||
|
||||
.item-info p { |
||||
margin: 0; |
||||
font-size: 1em; |
||||
color: #666; |
||||
} |
||||
|
||||
.progress { |
||||
font-weight: bold; |
||||
color: #457B9D; /* Muted blue for progress text */ |
||||
} |
||||
|
||||
.footer a:hover { |
||||
color: #FFFFFF; |
||||
} |
||||
|
||||
@media (max-width: 768px) { |
||||
.items { |
||||
gap: 15px; |
||||
} |
||||
|
||||
.item { |
||||
flex-direction: column; |
||||
align-items: flex-start; |
||||
} |
||||
|
||||
.item button { |
||||
margin-top: 10px; |
||||
align-self: flex-end; |
||||
} |
||||
} |
||||
</style> |
||||
</head> |
||||
<body> |
||||
{{template "pageheader"}} |
||||
<div class="wishlist-container"> |
||||
<header class="wishlist-page-header"> |
||||
<h1>Manage Your Wishlist</h1> |
||||
<p>Add new goals or track progress on your current items.</p> |
||||
</header> |
||||
|
||||
<section class="add-wishlist"> |
||||
<h2>Add a New Goal</h2> |
||||
<form id="add-item-form"> |
||||
<div class="form-group"> |
||||
<label for="item-name">Goal Name</label> |
||||
<input type="text" id="item-name" name="item-name" placeholder="e.g., Full-Stack Certification" required> |
||||
</div> |
||||
<div class="form-group"> |
||||
<label for="item-description">Description</label> |
||||
<textarea id="item-description" name="item-description" placeholder="Why is this goal important?" required></textarea> |
||||
</div> |
||||
<button type="submit" class="btn primary-btn">Add to Wishlist</button> |
||||
</form> |
||||
</section> |
||||
|
||||
<section class="wishlist-items"> |
||||
<h2>Your Current Wishlist</h2> |
||||
<div class="items"> |
||||
<div class="item"> |
||||
<div class="item-info"> |
||||
<h3>Full-Stack Development Certification</h3> |
||||
<p>Progress: <span class="progress">75%</span> funded</p> |
||||
</div> |
||||
<button class="btn danger-btn">Remove</button> |
||||
</div> |
||||
<div class="item"> |
||||
<div class="item-info"> |
||||
<h3>Data Science Course</h3> |
||||
<p>Progress: <span class="progress">40%</span> funded</p> |
||||
</div> |
||||
<button class="btn danger-btn">Remove</button> |
||||
</div> |
||||
</div> |
||||
</section> |
||||
|
||||
|
||||
</div> |
||||
{{template "footer"}} |
||||
</body> |
||||
</html> |
||||
Loading…
Reference in new issue