forge/arma/ui/apps/portal/store.js
2026-03-07 15:23:01 -06:00

33 lines
1.2 KiB
JavaScript

(function () {
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
const { createSignal } = window.RegistryApp.runtime;
const { portalData } = OrgPortal.data;
class OrgPortalStore {
constructor() {
[this.getFunds, this.setFunds] = createSignal(portalData.funds);
[this.getMembers, this.setMembers] = createSignal([
...portalData.members,
]);
[this.getCreditLines, this.setCreditLines] = createSignal([]);
[this.getTreasuryNotice, this.setTreasuryNotice] = createSignal({
type: "",
text: "",
});
[this.getModal, this.setModal] = createSignal(null);
[this.getOrgDisbanded, this.setOrgDisbanded] = createSignal(false);
}
hydrateFromPayload(payload) {
this.setFunds(payload.portalData.funds || 0);
this.setMembers([...(payload.portalData.members || [])]);
this.setCreditLines([]);
this.setTreasuryNotice({ type: "", text: "" });
this.setModal(null);
this.setOrgDisbanded(false);
}
}
OrgPortal.store = new OrgPortalStore();
})();