Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/templates/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,16 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="description" content="{% block meta_description %}{{ config.SITE_DESCRIPTION | default('DevPath recommends real coding projects based on your skills.') }}{% endblock %}" />
{% set base_url = (config.BASE_URL | default(request.url_root.rstrip('/'), true)) %}
<meta property="og:title" content="{% block og_title %}DevPath — Find Projects Based On Your Skills{% endblock %}" />
<meta property="og:description" content="{% block og_description %}{{ config.SITE_DESCRIPTION | default('DevPath recommends real coding projects based on your skills.') }}{% endblock %}" />
<meta property="og:image" content="{% block og_image %}{{ base_url.rstrip('/') }}/static/og-banner.png{% endblock %}" />
<meta property="og:url" content="{% block og_url %}{{ base_url.rstrip('/') }}{{ request.path }}{% endblock %}" />
<meta property="og:type" content="{% block og_type %}website{% endblock %}" />
<meta name="twitter:card" content="{% block twitter_card %}summary_large_image{% endblock %}" />
<meta name="twitter:title" content="{% block twitter_title %}DevPath — Find Projects Based On Your Skills{% endblock %}" />
<meta name="twitter:description" content="{% block twitter_description %}{{ config.SITE_DESCRIPTION | default('DevPath recommends real coding projects based on your skills.') }}{% endblock %}" />
<meta name="twitter:image" content="{% block twitter_image %}{{ base_url.rstrip('/') }}/static/og-banner.png{% endblock %}" />
<title>{% block title %}DevPath — Find Projects Based On Your Skills{% endblock %}</title>

<link rel="icon" href="/static/favicon.svg" type="image/svg+xml" />
Expand Down
2 changes: 1 addition & 1 deletion src/templates/explore.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ <h2 style="font-size: 1.25rem;">Showing {{ projects|length }} of {{ total_items
{% if projects %}
<div class="grid grid-cols-1 grid-cols-md-2 grid-cols-lg-3">
{% for project in projects %}
<div class="card project-card flex flex-col">
<div class="project-card">
<div class="card__body flex flex-col" style="flex: 1;">
<h3 class="mb-2" style="font-size: 1.1rem;">{{ project.title }}</h3>
<p class="text-muted mb-4" style="font-size: 0.9rem; flex: 1;">{{ project.description | truncate(120) }}</p>
Expand Down
17 changes: 16 additions & 1 deletion src/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -162,9 +162,13 @@ <h2>Find The Project</h2>
</section>

<!-- RESULTS SECTION -->
<section class="landing-section hidden" id="results-section">
<section class="landing-section hidden" id="results-section" style="display:none;">
<div class="landing-container">
<h2>Your Recommendations</h2>

<div class="roadmap-progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0" aria-label="Recommendation progress">
<div id="recommendation-progress-fill"></div>
</div>

<div id="results-loading" class="text-center py-12 hidden">
<div class="spinner"></div>
Expand All @@ -186,4 +190,15 @@ <h3 class="text-xl font-bold mb-2">No exact matches found</h3>
</div>
</section>

<section class="saved-projects-panel" id="saved-projects-panel">
<div class="saved-projects-header">
<div>
<h3>Saved Projects</h3>
<p>Projects you bookmarked for later.</p>
</div>
<span class="saved-projects-count" id="saved-projects-count">0 projects saved</span>
</div>
<div class="saved-projects-list" id="saved-projects-list"></div>
</section>

{% endblock %}
26 changes: 11 additions & 15 deletions src/templates/profile.html
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,11 @@ <h2 class="flex items-center gap-2">
<span class="text-muted">{{ user.created_at.strftime('%B %d, %Y') if user.created_at else 'Unknown' }}</span>
</div>
<div>
<span class="stat-label">Total Saved Skills</span>
<span class="stat-label">Tracked Skills</span>
<span class="text-muted">{{ user.saved_skills|length if user.saved_skills else 0 }}</span>
</div>
<div>
<span class="stat-label">Bookmarked Projects</span>
<span class="stat-label">Saved Project Count</span>
<span class="text-muted">{{ user.bookmarked_projects|length if user.bookmarked_projects else 0 }}</span>
</div>
<div>
Expand All @@ -70,23 +70,19 @@ <h2 class="flex items-center gap-2">
</div>
</div>

<!-- Bookmarked Projects Card -->
<!-- Account Management Card -->
<div class="card">
<div class="card__header">
<h2>Bookmarked Projects</h2>
<h2>Account Management</h2>
</div>
<div class="card__body">
{% if user.bookmarked_projects %}
<ul class="profile-list">
{% for project_id in user.bookmarked_projects %}
<li>
<a href="/project/{{ project_id }}" class="profile-link">Project #{{ project_id }}</a>
</li>
{% endfor %}
</ul>
{% else %}
<p class="text-muted">No bookmarked projects yet.</p>
{% endif %}
<p class="text-muted">Manage your linked account and sign out when needed.</p>
</div>
<div class="card__footer">
<form method="POST" action="/auth/logout">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
<button type="submit" class="btn btn-danger">Disconnect Account</button>
</form>
</div>
</div>

Expand Down
2 changes: 2 additions & 0 deletions src/templates/project.html
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,8 @@ <h3 class="m-0">Skills Practiced</h3>
</div>
</div>

<div id="share-toast" aria-live="polite" style="display:none;">Link copied</div>

<!-- Starter Code Modal -->
<div class="code-panel-overlay" id="code-overlay">
<div class="code-panel-container">
Expand Down