license and some functions

This commit is contained in:
Mateusz Gruszczyński
2026-07-29 14:03:46 +02:00
parent 0655cfe48c
commit ef8dfc67c1
56 changed files with 2586 additions and 547 deletions
+39 -1
View File
@@ -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;
}