8b6950f88b
Add RenderMarkdown method to gitea client that calls POST /api/v1/markdown to convert raw markdown text to safe HTML. Wire it into IssueDetail and PullDetail handlers to render body content as formatted markdown. Falls back gracefully to plain text if the API call fails. Templates updated to use RenderedBody (template.HTML) with fallback to raw Issue.Body/Pull.Body when rendering fails. Closes leeworks-agents/gitea-mobile#35 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
46 lines
1.3 KiB
HTML
46 lines
1.3 KiB
HTML
{{define "content"}}
|
|
<h1>{{.Issue.Title}}</h1>
|
|
|
|
<div class="card">
|
|
<div class="card-meta">
|
|
<span class="state-open">{{.Issue.State}}</span>
|
|
<span>{{.Issue.RepoOwner}}/{{.Issue.RepoName}} #{{.Issue.Number}}</span>
|
|
{{range .Issue.Labels}}
|
|
<span class="label" style="color:#{{.Color}};border:1px solid #{{.Color}}">{{.Name}}</span>
|
|
{{end}}
|
|
</div>
|
|
{{if .RenderedBody}}
|
|
<div class="card-body markdown-body">{{.RenderedBody}}</div>
|
|
{{else if .Issue.Body}}
|
|
<div class="card-body">{{.Issue.Body}}</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
{{if .Comments}}
|
|
<h2>Comments</h2>
|
|
{{range .Comments}}
|
|
<div class="comment">
|
|
<div class="comment-header">
|
|
<strong>{{.User}}</strong>
|
|
<span>{{.CreatedAt}}</span>
|
|
</div>
|
|
<div class="comment-body">{{.Body}}</div>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
|
|
<div class="card" style="margin-top:1rem;">
|
|
<h2>Actions</h2>
|
|
<form hx-post="/issues/{{.Issue.RepoOwner}}/{{.Issue.RepoName}}/{{.Issue.Number}}/labels" hx-swap="outerHTML" style="margin-bottom:0.5rem;">
|
|
<div class="filter-bar" style="margin-bottom:0.5rem;">
|
|
<select name="label_id">
|
|
{{range .AvailableLabels}}
|
|
<option value="{{.ID}}">{{.Name}}</option>
|
|
{{end}}
|
|
</select>
|
|
<button type="submit" class="btn btn-secondary" style="width:auto;padding:0.5rem 1rem;">Apply Label</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
{{end}}
|