diff --git a/.env.example b/.env.example index 8acb284..b39f17d 100644 --- a/.env.example +++ b/.env.example @@ -20,6 +20,8 @@ AUTHENTIK_TOKEN= EDITOR_GROUPS=HI-Admin,HI-Leitung # Domains, von denen die Kopfleiste geladen werden darf / auf die nach Login zurückgeleitet wird ALLOWED_DOMAINS=handy-insel.de +# Apps in neuem Tab öffnen (Standard: true) +# OPEN_APPS_IN_NEW_TAB=true # Optional: Kachel-Reihenfolge (Slugs) und ausgeblendete Apps # APP_ORDER=preisliste,vvl,zeiterfassung,timer,kundenkarte,datenuebertragungen,service,paperless,patch-mon # HIDDEN_APPS=portal diff --git a/frontend/index.html b/frontend/index.html index 4099128..98d0056 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -5,7 +5,7 @@ - + Handy-Insel Portal diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 9030cd3..5f15083 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -70,7 +70,7 @@ function Header({ user, links }: { user: User; links: Links }) {
- + Handy-Insel diff --git a/public/favicon.png b/public/favicon.png index 510966f..8a7aa71 100644 Binary files a/public/favicon.png and b/public/favicon.png differ diff --git a/public/icon-192.png b/public/icon-192.png index 3aebbf5..eb454bd 100644 Binary files a/public/icon-192.png and b/public/icon-192.png differ diff --git a/public/insel-logo.png b/public/insel-logo.png new file mode 100644 index 0000000..eb454bd Binary files /dev/null and b/public/insel-logo.png differ diff --git a/server/src/authentik.ts b/server/src/authentik.ts index ccd896a..3f26e94 100644 --- a/server/src/authentik.ts +++ b/server/src/authentik.ts @@ -90,7 +90,7 @@ export async function appsForUser(user: PortalUser): Promise { description: app.meta_description || '', section: app.group || 'Anwendungen', iconUrl: iconFor(app), - newTab: app.open_in_new_tab, + newTab: config.openAppsInNewTab || app.open_in_new_tab, })), ); cache.set(pk, { at: Date.now(), apps }); diff --git a/server/src/config.ts b/server/src/config.ts index a1dcc3d..d0d4c95 100644 --- a/server/src/config.ts +++ b/server/src/config.ts @@ -39,6 +39,8 @@ export const config = { editorGroups: list('EDITOR_GROUPS', 'HI-Admin,HI-Leitung'), /** Apps, die nie angezeigt werden (Slugs), z.B. das Portal selbst. */ hiddenApps: list('HIDDEN_APPS', 'portal'), + /** Apps immer in neuem Tab öffnen (sonst nur, wenn in Authentik "In neuem Tab öffnen" gesetzt ist). */ + openAppsInNewTab: env('OPEN_APPS_IN_NEW_TAB', 'true') !== 'false', /** Reihenfolge der Kacheln (Slugs); nicht genannte Apps folgen alphabetisch. */ appOrder: list( 'APP_ORDER', diff --git a/topbar/src/topbar.ts b/topbar/src/topbar.ts index 6d6011c..de17494 100644 --- a/topbar/src/topbar.ts +++ b/topbar/src/topbar.ts @@ -208,7 +208,7 @@ class HiTopbar extends HTMLElement { this.root.innerHTML = `