81496c775e
Build all frontend views using Go html/template with HTMX interactions and mobile-first CSS with dark mode and iPhone safe areas. Templates: - layout.html: base layout with fixed bottom nav (Dashboard, Issues, PRs, Settings) - dashboard.html: card-based triage view with priority indicators - issues.html: issue list with filter bar (org, state) and infinite scroll - pulls.html: PR list with diff stats and merge status - issue_detail.html: issue detail with comments, label assignment - pull_detail.html: PR detail with diff stats and review form - create_issue.html: issue creation form with searchable repo selector CSS (static/style.css): - Mobile-first dark mode with CSS variables - iPhone safe areas via env(safe-area-inset-bottom) - Responsive: 2-column grid at 640px+ breakpoint - Light mode support via prefers-color-scheme - Card, label, badge, form, button component styles - HTMX loading indicator and spinner animation - Reduced motion support HTMX patterns: - hx-get with hx-target for SPA-like navigation - hx-trigger="revealed" for infinite scroll - hx-post with hx-swap for inline form actions - Filter bar with hx-trigger="change" and hx-include Closes leeworks-agents/gitea-mobile#5 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
48 lines
1.7 KiB
HTML
48 lines
1.7 KiB
HTML
{{define "content"}}
|
|
<h1>{{.Pull.Title}}</h1>
|
|
|
|
<div class="card">
|
|
<div class="card-meta">
|
|
<span class="type-badge type-pull">PR</span>
|
|
<span class="state-open">{{.Pull.State}}</span>
|
|
<span>{{.Pull.RepoOwner}}/{{.Pull.RepoName}} #{{.Pull.Number}}</span>
|
|
{{range .Pull.Labels}}
|
|
<span class="label" style="color:#{{.Color}};border:1px solid #{{.Color}}">{{.Name}}</span>
|
|
{{end}}
|
|
</div>
|
|
<div class="card-meta" style="margin-top:0.5rem;">
|
|
<span class="diff-add">+{{.Pull.Additions}}</span>
|
|
<span class="diff-del">-{{.Pull.Deletions}}</span>
|
|
{{if .Pull.Mergeable}}<span style="color:var(--accent-green);">Mergeable</span>{{end}}
|
|
</div>
|
|
{{if .Pull.Body}}
|
|
<div class="card-body">{{.Pull.Body}}</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
<div class="card" style="margin-top:1rem;">
|
|
<h2>Submit Review</h2>
|
|
<form hx-post="/pulls/{{.Pull.RepoOwner}}/{{.Pull.RepoName}}/{{.Pull.Number}}/review" hx-swap="outerHTML">
|
|
<div class="form-group">
|
|
<label for="review-body">Comment</label>
|
|
<textarea id="review-body" name="body" placeholder="Leave a review comment..."></textarea>
|
|
</div>
|
|
<div class="review-options">
|
|
<label class="review-option">
|
|
<input type="radio" name="event" value="COMMENT" checked>
|
|
<span>Comment</span>
|
|
</label>
|
|
<label class="review-option">
|
|
<input type="radio" name="event" value="APPROVED">
|
|
<span>Approve</span>
|
|
</label>
|
|
<label class="review-option">
|
|
<input type="radio" name="event" value="REQUEST_CHANGES">
|
|
<span>Request Changes</span>
|
|
</label>
|
|
</div>
|
|
<button type="submit" class="btn btn-primary">Submit Review</button>
|
|
</form>
|
|
</div>
|
|
{{end}}
|