This commit is contained in:
Cory McWilliams 2024-05-12 07:48:34 -04:00
parent f669371349
commit 9887a78e98
7 changed files with 82 additions and 40 deletions

View File

@ -42,10 +42,27 @@ window.addEventListener('load', function () {
} else if (description.type === 'textarea') {
return html`
<li class="w3-row">
<label class="w3-quarter" for=${'gs_' + key} style="font-weight: bold">${key}</label>
<label class="w3-quarter" for=${'gs_' + key} style="font-weight: bold"
>${key}</label
>
<div class="w3-rest w3-padding">${description.description}</div>
<textarea class="w3-input" style="vertical-align: top; resize: vertical" id=${'gs_' + key}>${description.value}</textarea>
<button class="w3-button w3-right w3-quarter w3-theme-action" @click=${(e) => global_settings_set(key, e.srcElement.previousElementSibling.value)}>Set</button>
<textarea
class="w3-input"
style="vertical-align: top; resize: vertical"
id=${'gs_' + key}
>
${description.value}</textarea
>
<button
class="w3-button w3-right w3-quarter w3-theme-action"
@click=${(e) =>
global_settings_set(
key,
e.srcElement.previousElementSibling.value
)}
>
Set
</button>
</li>
`;
} else {
@ -61,13 +78,17 @@ window.addEventListener('load', function () {
}
const user_template = (user, permissions) => html`
<li class="w3-card w3-margin">
<button class="w3-button w3-theme-action" @click=${(e) => delete_user(user)}>Delete</button>
<button
class="w3-button w3-theme-action"
@click=${(e) => delete_user(user)}
>
Delete
</button>
${user}: ${permissions.map((x) => permission_template(x))}
</li>
`;
const users_template = (users) =>
html`
<header class="w3-container w3-theme-l2"><h2>Users</h2></header>
html` <header class="w3-container w3-theme-l2"><h2>Users</h2></header>
<ul class="w3-ul">
${Object.entries(users).map((u) => user_template(u[0], u[1]))}
</ul>`;

View File

@ -116,16 +116,18 @@ async function main() {
<div class="w3-card-4 w3-margin">
<header class="w3-container w3-theme-l2"><h2>Identities</h2></header>
<ul class="w3-ul">` +
ids
.map(
(id) => `<li style="overflow: hidden; text-wrap: nowrap; text-overflow: ellipsis">
ids
.map(
(
id
) => `<li style="overflow: hidden; text-wrap: nowrap; text-overflow: ellipsis">
<button onclick="handler.export_id(event)" data-id="${id}" class="w3-button w3-theme">Export Identity</button>
<button onclick="handler.delete_id(event)" data-id="${id}" class="w3-button w3-theme">Delete Identity</button>
${id}
</li>`
)
.join('\n') +
` </ul>
)
.join('\n') +
` </ul>
</div>
</body>`
);

View File

@ -345,14 +345,15 @@ class TfElement extends LitElement {
([k, v]) => html`
<button
title=${v}
class="w3-bar-item w3-padding w3-hover-theme tab ${self.tab ==
v
class="w3-bar-item w3-padding w3-hover-theme tab ${self.tab == v
? 'w3-theme-l2'
: 'w3-theme-l1'}"
@click=${() => self.set_tab(v)}
>
${k}
<span class=${self.tab == v ? '' : 'w3-hide-small'}>${v.charAt(0).toUpperCase() + v.substring(1)}</span>
<span class=${self.tab == v ? '' : 'w3-hide-small'}
>${v.charAt(0).toUpperCase() + v.substring(1)}</span
>
</button>
`
)}
@ -360,10 +361,12 @@ class TfElement extends LitElement {
`;
let contents = !this.loaded
? this.loading
? html`<div class="w3-panel w3-theme-l5 w3-card-4 w3-padding-large w3-round-xlarge">
Loading...
</div>
${this.render_tab()}`
? html`<div
class="w3-panel w3-theme-l5 w3-card-4 w3-padding-large w3-round-xlarge"
>
Loading...
</div>
${this.render_tab()}`
: html`<div>Select or create an identity.</div>`
: this.render_tab();
return html`

View File

@ -295,14 +295,18 @@ class TfComposeElement extends LitElement {
{
values: values,
selectTemplate: function (item) {
return item ? `[@${item.original.key}](${item.original.value})` : undefined;
return item
? `[@${item.original.key}](${item.original.value})`
: undefined;
},
},
{
trigger: '&',
values: this.autocomplete,
selectTemplate: function (item) {
return item ? `![${item.original.key}](${item.original.value})` : undefined;
return item
? `![${item.original.key}](${item.original.value})`
: undefined;
},
},
],
@ -544,7 +548,7 @@ class TfComposeElement extends LitElement {
@paste=${this.paste}
contenteditable
.innerText=${live(draft.text ?? '')}
></span>
></span>
</div>
<div class="w3-half w3-padding">
${content_warning}

View File

@ -247,9 +247,7 @@ ${JSON.stringify(mention, null, 2)}</pre
if (mentions.length) {
let self = this;
return html`
<fieldset
style="padding: 0.5em; border: 1px solid black"
>
<fieldset style="padding: 0.5em; border: 1px solid black">
<legend>Mentions</legend>
${mentions.map((x) => self.render_mention(x))}
</fieldset>

View File

@ -116,9 +116,15 @@ class TfTabConnectionsElement extends LitElement {
${connection.tunnel !== undefined
? '🚇'
: html`(${connection.host}:${connection.port})`}
<div>${connection.requests.map(x => html`
<span class="w3-tag w3-small">${x.request_number > 0 ? '🟩' : '🟥'} ${x.name}</span>
`)}</div>
<div>
${connection.requests.map(
(x) => html`
<span class="w3-tag w3-small"
>${x.request_number > 0 ? '🟩' : '🟥'} ${x.name}</span
>
`
)}
</div>
<ul>
${this.connections
.filter((x) => x.tunnel === this.connections.indexOf(connection))
@ -187,12 +193,16 @@ class TfTabConnectionsElement extends LitElement {
${this.identities.map(
(x) =>
html`<li class="w3-bar">
${x == this.server_identity ?
html`<span class="w3-tag w3-medium w3-round w3-theme-l1">🖥 local server</span>` :
undefined}
${this.my_identities.indexOf(x) != -1 ?
html`<span class="w3-tag w3-medium w3-round w3-theme-d1">😎 you</span>` :
undefined}
${x == this.server_identity
? html`<span class="w3-tag w3-medium w3-round w3-theme-l1"
>🖥 local server</span
>`
: undefined}
${this.my_identities.indexOf(x) != -1
? html`<span class="w3-tag w3-medium w3-round w3-theme-d1"
>😎 you</span
>`
: undefined}
<tf-user id=${x} .users=${this.users}></tf-user>
</li>`
)}

View File

@ -115,13 +115,17 @@ class TfTabNewsElement extends LitElement {
></tf-profile>`
: undefined;
let edit_profile;
if (!this.loading &&
if (
!this.loading &&
this.users[this.whoami]?.name === undefined &&
this.hash.substring(1) != this.whoami) {
edit_profile = html`
<div class="w3-panel w3-padding w3-round w3-card-4 w3-theme-l3">
Follow your identity link above to edit your profile and set your name.
</div>`;
this.hash.substring(1) != this.whoami
) {
edit_profile = html` <div
class="w3-panel w3-padding w3-round w3-card-4 w3-theme-l3"
>
Follow your identity link above to edit your profile and set your
name.
</div>`;
}
return html`
<p class="w3-bar">