166 lines
7.3 KiB
HTML
166 lines
7.3 KiB
HTML
{{define "title"}}Private Photos{{end}}
|
|
{{define "content"}}
|
|
<div class="container">
|
|
{{$Root := .}}
|
|
<section class="hero is-private is-bold">
|
|
<div class="hero-body">
|
|
<div class="container">
|
|
<h1 class="title has-text-light">
|
|
<i class="fa fa-eye mr-2"></i>
|
|
Private Photos
|
|
</h1>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<div class="p-4 is-text-centered">
|
|
<div class="level">
|
|
<div class="level-item">
|
|
<div class="tabs is-toggle">
|
|
<ul>
|
|
<li{{if not .IsGrantee}} class="is-active"{{end}}>
|
|
<a href="/photo/private">My Shares</a>
|
|
</li>
|
|
<li{{if .IsGrantee}} class="is-active"{{end}}>
|
|
<a href="/photo/private?view=grantee">
|
|
Shared With Me
|
|
{{if .CountGrantee}}
|
|
<span class="tag is-grey ml-2">{{.CountGrantee}}</span>
|
|
{{end}}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="p-4">
|
|
|
|
<div class="block">
|
|
{{if .IsGrantee}}
|
|
{{.Pager.Total}} member{{Pluralize64 .Pager.Total}}
|
|
{{Pluralize64 .Pager.Total "has" "have"}}
|
|
granted you access to see their private photos
|
|
{{else}}
|
|
You have granted access to {{.Pager.Total}} member{{Pluralize64 .Pager.Total}}
|
|
to see your private photos
|
|
{{end}}
|
|
|
|
(page {{.Pager.Page}} of {{.Pager.Pages}}).
|
|
</div>
|
|
|
|
{{if not .IsGrantee}}
|
|
<div class="columns is-gapless is-centered">
|
|
<div class="column is-narrow mx-1 my-2">
|
|
<a href="/photo/private/share" class="button is-primary is-outlined is-fullwidth">
|
|
<span class="icon"><i class="fa fa-plus"></i></span>
|
|
<span>Add new share</span>
|
|
</a>
|
|
</div>
|
|
<div class="column is-narrow mx-1 my-2">
|
|
<a href="/photo/private/share?intent=revoke-all" class="button is-danger is-outlined is-fullwidth"
|
|
onclick="return confirm('Are you sure you want to lock your Private Photos from ALL users?')">
|
|
<span class="icon"><i class="fa fa-lock"></i></span>
|
|
<span>Revoke ALL Shares</span>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
|
|
<div class="block">
|
|
{{SimplePager .Pager}}
|
|
</div>
|
|
|
|
<div class="columns is-multiline">
|
|
|
|
{{range .Users}}
|
|
<div class="column is-half-tablet is-one-third-desktop">
|
|
|
|
<form action="/photo/private/share" method="POST">
|
|
{{InputCSRF}}
|
|
<input type="hidden" name="to" value="{{.Username}}">
|
|
|
|
<div class="card">
|
|
<div class="card-content">
|
|
<div class="media block">
|
|
<div class="media-left">
|
|
{{template "avatar-64x64" .}}
|
|
</div>
|
|
<div class="media-content">
|
|
<p class="title is-4">
|
|
<a href="/u/{{.Username}}" class="has-text-dark">{{.NameOrUsername}}</a>
|
|
</p>
|
|
<p class="subtitle is-6 mb-1">
|
|
<span class="icon"><i class="fa fa-user"></i></span>
|
|
<a href="/u/{{.Username}}">{{.Username}}</a>
|
|
{{if not .Certified}}
|
|
<span class="has-text-danger">
|
|
<span class="icon"><i class="fa fa-certificate"></i></span>
|
|
<span>Not Certified!</span>
|
|
</span>
|
|
{{end}}
|
|
|
|
{{if .IsAdmin}}
|
|
<span class="has-text-danger">
|
|
<span class="icon"><i class="fa fa-peace"></i></span>
|
|
<span>Admin</span>
|
|
</span>
|
|
{{end}}
|
|
</p>
|
|
|
|
<!-- Indicator if they are sharing back -->
|
|
{{if not $Root.IsGrantee}}
|
|
<!-- "My Shares" tab - GranteeMap is whether they granted me back -->
|
|
<div>
|
|
{{if $Root.GranteeMap.Get .ID}}
|
|
<span class="has-text-success">
|
|
<i class="fa fa-check mr-1"></i>
|
|
Sharing with me
|
|
</span>
|
|
{{else}}
|
|
<span class="has-text-danger">
|
|
<i class="fa fa-xmark mr-1"></i>
|
|
Not sharing with me
|
|
</span>
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
<!-- "Shared With Me" tab - GranteeMap is whether I granted them -->
|
|
<div>
|
|
{{if $Root.GranteeMap.Get .ID}}
|
|
<span class="has-text-success">
|
|
<i class="fa fa-check mr-1"></i>
|
|
I share with them
|
|
</span>
|
|
{{else}}
|
|
<span class="has-text-danger">
|
|
<i class="fa fa-xmark mr-1"></i>
|
|
I do not share with them
|
|
</span>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{if not $Root.IsGrantee}}
|
|
<footer class="card-footer">
|
|
<button type="submit" name="intent" value="revoke" class="card-footer-item button is-danger is-outlined"
|
|
onclick="return confirm('Are you sure you want to revoke private photo access to this user?')">
|
|
<span class="icon"><i class="fa fa-xmark"></i></span>
|
|
<span>Revoke Access</span>
|
|
</button>
|
|
</footer>
|
|
{{end}}
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
{{end}}<!-- range .Friends -->
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
{{end}}
|