123 lines
4.6 KiB
HTML
123 lines
4.6 KiB
HTML
{{ define "subscription" }}
|
|
{{ template "header" .}}
|
|
<section class="section">
|
|
{{ if not .Data.ShowManage }}
|
|
<h2>{{ L.T "public.unsubTitle" }}</h2>
|
|
<form method="post">
|
|
<div>
|
|
{{ if .Data.AllowBlocklist }}
|
|
<p>{{ L.T "public.unsubHelp" }}</p>
|
|
<p>
|
|
<input id="privacy-blocklist" type="checkbox" name="blocklist" value="true" />
|
|
<label for="privacy-blocklist">{{ L.T "public.unsubFull" }}</label>
|
|
</p>
|
|
{{ end }}
|
|
|
|
<p>
|
|
<button type="submit" class="button" id="btn-unsub">{{ L.T "public.unsub" }}</button>
|
|
</p>
|
|
|
|
{{ if .Data.AllowPreferences }}
|
|
<a href="?manage=true">{{ L.T "public.managePrefs" }}</a>
|
|
{{ end }}
|
|
</div>
|
|
</form>
|
|
{{ else }}
|
|
<form method="post">
|
|
<div>
|
|
<input type="hidden" name="manage" value="true" />
|
|
|
|
<h2>{{ L.T "public.managePrefs" }}</h2>
|
|
<label>{{ L.T "globals.fields.name" }}</label>
|
|
<input type="text" name="name" value="{{ .Data.Subscriber.Name }}" maxlength="256" required />
|
|
|
|
{{ if .Data.Subscriptions }}
|
|
<br /><br />
|
|
<h3>{{ L.T "public.managePrefsUnsub" }}</h3>
|
|
<ul class="lists">
|
|
{{ range $i, $l := .Data.Subscriptions }}
|
|
{{ if ne $l.SubscriptionStatus.Value "unsubscribed" }}
|
|
<li>
|
|
<input id="l-{{ $l.UUID}}" type="checkbox" name="l" value="{{ $l.UUID }}" checked />
|
|
<label for="l-{{ $l.UUID}}">{{ $l.Name }}</label>
|
|
</li>
|
|
{{ end }}
|
|
{{ end }}
|
|
</ul>
|
|
{{ end }}
|
|
|
|
{{ if .Data.AllowBlocklist }}
|
|
<p>
|
|
<input id="privacy-blocklist" type="checkbox" name="blocklist" value="true" onchange="unsubAll(event)" />
|
|
<label for="privacy-blocklist">{{ L.T "public.unsubFull" }}</label>
|
|
</p>
|
|
{{ end }}
|
|
|
|
<p>
|
|
<button type="submit" class="button" id="btn-unsub">{{ L.T "globals.buttons.save" }}</button>
|
|
</p>
|
|
</div>
|
|
</form>
|
|
{{ end }}
|
|
</section>
|
|
|
|
{{ if or .Data.AllowExport .Data.AllowWipe }}
|
|
<form id="data-form" method="post" action="" onsubmit="return handleData()">
|
|
<section>
|
|
<h2>{{ L.T "public.privacyTitle" }}</h2>
|
|
{{ if .Data.AllowExport }}
|
|
<div class="row">
|
|
<input id="privacy-export" type="radio" name="data-action" value="export" required />
|
|
<label for="privacy-export"><strong>{{ L.T "public.privacyExport" }}</strong></label>
|
|
<br />
|
|
{{ L.T "public.privacyExportHelp" }}
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ if .Data.AllowWipe }}
|
|
<div class="row">
|
|
<input id="privacy-wipe" type="radio" name="data-action" value="wipe" required />
|
|
<label for="privacy-wipe"><strong>{{ L.T "public.privacyWipe" }}</strong></label>
|
|
<br />
|
|
{{ L.T "public.privacyWipeHelp" }}
|
|
</div>
|
|
{{ end }}
|
|
<p>
|
|
<input type="submit" value="{{ L.T "globals.buttons.continue" }}" class="button button-outline" />
|
|
</p>
|
|
</section>
|
|
</form>
|
|
<script>
|
|
function handleData() {
|
|
var a = document.querySelector('input[name="data-action"]:checked').value,
|
|
f = document.querySelector("#data-form");
|
|
if (a == "export") {
|
|
f.action = "/subscription/export/{{ .Data.SubUUID }}";
|
|
return true;
|
|
} else if (confirm("{{ L.T "public.privacyConfirmWipe" }}")) {
|
|
f.action = "/subscription/wipe/{{ .Data.SubUUID }}";
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|
|
function unsubAll(e) {
|
|
if (e.target.checked) {
|
|
document.querySelector("input[name=name]").disabled = "disabled";
|
|
} else {
|
|
document.querySelector("input[name=name]").removeAttribute("disabled");
|
|
}
|
|
|
|
document.querySelectorAll('input[type=checkbox][name=l]').forEach(function(l) {
|
|
if (e.target.checked) {
|
|
l.disabled = "disabled";
|
|
} else {
|
|
l.removeAttribute("disabled");
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
{{ end }}
|
|
|
|
{{ template "footer" .}}
|
|
{{ end }} |