Add "crawler" role to members (#174)

closes #139
This commit is contained in:
sua yoo 2022-03-02 18:09:10 -08:00 committed by GitHub
parent c888a45d97
commit fe31f551b2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 28 additions and 13 deletions

View File

@ -56,9 +56,13 @@ export class ArchiveInviteForm extends LiteElement {
<sl-radio name="role" value=${AccessCode.owner}> <sl-radio name="role" value=${AccessCode.owner}>
${msg("Admin")} ${msg("Admin")}
<span class="text-gray-500"> <span class="text-gray-500">
- ${msg("Can start & configure crawls and invite others")}</span - ${msg("Can manage crawls and invite others")}</span
> >
</sl-radio> </sl-radio>
<sl-radio name="role" value=${AccessCode.crawler}>
${msg("Crawler")}
<span class="text-gray-500"> - ${msg("Can manage crawls")}</span>
</sl-radio>
<sl-radio name="role" value=${AccessCode.viewer} checked> <sl-radio name="role" value=${AccessCode.viewer} checked>
${msg("Viewer")} ${msg("Viewer")}
<span class="text-gray-500"> - ${msg("Can view crawls")}</span> <span class="text-gray-500"> - ${msg("Can view crawls")}</span>

View File

@ -7,7 +7,7 @@ import type { CurrentUser } from "../../types/user";
import type { ArchiveData } from "../../utils/archives"; import type { ArchiveData } from "../../utils/archives";
import LiteElement, { html } from "../../utils/LiteElement"; import LiteElement, { html } from "../../utils/LiteElement";
import { needLogin } from "../../utils/auth"; import { needLogin } from "../../utils/auth";
import { isOwner } from "../../utils/archives"; import { isOwner, AccessCode } from "../../utils/archives";
import "./crawl-templates-detail"; import "./crawl-templates-detail";
import "./crawl-templates-list"; import "./crawl-templates-list";
import "./crawl-templates-new"; import "./crawl-templates-new";
@ -276,7 +276,7 @@ export class Archive extends LiteElement {
${msg("Name", { desc: "Team member's name" })} ${msg("Name", { desc: "Team member's name" })}
</div> </div>
<div class="px-3 py-2" role="columnheader" aria-sort="none"> <div class="px-3 py-2" role="columnheader" aria-sort="none">
${msg("Roles", { desc: "Team member's roles" })} ${msg("Role", { desc: "Team member's role" })}
</div> </div>
</div> </div>
</div> </div>
@ -289,7 +289,11 @@ export class Archive extends LiteElement {
html`<span class="text-gray-400">${msg("Member")}</span>`} html`<span class="text-gray-400">${msg("Member")}</span>`}
</div> </div>
<div class="p-3" role="cell"> <div class="p-3" role="cell">
${isOwner(role) ? msg("Admin") : msg("Viewer")} ${isOwner(role)
? msg("Admin")
: role === AccessCode.crawler
? msg("Crawler")
: msg("Viewer")}
</div> </div>
</div> </div>
` `
@ -300,16 +304,23 @@ export class Archive extends LiteElement {
private renderAddMember() { private renderAddMember() {
return html` return html`
<sl-button <div class="mb-5">
type="text" <a
href=${`/archives/${this.archiveId}/members`} class="text-neutral-500 hover:text-neutral-600 text-sm font-medium"
@click=${this.navLink} href=${`/archives/${this.archiveId}/members`}
><sl-icon name="arrow-left"></sl-icon> ${msg( @click=${this.navLink}
"Back to members list" >
)}</sl-button <sl-icon
> name="arrow-left"
class="inline-block align-middle"
></sl-icon>
<span class="inline-block align-middle"
>${msg("Back to Members")}</span
>
</a>
</div>
<div class="mt-3 border rounded-lg p-4 md:p-8 md:pt-6"> <div class="border rounded-lg p-4 md:p-8 md:pt-6">
<h2 class="text-lg font-medium mb-4">${msg("Add New Member")}</h2> <h2 class="text-lg font-medium mb-4">${msg("Add New Member")}</h2>
<btrix-archive-invite-form <btrix-archive-invite-form
@success=${this.onInviteSuccess} @success=${this.onInviteSuccess}