68 lines
5.1 KiB
Cheetah
68 lines
5.1 KiB
Cheetah
{{define "dashboard"}}
|
|
<div class="sg-container">
|
|
<h1 style="font-size: 2.5rem; font-weight: 700;">{{.T.dossiers}}</h1>
|
|
<p class="intro" style="font-size: 1.15rem; font-weight: 300; line-height: 1.8;">{{.T.dossiers_intro}}</p>
|
|
|
|
<div class="profiles-grid" style="grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));">
|
|
<!-- Self dossier -->
|
|
<div class="card sg-profile-card" style="position: relative;">
|
|
<a href="/dossier/{{.Dossier.DossierID}}/edit" class="edit-link" title="{{.T.edit}}" style="position: absolute; top: 16px; right: 16px; color: var(--text-muted); text-decoration: none; padding: 4px;">✎</a>
|
|
<a href="/dossier/{{.Dossier.DossierID}}" style="text-decoration: none; color: inherit; display: contents;">
|
|
<h3>{{.Dossier.Name}}</h3>
|
|
<p class="card-meta">{{.T.you}}</p>
|
|
<p class="sg-profile-dob">{{printf "%.10s" .Dossier.DateOfBirth}}{{if .Dossier.Sex}} · {{sexT .Dossier.Sex .Lang}}{{end}}</p>
|
|
<div class="sg-profile-stats">
|
|
{{if or .SelfStats.Imaging .SelfStats.Labs .SelfStats.Genome .SelfStats.Documents .SelfStats.Vitals .SelfStats.Medications .SelfStats.Supplements}}
|
|
{{if .SelfStats.Imaging}}<span class="sg-profile-stat">📷 {{.SelfStats.Imaging}} {{if eq .SelfStats.Imaging 1}}study{{else}}studies{{end}}</span>{{end}}
|
|
{{if .SelfStats.Labs}}<span class="sg-profile-stat">🧪 {{.SelfStats.Labs}} {{if eq .SelfStats.Labs 1}}lab{{else}}labs{{end}}</span>{{end}}
|
|
{{if .SelfStats.Genome}}<span class="sg-profile-stat">🧬 genome</span>{{end}}
|
|
{{if .SelfStats.Documents}}<span class="sg-profile-stat">📄 {{.SelfStats.Documents}} {{if eq .SelfStats.Documents 1}}doc{{else}}docs{{end}}</span>{{end}}
|
|
{{if .SelfStats.Vitals}}<span class="sg-profile-stat">❤️ {{.SelfStats.Vitals}} vitals</span>{{end}}
|
|
{{if .SelfStats.Medications}}<span class="sg-profile-stat">💊 {{.SelfStats.Medications}} meds</span>{{end}}
|
|
{{if .SelfStats.Supplements}}<span class="sg-profile-stat">🌿 {{.SelfStats.Supplements}} supps</span>{{end}}
|
|
{{else}}
|
|
<span class="sg-profile-stat" style="color: var(--text-muted);">No data yet</span>
|
|
{{end}}
|
|
</div>
|
|
<span class="btn btn-primary btn-small" style="margin-top: auto; align-self: flex-start;">{{.T.view}}</span>
|
|
</a>
|
|
</div>
|
|
|
|
<!-- Accessible dossiers -->
|
|
{{range .AccessibleDossiers}}
|
|
<div class="card sg-profile-card" style="position: relative;">
|
|
{{if .CanEdit}}<a href="/dossier/{{.DossierID}}/edit" class="edit-link" title="{{$.T.edit}}" style="position: absolute; top: 16px; right: 16px; color: var(--text-muted); text-decoration: none; padding: 4px;">✎</a>{{end}}
|
|
{{if eq .RelationInt 99}}<form method="POST" action="/dossier/{{.DossierID}}/revoke" style="position: absolute; top: 16px; right: 16px; margin: 0;" onsubmit="return confirm('Remove demo dossier from your list?')"><input type="hidden" name="accessor_id" value="{{$.Dossier.DossierID}}"><button type="submit" class="edit-link" title="{{$.T.remove}}" style="background: none; border: none; color: var(--text-muted); cursor: pointer; padding: 4px;">✕</button></form>{{end}}
|
|
<a href="/dossier/{{.DossierID}}" style="text-decoration: none; color: inherit; display: contents;">
|
|
<h3>{{.Name}}</h3>
|
|
<p class="card-meta">{{if eq .RelationInt 99}}{{$.T.role}}: {{.Relation}}{{else}}{{$.T.my_role}}: {{.Relation}}{{if .IsCareReceiver}} · <span class="badge badge-care">{{$.T.care}}</span>{{end}}{{end}}</p>
|
|
<p class="sg-profile-dob">{{printf "%.10s" .DateOfBirth}}</p>
|
|
<div class="sg-profile-stats">
|
|
{{if or .Stats.Imaging .Stats.Labs .Stats.Genome .Stats.Documents .Stats.Vitals .Stats.Medications .Stats.Supplements}}
|
|
{{if .Stats.Imaging}}<span class="sg-profile-stat">📷 {{.Stats.Imaging}} {{if eq .Stats.Imaging 1}}study{{else}}studies{{end}}</span>{{end}}
|
|
{{if .Stats.Labs}}<span class="sg-profile-stat">🧪 {{.Stats.Labs}} {{if eq .Stats.Labs 1}}lab{{else}}labs{{end}}</span>{{end}}
|
|
{{if .Stats.Genome}}<span class="sg-profile-stat">🧬 genome</span>{{end}}
|
|
{{if .Stats.Documents}}<span class="sg-profile-stat">📄 {{.Stats.Documents}} {{if eq .Stats.Documents 1}}doc{{else}}docs{{end}}</span>{{end}}
|
|
{{if .Stats.Vitals}}<span class="sg-profile-stat">❤️ {{.Stats.Vitals}} vitals</span>{{end}}
|
|
{{if .Stats.Medications}}<span class="sg-profile-stat">💊 {{.Stats.Medications}} meds</span>{{end}}
|
|
{{if .Stats.Supplements}}<span class="sg-profile-stat">🌿 {{.Stats.Supplements}} supps</span>{{end}}
|
|
{{else}}
|
|
<span class="sg-profile-stat" style="color: var(--text-muted);">No data yet</span>
|
|
{{end}}
|
|
</div>
|
|
<span class="btn btn-primary btn-small" style="margin-top: auto; align-self: flex-start;">{{$.T.view}}</span>
|
|
</a>
|
|
</div>
|
|
{{end}}
|
|
|
|
<!-- Add dossier card -->
|
|
<a href="/dossier/add" class="card card-add" style="min-height: 140px;">
|
|
<span class="plus">+</span>
|
|
<span>{{.T.add_dossier}}</span>
|
|
</a>
|
|
</div>
|
|
|
|
{{template "footer"}}
|
|
</div>
|
|
{{end}}
|