UNPKG

solid-panes

Version:

Solid-compatible Panes: applets and views for the mashlib and databrowser

73 lines (72 loc) 2.42 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = exports.dashboardPane = void 0; var _solidUi = require("solid-ui"); var _solidLogic = require("solid-logic"); var _homepage = require("./homepage"); var dashboardPane = exports.dashboardPane = { icon: _solidUi.icons.iconBase + 'noun_547570.svg', name: 'dashboard', label: function label(subject) { console.log(); if (subject.uri === subject.site().uri) { return 'Dashboard'; } return null; }, render: function render(subject, context) { console.log('Dashboard Pane Render'); var dom = context.dom; var container = dom.createElement('div'); var runBuildPage = function runBuildPage() { container.innerHTML = ''; buildPage(container, _solidLogic.authn.currentUser() || null, context, subject); }; _solidLogic.authSession.onLogin(function () { // console.log('On Login') runBuildPage(); }); _solidLogic.authSession.onSessionRestore(function () { // console.log('On Session Restore') runBuildPage(); }); // console.log('Initial Load') runBuildPage(); return container; } }; function buildPage(container, webId, context, subject) { // if uri then SolidOS is a browse.html web app var uri = new URL(window.location.href).searchParams.get('uri'); if (webId && (uri || webId.site().uri === subject.site().uri)) { return buildDashboard(container, context); } return buildHomePage(container, subject); } function buildDashboard(container, context) { // console.log('build dashboard') // @@ TODO get a proper type var outliner = context.getOutliner(context.dom); outliner.getDashboard().then(function (dashboard) { return container.appendChild(dashboard); }); } function buildHomePage(container, subject) { // console.log('build home page') var wrapper = document.createElement('div'); container.appendChild(wrapper); var shadow = wrapper.attachShadow({ mode: 'open' }); var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = '/common/css/bootstrap.min.css'; shadow.appendChild(link); (0, _homepage.generateHomepage)(subject, _solidLogic.store, _solidLogic.store.fetcher).then(function (homepage) { return shadow.appendChild(homepage); }); } var _default = exports["default"] = dashboardPane; //# sourceMappingURL=dashboardPane.js.map