Skip to main content

max / makenotwork

2.9 KB · 60 lines History Blame Raw
1 <div class="tab-docs"><a href="/docs/projects">Docs: Projects &rarr;</a></div>
2
3 <div class="user-projects-header">
4 <h2 class="subsection-title">Your Projects</h2>
5 {% if can_create_projects %}
6 <a href="/dashboard/new-project" class="btn-primary"
7 aria-label="Create new project">New Project</a>
8 {% else %}
9 <button class="btn-secondary"
10 aria-label="Learn about creator access"
11 hx-get="/dashboard/tabs/creator"
12 hx-target="#tab-content"
13 hx-swap="innerHTML">Apply for Creator Access</button>
14 {% endif %}
15 </div>
16 <div id="project-form-modal"></div>
17
18 <div role="list" aria-label="Your projects">
19 {% for project in projects %}
20 <article class="project-card" role="listitem">
21 <div class="project-info">
22 <h3 class="project-title">{{ project.title }}</h3>
23 <div class="project-meta">{{ project.project_type }} &middot; Created {{ project.created_date }}{% if let Some(updated) = project.updated_date %} &middot; Last updated {{ updated }}{% endif %}</div>
24 <div class="project-stats">{% if !project.stats.is_empty() %}{{ project.stats }} &middot; {% endif %}<span class="badge {{ project.status|lowercase }}" role="status">{{ project.status }}</span></div>
25 </div>
26 <div class="project-actions" role="group" aria-label="Project actions">
27 <a href="/p/{{ project.slug }}" class="btn-secondary" aria-label="View project">View</a>
28 <a href="/dashboard/project/{{ project.slug }}" class="btn-secondary" aria-label="Edit project">Edit</a>
29 <button class="btn-danger"
30 hx-delete="/api/projects/{{ project.id }}"
31 hx-confirm="Delete this project? This cannot be undone."
32 hx-target="closest .project-card"
33 hx-swap="outerHTML swap:0.3s"
34 aria-label="Delete project">Delete</button>
35 </div>
36 </article>
37 {% endfor %}
38 </div>
39
40 {% if projects.is_empty() %}
41 <div class="info-box user-projects-getting-started">
42 <h3>Getting Started</h3>
43 <p>Welcome to Makenotwork. A <strong>project</strong> groups your work &mdash; think of it as an album, podcast feed, or product line. Each project contains <strong>items</strong>: individual tracks, episodes, downloads, or posts.</p>
44 <ol class="user-projects-steps">
45 <li>Create a project</li>
46 <li>Add items &mdash; audio, video, text, or software</li>
47 <li>Set prices (or keep them free) and publish</li>
48 <li>Connect your payment account &mdash; 0% platform fee</li>
49 </ol>
50 {% if can_create_projects %}
51 <a href="/dashboard/new-project" class="btn-primary user-projects-cta">Create Your First Project</a>
52 {% else %}
53 <button class="btn-secondary user-projects-cta"
54 hx-get="/dashboard/tabs/creator"
55 hx-target="#tab-content"
56 hx-swap="innerHTML">Apply for Creator Access</button>
57 {% endif %}
58 </div>
59 {% endif %}
60