[deploy] Emit frontend bundle as ESM for browser
All checks were successful
Deploy Discord Bot / deploy (push) Successful in 38s

This commit is contained in:
Pascal Prießnitz
2025-12-04 17:06:27 +01:00
parent 18a47c0426
commit 7a296f7b4a
28 changed files with 185 additions and 273 deletions

View File

@@ -1,11 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const api_js_1 = require("../services/api.js");
const store_js_1 = require("../state/store.js");
const navigation_js_1 = require("../ui/navigation.js");
const toast_js_1 = require("../ui/toast.js");
const guildSelect_js_1 = require("../components/guildSelect.js");
const dashboard_js_1 = require("../components/dashboard.js");
import { api } from '../services/api.js';
import { initConfig, setState, getConfig } from '../state/store.js';
import { renderSidebar, initNavigation } from '../ui/navigation.js';
import { showToast } from '../ui/toast.js';
import { initSelectionView } from '../components/guildSelect.js';
import { initDashboardView } from '../components/dashboard.js';
function readConfig() {
const root = document.getElementById('app');
if (!root)
@@ -20,50 +18,50 @@ function readConfig() {
const userLabel = root.dataset.userName
? `${root.dataset.userName}${root.dataset.userDisc ? '#' + root.dataset.userDisc : ''}`
: undefined;
(0, store_js_1.initConfig)({ baseRoot, baseDashboard, baseAuth, baseApi, view, initialGuildId, isAdmin, userLabel });
initConfig({ baseRoot, baseDashboard, baseAuth, baseApi, view, initialGuildId, isAdmin, userLabel });
}
async function ensureAuth() {
try {
const me = await api_js_1.api.me();
const me = await api.me();
if (!me?.user) {
const cfg = (0, store_js_1.getConfig)();
const cfg = getConfig();
window.location.href = (cfg?.baseAuth || '/auth') + '/discord';
return null;
}
const userInfo = document.getElementById('userInfo');
if (userInfo && me.user)
userInfo.textContent = `${me.user.username}#${me.user.discriminator}`;
(0, store_js_1.setState)({ isAdmin: !!me.user?.isAdmin, userLabel: me.user ? `${me.user.username}#${me.user.discriminator}` : undefined });
setState({ isAdmin: !!me.user?.isAdmin, userLabel: me.user ? `${me.user.username}#${me.user.discriminator}` : undefined });
return me;
}
catch (err) {
console.error(err);
(0, toast_js_1.showToast)('Authentifizierung fehlgeschlagen', true);
showToast('Authentifizierung fehlgeschlagen', true);
return null;
}
}
async function bootstrap() {
readConfig();
const cfg = (0, store_js_1.getConfig)();
const cfg = getConfig();
if (!cfg)
return;
const sidebarRoot = document.getElementById('sidebar-root');
if (sidebarRoot)
(0, navigation_js_1.renderSidebar)(sidebarRoot, !!cfg.isAdmin);
renderSidebar(sidebarRoot, !!cfg.isAdmin);
if (cfg.view === 'selection') {
(0, guildSelect_js_1.initSelectionView)();
initSelectionView();
}
else {
await ensureAuth();
(0, dashboard_js_1.initDashboardView)();
(0, navigation_js_1.initNavigation)((section) => {
initDashboardView();
initNavigation((section) => {
// Sections werden innerhalb der jeweiligen Komponenten bedient
if (section === 'admin' && !cfg.isAdmin)
(0, toast_js_1.showToast)('Kein Admin-Recht', true);
showToast('Kein Admin-Recht', true);
});
}
}
bootstrap().catch((err) => {
console.error(err);
(0, toast_js_1.showToast)('Fehler beim Laden', true);
showToast('Fehler beim Laden', true);
});