Verified Commit 519242c3 authored by Jakob Moser's avatar Jakob Moser
Browse files

Migrate portal page to reuse components

parent 5678d1ed
Loading
Loading
Loading
Loading
Loading
+28 −26
Changes for js/components/pages/Portal.mjs: 28 added lines, 26 removed lines.
Original line number Diff line number Diff line
@@ -14,32 +14,34 @@ export const Portal = {
                    icon: "fa-solid fa-phone-volume",
                    label: "Meeting",
                }),
                m.trust(
                    `
                <div class="tool">
                    <a class="box btn" target="_blank" href="https://fachschaft.cl.uni-heidelberg.de/tickets"><i class="fa-regular fa-envelope"></i> Tickets</a>
                    <span class="detail"><i class="fa-regular fa-user"></i> CL-Account</span>
                    <span class="detail"><i class="fa-solid fa-lock"></i> Freischaltung nötig</span>
                </div>
        
                <div class="tool">
                    <a class="box btn" target="_blank" href="https://fachschaft.cl.uni-heidelberg.de/todo"><i class="fa-solid fa-list-check"></i> Todo</a>
                    <span class="detail"><i class="fa-regular fa-user"></i> CL-Account</span>
                    <span class="detail"><i class="fa-solid fa-lock"></i> Freischaltung nötig</span>
                </div>
        
                <div class="tool">
                    <a class="box btn" target="_blank" href="https://fachschaft.cl.uni-heidelberg.de/docs/Kalender"><i class="fa-regular fa-calendar-days"></i> Kalender</a>
                    <span class="detail"><i class="fa-solid fa-user-plus"></i> Eigener Account</span>
                    <span class="detail"><i class="fa-solid fa-lock"></i> Freischaltung nötig</span>
                </div>
        
                <div class="tool">
                    <a class="box btn" target="_blank" href="https://fachschaft.cl.uni-heidelberg.de/protokolle"><i class="fa-regular fa-note-sticky"></i> Protokolle</a>
                    <span class="detail"><i class="fa-regular fa-user"></i> CL-Account</span>
                    <span class="detail"><i class="fa-solid fa-lock"></i> Freischaltung nötig</span>
                </div>`,
                ),
                m(Service, {
                    href: "https://fachschaft.cl.uni-heidelberg.de/tickets",
                    icon: "fa-regular fa-envelope",
                    label: "Tickets",
                    account: "CL-Account",
                    unlockRequired: true,
                }),
                m(Service, {
                    href: "https://fachschaft.cl.uni-heidelberg.de/todo",
                    icon: "fa-solid fa-list-check",
                    label: "Todo",
                    account: "CL-Account",
                    unlockRequired: true,
                }),
                m(Service, {
                    href: "https://fachschaft.cl.uni-heidelberg.de/docs/Kalender",
                    icon: "fa-regular fa-calendar-days",
                    label: "Kalender",
                    account: "Eigener Account",
                    unlockRequired: true,
                }),
                m(Service, {
                    href: "https://fachschaft.cl.uni-heidelberg.de/protokolle",
                    icon: "fa-regular fa-note-sticky",
                    label: "Protokolle",
                    account: "CL-Account",
                    unlockRequired: true,
                }),
                m(Service, {
                    href: "/unlock",
                    icon: "fa-solid fa-lock",
+14 −0
Changes for js/components/pieces/AccountRequired.mjs: 14 added lines, 0 removed lines.
Original line number Diff line number Diff line
export const AccountRequired = {
    view(vnode) {
        const icons = {
            "CL-Account": "fa-regular fa-user",
            "Eigener Account": "fa-solid fa-user-plus",
        }

        return m("span.detail", [
            m("i", { class: icons[vnode.attrs.accountType] }),
            " ",
            vnode.attrs.accountType,
        ])
    },
}
+1 −1
Changes for js/components/pieces/BoxedButton.mjs: 1 added line, 1 removed line.
Original line number Diff line number Diff line
@@ -5,7 +5,7 @@ export const BoxedButton = {
                "a.box.btn",
                {
                    href: vnode.attrs.href,
                    target: vnode.attrs.sameTab ? "_blank" : "",
                    target: vnode.attrs.sameTab ? "" : "_blank",
                },
                [
                    m("i", {
+10 −1
Changes for js/components/pieces/Service.mjs: 10 added lines, 1 removed line.
Original line number Diff line number Diff line
import { AccountRequired } from "./AccountRequired.mjs"
import { BoxedButton } from "./BoxedButton.mjs"
import { UnlockRequired } from "./UnlockRequired.mjs"

export const Service = {
    view(vnode) {
        return [m("div.tool", [m(BoxedButton, vnode.attrs)])]
        return [
            m("div.tool", [
                m(BoxedButton, vnode.attrs),
                vnode.attrs.account &&
                    m(AccountRequired, { accountType: vnode.attrs.account }),
                vnode.attrs.unlockRequired && m(UnlockRequired),
            ]),
        ]
    },
}
+8 −0
Changes for js/components/pieces/UnlockRequired.mjs: 8 added lines, 0 removed lines.
Original line number Diff line number Diff line
export const UnlockRequired = {
    view(vnode) {
        return m("span.detail", [
            m("i.fa-solid.fa-lock"),
            " Freischaltung nötig",
        ])
    },
}