33 lines
1.2 KiB
JavaScript
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();
|
|
})();
|