@e280/authlocal
Version:
User-sovereign login system for everybody
34 lines (33 loc) • 1.24 kB
JavaScript
import { deep, Thumbprint } from "@e280/stz";
import { html, shadowView } from "@benev/slate";
import stylesCss from "./styles.css.js";
import themeCss from "../../../theme.css.js";
import { manager } from "../../../context.js";
export const Summary = shadowView(use => (identities) => {
use.name("summary");
use.styles([themeCss, stylesCss]);
const existing = new Map(manager.depot.identities.permits.value
.map(permit => [permit.identity.id, permit.identity]));
const overwrites = new Map(identities
.filter(ident => {
const old = existing.get(ident.id);
return old
? !deep.equal(old, ident)
: false;
})
.map(ident => [ident.id, ident]));
return html `
<ul class=identities>
${identities.map(identity => html `
<li x-id="${identity.id}" ?x-overwrite="${overwrites.has(identity.id)}">
<span class=label>${identity.label}</span>
<span class=id>${Thumbprint.sigil.fromHex(identity.id)}</span>
</li>
`)}
</ul>
${overwrites.size > 0 ? html `
<p class=overwrite>${overwrites.size} existing identity ${overwrites.size === 1 ? "label" : "labels"} will be overwritten.</p>
` : null}
`;
});
//# sourceMappingURL=view.js.map