license and some functions
This commit is contained in:
+39
-1
@@ -1,3 +1,12 @@
|
||||
/*
|
||||
* Copyright (C) 2026 Mateusz Gruszczyński @linuxiarz.pl
|
||||
* Source-Available Code / Dual-Licensed.
|
||||
*
|
||||
* Free for non-commercial and evaluation use under terms of BSL/GPLv3.
|
||||
* Commercial or production use requires a valid paid license.
|
||||
* See LICENSE file in repository root for details.
|
||||
*/
|
||||
|
||||
import { installGlobalDiagnostics, logInfo } from "@rustpad/logger";
|
||||
installGlobalDiagnostics();
|
||||
|
||||
@@ -89,6 +98,8 @@ const identityDialog = document.querySelector("#identity-dialog");
|
||||
const guestAccount = document.querySelector("#footer-account-guest");
|
||||
const userAccount = document.querySelector("#footer-account-user");
|
||||
const userLabel = document.querySelector("#footer-user-label");
|
||||
const userLabelPrimary = userLabel?.querySelector("[data-account-primary]");
|
||||
const userLabelSecondary = userLabel?.querySelector("[data-account-secondary]");
|
||||
const registerLink = document.querySelector("#footer-register");
|
||||
const registrationEnabled = document.body.dataset.registrationEnabled === "true";
|
||||
const resourcesDialog = document.querySelector("#resources-dialog");
|
||||
@@ -251,7 +262,34 @@ function renderAccount(session) {
|
||||
currentSession = session;
|
||||
guestAccount.hidden = Boolean(session);
|
||||
userAccount.hidden = !session;
|
||||
if (session) userLabel.textContent = `Signed in as ${session.nickname}`;
|
||||
if (session) {
|
||||
const nickname = String(session.nickname || "").trim();
|
||||
let primaryIdentity = String(session.email || nickname).trim();
|
||||
let secondaryIdentity = nickname;
|
||||
|
||||
if (session.directory_managed) {
|
||||
const organization = String(session.directory_organization || "").trim();
|
||||
const displayName = String(session.directory_display_name || session.email || nickname).trim();
|
||||
primaryIdentity = organization ? `${organization}\\${displayName}` : displayName;
|
||||
const suggestedNickname = String(session.suggested_nickname || "").trim();
|
||||
secondaryIdentity = nickname && suggestedNickname
|
||||
&& nickname.toLowerCase() !== suggestedNickname.toLowerCase()
|
||||
? nickname
|
||||
: "";
|
||||
}
|
||||
|
||||
userLabelPrimary.textContent = `Signed as ${primaryIdentity}`;
|
||||
userLabelPrimary.title = `Signed as ${primaryIdentity}`;
|
||||
userLabelSecondary.textContent = secondaryIdentity;
|
||||
userLabelSecondary.title = secondaryIdentity;
|
||||
userLabelSecondary.hidden = !secondaryIdentity;
|
||||
} else if (userLabelPrimary && userLabelSecondary) {
|
||||
userLabelPrimary.textContent = "";
|
||||
userLabelPrimary.removeAttribute("title");
|
||||
userLabelSecondary.textContent = "";
|
||||
userLabelSecondary.removeAttribute("title");
|
||||
userLabelSecondary.hidden = true;
|
||||
}
|
||||
registerLink.hidden = !registrationEnabled;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user