mirror of
https://github.com/hrfee/jfa-go.git
synced 2024-12-22 09:00:10 +00:00
Accounts: Always inline icons, only one settings cog
Admin chip, email edit bot and contact method cog icon are now always inline. Only one cog icon is shown now.
This commit is contained in:
parent
9fac79b1f0
commit
b3ce7acfcb
10
css/base.css
10
css/base.css
@ -30,12 +30,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 750px) {
|
@media screen and (max-width: 1000px) {
|
||||||
:root {
|
:root {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
.table-responsive table {
|
.table-responsive table {
|
||||||
min-width: 660px;
|
min-width: 800px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -428,6 +428,7 @@ p.top {
|
|||||||
|
|
||||||
.table-responsive {
|
.table-responsive {
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
#notification-box {
|
#notification-box {
|
||||||
@ -506,3 +507,8 @@ img.img-circle {
|
|||||||
padding-top: 0.1rem;
|
padding-top: 0.1rem;
|
||||||
padding-bottom: 0.1rem;
|
padding-bottom: 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.table-inline {
|
||||||
|
display: flex !important;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
@ -102,7 +102,9 @@ class user implements User {
|
|||||||
this._notifyEmail = s;
|
this._notifyEmail = s;
|
||||||
if (window.telegramEnabled && this._telegramUsername != "") {
|
if (window.telegramEnabled && this._telegramUsername != "") {
|
||||||
const email = this._telegram.getElementsByClassName("accounts-contact-email")[0] as HTMLInputElement;
|
const email = this._telegram.getElementsByClassName("accounts-contact-email")[0] as HTMLInputElement;
|
||||||
email.checked = s;
|
if (email) {
|
||||||
|
email.checked = s;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (window.discordEnabled && this._discordUsername != "") {
|
if (window.discordEnabled && this._discordUsername != "") {
|
||||||
const email = this._discord.getElementsByClassName("accounts-contact-email")[0] as HTMLInputElement;
|
const email = this._discord.getElementsByClassName("accounts-contact-email")[0] as HTMLInputElement;
|
||||||
@ -120,52 +122,50 @@ class user implements User {
|
|||||||
} else {
|
} else {
|
||||||
let innerHTML = `
|
let innerHTML = `
|
||||||
<a href="https://t.me/${u}" target="_blank">@${u}</a>
|
<a href="https://t.me/${u}" target="_blank">@${u}</a>
|
||||||
<i class="icon ri-settings-2-line ml-half dropdown-button"></i>
|
|
||||||
<div class="dropdown manual">
|
|
||||||
<div class="dropdown-display">
|
|
||||||
<div class="card ~neutral !low">
|
|
||||||
<span class="supra sm">${window.lang.strings("contactThrough")}</span>
|
|
||||||
<label class="switch pb-1 mt-half">
|
|
||||||
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-email">
|
|
||||||
<span>Email</span>
|
|
||||||
</label>
|
|
||||||
<label class="switch pb-1">
|
|
||||||
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-telegram">
|
|
||||||
<span>Telegram</span>
|
|
||||||
</label>
|
|
||||||
`;
|
`;
|
||||||
if (window.discordEnabled && this._discordUsername != "") {
|
if (!window.discordEnabled || this._discordUsername == "") {
|
||||||
innerHTML += `
|
innerHTML += `
|
||||||
<label class="switch pb-1">
|
<div class="table-inline">
|
||||||
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-discord">
|
<i class="icon ri-settings-2-line ml-half dropdown-button"></i>
|
||||||
<span>Discord</span>
|
<div class="dropdown manual">
|
||||||
</label>
|
<div class="dropdown-display">
|
||||||
`;
|
<div class="card ~neutral !low">
|
||||||
}
|
<span class="supra sm">${window.lang.strings("contactThrough")}</span>
|
||||||
innerHTML += `
|
<label class="switch pb-1 mt-half">
|
||||||
|
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-email">
|
||||||
|
<span>Email</span>
|
||||||
|
</label>
|
||||||
|
<label class="switch pb-1">
|
||||||
|
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-telegram">
|
||||||
|
<span>Telegram</span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
`;
|
||||||
`;
|
|
||||||
this._discord.innerHTML = innerHTML;
|
|
||||||
// Javascript is necessary as including the button inside the dropdown would make it too wide to display next to the username.
|
|
||||||
const button = this._telegram.querySelector("i");
|
|
||||||
const dropdown = this._telegram.querySelector("div.dropdown") as HTMLDivElement;
|
|
||||||
const checks = this._telegram.querySelectorAll("input") as NodeListOf<HTMLInputElement>;
|
|
||||||
for (let i = 0; i < checks.length; i++) {
|
|
||||||
checks[i].onclick = () => this._setNotifyMethod("telegram");
|
|
||||||
}
|
}
|
||||||
|
this._telegram.innerHTML = innerHTML;
|
||||||
button.onclick = () => {
|
if (!window.discordEnabled || this._discordUsername == "") {
|
||||||
dropdown.classList.add("selected");
|
// Javascript is necessary as including the button inside the dropdown would make it too wide to display next to the username.
|
||||||
document.addEventListener("click", outerClickListener);
|
const button = this._telegram.querySelector("i");
|
||||||
};
|
const dropdown = this._telegram.querySelector("div.dropdown") as HTMLDivElement;
|
||||||
const outerClickListener = (event: Event) => {
|
const checks = this._telegram.querySelectorAll("input") as NodeListOf<HTMLInputElement>;
|
||||||
if (!(event.target instanceof HTMLElement && (this._telegram.contains(event.target) || button.contains(event.target)))) {
|
for (let i = 0; i < checks.length; i++) {
|
||||||
dropdown.classList.remove("selected");
|
checks[i].onclick = () => this._setNotifyMethod("telegram");
|
||||||
document.removeEventListener("click", outerClickListener);
|
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
button.onclick = () => {
|
||||||
|
dropdown.classList.add("selected");
|
||||||
|
document.addEventListener("click", outerClickListener);
|
||||||
|
};
|
||||||
|
const outerClickListener = (event: Event) => {
|
||||||
|
if (!(event.target instanceof HTMLElement && (this._telegram.contains(event.target) || button.contains(event.target)))) {
|
||||||
|
dropdown.classList.remove("selected");
|
||||||
|
document.removeEventListener("click", outerClickListener);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -174,7 +174,9 @@ class user implements User {
|
|||||||
if (!window.telegramEnabled || !this._telegramUsername) return;
|
if (!window.telegramEnabled || !this._telegramUsername) return;
|
||||||
this._notifyTelegram = s;
|
this._notifyTelegram = s;
|
||||||
const telegram = this._telegram.getElementsByClassName("accounts-contact-telegram")[0] as HTMLInputElement;
|
const telegram = this._telegram.getElementsByClassName("accounts-contact-telegram")[0] as HTMLInputElement;
|
||||||
telegram.checked = s;
|
if (telegram) {
|
||||||
|
telegram.checked = s;
|
||||||
|
}
|
||||||
if (window.discordEnabled && this._discordUsername != "") {
|
if (window.discordEnabled && this._discordUsername != "") {
|
||||||
const telegram = this._discord.getElementsByClassName("accounts-contact-telegram")[0] as HTMLInputElement;
|
const telegram = this._discord.getElementsByClassName("accounts-contact-telegram")[0] as HTMLInputElement;
|
||||||
telegram.checked = s;
|
telegram.checked = s;
|
||||||
@ -227,30 +229,32 @@ class user implements User {
|
|||||||
(this._discord.querySelector("span") as HTMLSpanElement).onclick = this._addDiscord;
|
(this._discord.querySelector("span") as HTMLSpanElement).onclick = this._addDiscord;
|
||||||
} else {
|
} else {
|
||||||
let innerHTML = `
|
let innerHTML = `
|
||||||
<a href="https://discord.com/users/${this._discordID}" class="discord-link" target="_blank">${u}</a>
|
<div class="table-inline">
|
||||||
<i class="icon ri-settings-2-line ml-half dropdown-button"></i>
|
<a href="https://discord.com/users/${this._discordID}" class="discord-link" target="_blank">${u}</a>
|
||||||
<div class="dropdown manual">
|
<i class="icon ri-settings-2-line ml-half dropdown-button"></i>
|
||||||
<div class="dropdown-display">
|
<div class="dropdown manual">
|
||||||
<div class="card ~neutral !low">
|
<div class="dropdown-display">
|
||||||
<span class="supra sm">${window.lang.strings("contactThrough")}</span>
|
<div class="card ~neutral !low">
|
||||||
<label class="switch pb-1 mt-half">
|
<span class="supra sm">${window.lang.strings("contactThrough")}</span>
|
||||||
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-email">
|
<label class="switch pb-1 mt-half">
|
||||||
<span>Email</span>
|
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-email">
|
||||||
</label>
|
<span>Email</span>
|
||||||
<label class="switch pb-1">
|
</label>
|
||||||
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-discord">
|
<label class="switch pb-1">
|
||||||
<span>Discord</span>
|
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-discord">
|
||||||
</label>
|
<span>Discord</span>
|
||||||
|
</label>
|
||||||
`;
|
`;
|
||||||
if (window.telegramEnabled && this._telegramUsername != "") {
|
if (window.telegramEnabled && this._telegramUsername != "") {
|
||||||
innerHTML += `
|
innerHTML += `
|
||||||
<label class="switch pb-1">
|
<label class="switch pb-1">
|
||||||
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-telegram">
|
<input type="checkbox" name="accounts-contact-${this.id}" class="accounts-contact-telegram">
|
||||||
<span>Telegram</span>
|
<span>Telegram</span>
|
||||||
</label>
|
</label>
|
||||||
`;
|
`;
|
||||||
}
|
}
|
||||||
innerHTML += `
|
innerHTML += `
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -323,8 +327,8 @@ class user implements User {
|
|||||||
this._row = document.createElement("tr") as HTMLTableRowElement;
|
this._row = document.createElement("tr") as HTMLTableRowElement;
|
||||||
let innerHTML = `
|
let innerHTML = `
|
||||||
<td><input type="checkbox" value=""></td>
|
<td><input type="checkbox" value=""></td>
|
||||||
<td><span class="accounts-username"></span> <span class="accounts-admin"></span> <span class="accounts-disabled"></span></td>
|
<td><div class="table-inline"><span class="accounts-username"></span> <span class="accounts-admin"></span> <span class="accounts-disabled"></span></span></td>
|
||||||
<td><i class="icon ri-edit-line accounts-email-edit"></i><span class="accounts-email-container ml-half"></span></td>
|
<td><div class="table-inline"><i class="icon ri-edit-line accounts-email-edit"></i><span class="accounts-email-container ml-half"></span></div></td>
|
||||||
`;
|
`;
|
||||||
if (window.telegramEnabled) {
|
if (window.telegramEnabled) {
|
||||||
innerHTML += `
|
innerHTML += `
|
||||||
|
Loading…
Reference in New Issue
Block a user