feat: Rework org data and UI
This commit is contained in:
parent
e0e6121a5c
commit
57267b79b6
@ -1,4 +1,3 @@
|
|||||||
PREP(buildPortalPayload);
|
|
||||||
PREP(handleUIEvents);
|
PREP(handleUIEvents);
|
||||||
PREP(initOrgClass);
|
PREP(initOrgClass);
|
||||||
PREP(openUI);
|
PREP(openUI);
|
||||||
|
|||||||
@ -39,7 +39,7 @@ if (isNil QGVAR(OrgClass)) then { call FUNC(initOrgClass); };
|
|||||||
GVAR(OrgClass) call ["sync", [_orgData, true]];
|
GVAR(OrgClass) call ["sync", [_orgData, true]];
|
||||||
|
|
||||||
if (_control isNotEqualTo controlNull) then {
|
if (_control isNotEqualTo controlNull) then {
|
||||||
private _json = toJSON (call FUNC(buildPortalPayload));
|
private _json = toJSON (GVAR(OrgClass) call ["buildPortalPayload", []]);
|
||||||
_control ctrlWebBrowserAction ["ExecJS", format ["OrgUIBridge.receiveCreateSuccess(%1)", _json]];
|
_control ctrlWebBrowserAction ["ExecJS", format ["OrgUIBridge.receiveCreateSuccess(%1)", _json]];
|
||||||
};
|
};
|
||||||
}] call CFUNC(addEventHandler);
|
}] call CFUNC(addEventHandler);
|
||||||
|
|||||||
@ -1,129 +0,0 @@
|
|||||||
#include "..\script_component.hpp"
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Author: IDSolutions
|
|
||||||
* Builds the web portal payload from the synced org class.
|
|
||||||
*
|
|
||||||
* Arguments:
|
|
||||||
* None
|
|
||||||
*
|
|
||||||
* Return Value:
|
|
||||||
* Portal payload <HASHMAP>
|
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
* call forge_client_org_fnc_buildPortalPayload;
|
|
||||||
*
|
|
||||||
* Public: No
|
|
||||||
*/
|
|
||||||
|
|
||||||
private _orgData = GVAR(OrgClass) get "org";
|
|
||||||
|
|
||||||
private _name = _orgData getOrDefault ["name", "Unknown Organization"];
|
|
||||||
private _id = _orgData getOrDefault ["id", ""];
|
|
||||||
private _ownerUid = _orgData getOrDefault ["owner", ""];
|
|
||||||
private _funds = _orgData getOrDefault ["funds", 0];
|
|
||||||
private _reputation = _orgData getOrDefault ["reputation", 0];
|
|
||||||
private _assetsRaw = _orgData getOrDefault ["assets", createHashMap];
|
|
||||||
private _membersRaw = _orgData getOrDefault ["members", createHashMap];
|
|
||||||
private _fleetRaw = _orgData getOrDefault ["fleet", createHashMap];
|
|
||||||
private _headquarters = _orgData getOrDefault ["headquarters", "ArmA Verse"];
|
|
||||||
private _type = _orgData getOrDefault ["type", "Organization"];
|
|
||||||
private _status = _orgData getOrDefault ["status", "Operational"];
|
|
||||||
private _isDefaultOrg = (_orgData getOrDefault ["default", false])
|
|
||||||
|| {toLower _id isEqualTo "default"}
|
|
||||||
|| {toLower _ownerUid isEqualTo "server"};
|
|
||||||
|
|
||||||
private _playerName = name player;
|
|
||||||
private _playerUid = getPlayerUID player;
|
|
||||||
private _playerVar = vehicleVarName player;
|
|
||||||
private _sessionRole = "Member";
|
|
||||||
private _sessionIsCeo = _isDefaultOrg && {_playerVar isEqualTo "ceo"};
|
|
||||||
private _ownerName = ["", "Server"] select (toLower _ownerUid isEqualTo "server");
|
|
||||||
|
|
||||||
private _membersList = [];
|
|
||||||
{
|
|
||||||
private _memberData = _y;
|
|
||||||
private _memberName = _memberData getOrDefault ["name", "Unknown"];
|
|
||||||
private _memberUid = _memberData getOrDefault ["uid", ""];
|
|
||||||
|
|
||||||
if (_memberUid isEqualTo _ownerUid && {_ownerName isEqualTo ""}) then { _ownerName = _memberName; };
|
|
||||||
if (_memberUid isEqualTo _playerUid) then { _sessionRole = "Member"; };
|
|
||||||
|
|
||||||
_membersList pushBack (createHashMapFromArray [["name", _memberName]]);
|
|
||||||
} forEach _membersRaw;
|
|
||||||
|
|
||||||
if (_ownerName isEqualTo "" && { _ownerUid isEqualTo _playerUid }) then { _ownerName = _playerName; };
|
|
||||||
if (_ownerName isEqualTo "" && { _ownerUid isNotEqualTo "" }) then { _ownerName = "Unknown Owner"; };
|
|
||||||
if (_ownerUid isEqualTo _playerUid) then { _sessionRole = "Leader"; };
|
|
||||||
|
|
||||||
private _assetsList = [];
|
|
||||||
{
|
|
||||||
private _assetData = _y;
|
|
||||||
_assetsList pushBack (createHashMapFromArray [
|
|
||||||
["name", _assetData getOrDefault ["name", "Unknown Asset"]],
|
|
||||||
["type", _assetData getOrDefault ["type", "items"]],
|
|
||||||
["quantity", str (_assetData getOrDefault ["quantity", 0])]
|
|
||||||
]);
|
|
||||||
} forEach _assetsRaw;
|
|
||||||
|
|
||||||
private _fleetList = [];
|
|
||||||
{
|
|
||||||
private _vehicleData = _y;
|
|
||||||
_fleetList pushBack (createHashMapFromArray [
|
|
||||||
["name", _vehicleData getOrDefault ["name", "Unknown Vehicle"]],
|
|
||||||
["type", _vehicleData getOrDefault ["type", "other"]],
|
|
||||||
["status", _vehicleData getOrDefault ["status", "Unknown"]],
|
|
||||||
["damage", _vehicleData getOrDefault ["damage", "0%"]]
|
|
||||||
]);
|
|
||||||
} forEach _fleetRaw;
|
|
||||||
|
|
||||||
private _roadmap = [
|
|
||||||
createHashMapFromArray [
|
|
||||||
["name", "Contracts Board"],
|
|
||||||
["status", "Planned"],
|
|
||||||
["detail", "Track payouts, assignments, and claim approvals."]
|
|
||||||
],
|
|
||||||
createHashMapFromArray [
|
|
||||||
["name", "Diplomacy"],
|
|
||||||
["status", "Future Review"],
|
|
||||||
["detail", "Possible future module pending a full design and scope review."]
|
|
||||||
],
|
|
||||||
createHashMapFromArray [
|
|
||||||
["name", "Logistics Queue"],
|
|
||||||
["status", "Future Review"],
|
|
||||||
["detail", "Possible future module pending a full design and scope review."]
|
|
||||||
],
|
|
||||||
createHashMapFromArray [
|
|
||||||
["name", "Permissions"],
|
|
||||||
["status", "Future Review"],
|
|
||||||
["detail", "Possible future module pending a full design and scope review."]
|
|
||||||
]
|
|
||||||
];
|
|
||||||
|
|
||||||
createHashMapFromArray [
|
|
||||||
["session", createHashMapFromArray [
|
|
||||||
["actorName", _playerName],
|
|
||||||
["actorUid", _playerUid],
|
|
||||||
["role", _sessionRole],
|
|
||||||
["ceo", _sessionIsCeo]
|
|
||||||
]],
|
|
||||||
["portalData", createHashMapFromArray [
|
|
||||||
["org", createHashMapFromArray [
|
|
||||||
["name", _name],
|
|
||||||
["tag", _id],
|
|
||||||
["type", _type],
|
|
||||||
["status", _status],
|
|
||||||
["headquarters", _headquarters],
|
|
||||||
["owner", _ownerName],
|
|
||||||
["ownerUid", _ownerUid],
|
|
||||||
["isDefault", _isDefaultOrg]
|
|
||||||
]],
|
|
||||||
["funds", _funds],
|
|
||||||
["reputation", _reputation],
|
|
||||||
["members", _membersList],
|
|
||||||
["fleet", _fleetList],
|
|
||||||
["assets", _assetsList],
|
|
||||||
["activity", []],
|
|
||||||
["roadmap", _roadmap]
|
|
||||||
]]
|
|
||||||
]
|
|
||||||
@ -45,7 +45,7 @@ switch (_event) do {
|
|||||||
]] call _fnc_execBridge;
|
]] call _fnc_execBridge;
|
||||||
};
|
};
|
||||||
|
|
||||||
private _payload = call FUNC(buildPortalPayload);
|
private _payload = GVAR(OrgClass) call ["buildPortalPayload", []];
|
||||||
[_control, "receiveLoginSuccess", _payload] call _fnc_execBridge;
|
[_control, "receiveLoginSuccess", _payload] call _fnc_execBridge;
|
||||||
};
|
};
|
||||||
case "org::create::request": {
|
case "org::create::request": {
|
||||||
|
|||||||
@ -36,6 +36,7 @@ GVAR(OrgBaseClass) = compileFinal createHashMapFromArray [
|
|||||||
_org set ["funds", 0];
|
_org set ["funds", 0];
|
||||||
_org set ["reputation", 0];
|
_org set ["reputation", 0];
|
||||||
_org set ["assets", createHashMap];
|
_org set ["assets", createHashMap];
|
||||||
|
_org set ["fleet", createHashMap];
|
||||||
_org set ["members", createHashMap];
|
_org set ["members", createHashMap];
|
||||||
|
|
||||||
_self set ["org", _org];
|
_self set ["org", _org];
|
||||||
@ -69,6 +70,89 @@ GVAR(OrgBaseClass) = compileFinal createHashMapFromArray [
|
|||||||
if !(_isLoaded) then { _self set ["isLoaded", true]; };
|
if !(_isLoaded) then { _self set ["isLoaded", true]; };
|
||||||
diag_log "[FORGE:Client:Org] Sync completed";
|
diag_log "[FORGE:Client:Org] Sync completed";
|
||||||
}],
|
}],
|
||||||
|
["buildPortalPayload", compileFinal {
|
||||||
|
private _orgData = _self get "org";
|
||||||
|
|
||||||
|
private _name = _orgData get "name";
|
||||||
|
private _id = _orgData get "id";
|
||||||
|
private _ownerUid = _orgData get "owner";
|
||||||
|
private _funds = _orgData get "funds";
|
||||||
|
private _reputation = _orgData get "reputation";
|
||||||
|
private _assetsRaw = _orgData get "assets";
|
||||||
|
private _fleetRaw = _orgData get "fleet";
|
||||||
|
private _membersRaw = _orgData get "members";
|
||||||
|
private _isDefaultOrg = (_orgData getOrDefault ["default", false])
|
||||||
|
|| {toLower _id isEqualTo "default"}
|
||||||
|
|| {toLower _ownerUid isEqualTo "server"};
|
||||||
|
|
||||||
|
private _playerName = name player;
|
||||||
|
private _playerUid = getPlayerUID player;
|
||||||
|
private _playerVar = vehicleVarName player;
|
||||||
|
private _sessionRole = "Member";
|
||||||
|
private _sessionIsCeo = _isDefaultOrg && {_playerVar isEqualTo "ceo"};
|
||||||
|
private _ownerName = ["", "Server"] select (toLower _ownerUid isEqualTo "server");
|
||||||
|
|
||||||
|
private _membersList = [];
|
||||||
|
{
|
||||||
|
private _memberData = _y;
|
||||||
|
private _memberName = _memberData getOrDefault ["name", "Unknown"];
|
||||||
|
private _memberUid = _memberData getOrDefault ["uid", ""];
|
||||||
|
|
||||||
|
if (_memberUid isEqualTo _ownerUid && {_ownerName isEqualTo ""}) then { _ownerName = _memberName; };
|
||||||
|
if (_memberUid isEqualTo _playerUid) then { _sessionRole = "Member"; };
|
||||||
|
|
||||||
|
_membersList pushBack (createHashMapFromArray [["name", _memberName]]);
|
||||||
|
} forEach _membersRaw;
|
||||||
|
|
||||||
|
if (_ownerName isEqualTo "" && { _ownerUid isEqualTo _playerUid }) then { _ownerName = _playerName; };
|
||||||
|
if (_ownerName isEqualTo "" && { _ownerUid isNotEqualTo "" }) then { _ownerName = "Unknown Owner"; };
|
||||||
|
if (_ownerUid isEqualTo _playerUid) then { _sessionRole = "Leader"; };
|
||||||
|
|
||||||
|
private _assetsList = [];
|
||||||
|
{
|
||||||
|
private _assetData = _y;
|
||||||
|
_assetsList pushBack (createHashMapFromArray [
|
||||||
|
["name", _assetData getOrDefault ["name", "Unknown Asset"]],
|
||||||
|
["type", _assetData getOrDefault ["type", "items"]],
|
||||||
|
["quantity", str (_assetData getOrDefault ["quantity", 0])]
|
||||||
|
]);
|
||||||
|
} forEach _assetsRaw;
|
||||||
|
|
||||||
|
private _fleetList = [];
|
||||||
|
{
|
||||||
|
private _vehicleData = _y;
|
||||||
|
_fleetList pushBack (createHashMapFromArray [
|
||||||
|
["name", _vehicleData getOrDefault ["name", "Unknown Vehicle"]],
|
||||||
|
["type", _vehicleData getOrDefault ["type", "other"]],
|
||||||
|
["status", _vehicleData getOrDefault ["status", "Unknown"]],
|
||||||
|
["damage", _vehicleData getOrDefault ["damage", "0%"]]
|
||||||
|
]);
|
||||||
|
} forEach _fleetRaw;
|
||||||
|
|
||||||
|
createHashMapFromArray [
|
||||||
|
["session", createHashMapFromArray [
|
||||||
|
["actorName", _playerName],
|
||||||
|
["actorUid", _playerUid],
|
||||||
|
["role", _sessionRole],
|
||||||
|
["ceo", _sessionIsCeo]
|
||||||
|
]],
|
||||||
|
["portalData", createHashMapFromArray [
|
||||||
|
["org", createHashMapFromArray [
|
||||||
|
["name", _name],
|
||||||
|
["tag", _id],
|
||||||
|
["owner", _ownerName],
|
||||||
|
["ownerUid", _ownerUid],
|
||||||
|
["isDefault", _isDefaultOrg]
|
||||||
|
]],
|
||||||
|
["funds", _funds],
|
||||||
|
["reputation", _reputation],
|
||||||
|
["members", _membersList],
|
||||||
|
["fleet", _fleetList],
|
||||||
|
["assets", _assetsList],
|
||||||
|
["activity", []]
|
||||||
|
]]
|
||||||
|
]
|
||||||
|
}],
|
||||||
["get", compileFinal {
|
["get", compileFinal {
|
||||||
params [["_key", "", [""]], ["_default", nil, [[], "", 0, false, createHashMap]]];
|
params [["_key", "", [""]], ["_default", nil, [[], "", 0, false, createHashMap]]];
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,13 @@
|
|||||||
(function () {
|
(function () {
|
||||||
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
||||||
const { h, ensureScopedStyle } = OrgPortal.runtime;
|
const { h, ensureScopedStyle } = OrgPortal.runtime;
|
||||||
const { portalData } = OrgPortal.data;
|
|
||||||
const scopeAttr = "data-ui-future-card";
|
const scopeAttr = "data-ui-future-card";
|
||||||
|
const ROADMAP = [
|
||||||
|
{ name: "Contracts Board", status: "Planned", detail: "Track payouts, assignments, and claim approvals." },
|
||||||
|
{ name: "Diplomacy", status: "Future Review", detail: "Possible future module pending a full design and scope review." },
|
||||||
|
{ name: "Logistics Queue", status: "Future Review", detail: "Possible future module pending a full design and scope review." },
|
||||||
|
{ name: "Permissions", status: "Future Review", detail: "Possible future module pending a full design and scope review." },
|
||||||
|
];
|
||||||
const scopeSelector = `[${scopeAttr}]`;
|
const scopeSelector = `[${scopeAttr}]`;
|
||||||
const futureCardCss = `
|
const futureCardCss = `
|
||||||
${scopeSelector} .org-roadmap-grid {
|
${scopeSelector} .org-roadmap-grid {
|
||||||
@ -90,7 +95,7 @@ ${scopeSelector} .org-roadmap-card:nth-child(4n + 3) .org-list-tag {
|
|||||||
body: h(
|
body: h(
|
||||||
"div",
|
"div",
|
||||||
{ className: "org-roadmap-grid" },
|
{ className: "org-roadmap-grid" },
|
||||||
...portalData.roadmap.map((item) =>
|
...ROADMAP.map((item) =>
|
||||||
h(
|
h(
|
||||||
"article",
|
"article",
|
||||||
{ className: "org-roadmap-card" },
|
{ className: "org-roadmap-card" },
|
||||||
|
|||||||
@ -1,5 +1,10 @@
|
|||||||
(function () {
|
(function () {
|
||||||
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
||||||
|
const staticOrgProfile = {
|
||||||
|
type: "Organization",
|
||||||
|
status: "Operational",
|
||||||
|
headquarters: "ArmA Verse",
|
||||||
|
};
|
||||||
|
|
||||||
function cloneValue(value) {
|
function cloneValue(value) {
|
||||||
return JSON.parse(JSON.stringify(value));
|
return JSON.parse(JSON.stringify(value));
|
||||||
@ -16,16 +21,16 @@
|
|||||||
|
|
||||||
OrgPortal.data = {
|
OrgPortal.data = {
|
||||||
portalData: {
|
portalData: {
|
||||||
org: {
|
org: Object.assign(
|
||||||
name: "",
|
{
|
||||||
tag: "",
|
name: "",
|
||||||
type: "Organization",
|
tag: "",
|
||||||
status: "Operational",
|
owner: "",
|
||||||
headquarters: "ArmA Verse",
|
ownerUid: "",
|
||||||
owner: "",
|
isDefault: false,
|
||||||
ownerUid: "",
|
},
|
||||||
isDefault: false,
|
staticOrgProfile,
|
||||||
},
|
),
|
||||||
funds: 0,
|
funds: 0,
|
||||||
reputation: 0,
|
reputation: 0,
|
||||||
members: [],
|
members: [],
|
||||||
@ -62,7 +67,14 @@
|
|||||||
ceo: false,
|
ceo: false,
|
||||||
},
|
},
|
||||||
applyLoginPayload(payload) {
|
applyLoginPayload(payload) {
|
||||||
replaceObject(this.portalData.org, payload.portalData.org || {});
|
replaceObject(
|
||||||
|
this.portalData.org,
|
||||||
|
Object.assign(
|
||||||
|
{},
|
||||||
|
payload.portalData.org || {},
|
||||||
|
staticOrgProfile,
|
||||||
|
),
|
||||||
|
);
|
||||||
this.portalData.funds = payload.portalData.funds || 0;
|
this.portalData.funds = payload.portalData.funds || 0;
|
||||||
this.portalData.reputation = payload.portalData.reputation || 0;
|
this.portalData.reputation = payload.portalData.reputation || 0;
|
||||||
|
|
||||||
|
|||||||
@ -32,6 +32,9 @@ GVAR(OrgModel) = compileFinal createHashMapObject [[
|
|||||||
_org set ["name", ""];
|
_org set ["name", ""];
|
||||||
_org set ["funds", 0];
|
_org set ["funds", 0];
|
||||||
_org set ["reputation", 0];
|
_org set ["reputation", 0];
|
||||||
|
_org set ["assets", createHashMap];
|
||||||
|
_org set ["fleet", createHashMap];
|
||||||
|
_org set ["members", createHashMap];
|
||||||
|
|
||||||
_org
|
_org
|
||||||
}],
|
}],
|
||||||
@ -88,6 +91,8 @@ GVAR(OrgBaseStore) = compileFinal createHashMapFromArray [
|
|||||||
["name", "Forge Dynamics"],
|
["name", "Forge Dynamics"],
|
||||||
["funds", 200000],
|
["funds", 200000],
|
||||||
["reputation", 0],
|
["reputation", 0],
|
||||||
|
["assets", createHashMap],
|
||||||
|
["fleet", createHashMap],
|
||||||
["members", createHashMap]
|
["members", createHashMap]
|
||||||
];
|
];
|
||||||
GVAR(Registry) set ["default", _defaultOrg];
|
GVAR(Registry) set ["default", _defaultOrg];
|
||||||
@ -181,6 +186,8 @@ GVAR(OrgBaseStore) = compileFinal createHashMapFromArray [
|
|||||||
["name", _orgName],
|
["name", _orgName],
|
||||||
["funds", 0],
|
["funds", 0],
|
||||||
["reputation", 0],
|
["reputation", 0],
|
||||||
|
["assets", createHashMap],
|
||||||
|
["fleet", createHashMap],
|
||||||
["members", createHashMap]
|
["members", createHashMap]
|
||||||
];
|
];
|
||||||
|
|
||||||
@ -251,8 +258,9 @@ GVAR(OrgBaseStore) = compileFinal createHashMapFromArray [
|
|||||||
};
|
};
|
||||||
|
|
||||||
private _finalOrg = createHashMap;
|
private _finalOrg = createHashMap;
|
||||||
|
private _finalAssets = createHashMap;
|
||||||
|
private _finalFleet = createHashMap;
|
||||||
private _finalMembers = createHashMap;
|
private _finalMembers = createHashMap;
|
||||||
// private _finalAssets = createHashMap;
|
|
||||||
|
|
||||||
if (_result == "true") then {
|
if (_result == "true") then {
|
||||||
_finalOrg = _self call ["fetch", ["org:get", _orgID]];
|
_finalOrg = _self call ["fetch", ["org:get", _orgID]];
|
||||||
@ -266,8 +274,9 @@ GVAR(OrgBaseStore) = compileFinal createHashMapFromArray [
|
|||||||
private _entry = createHashMapFromArray [["orgID", _orgID]];
|
private _entry = createHashMapFromArray [["orgID", _orgID]];
|
||||||
GVAR(IndexRegistry) set [_uid, _entry];
|
GVAR(IndexRegistry) set [_uid, _entry];
|
||||||
|
|
||||||
private _members = _self call ["fetch", ["org:members:get", _orgID]];
|
|
||||||
// private _assets = _self call ["fetch", ["org:assets:get", _orgID]];
|
// private _assets = _self call ["fetch", ["org:assets:get", _orgID]];
|
||||||
|
// private _fleet = _self call ["fetch", ["org:fleet:get", _orgID]];
|
||||||
|
private _members = _self call ["fetch", ["org:members:get", _orgID]];
|
||||||
|
|
||||||
{
|
{
|
||||||
private _key = _x get "uid";
|
private _key = _x get "uid";
|
||||||
@ -281,8 +290,9 @@ GVAR(OrgBaseStore) = compileFinal createHashMapFromArray [
|
|||||||
// _finalAssets set [_key, _value];
|
// _finalAssets set [_key, _value];
|
||||||
// } forEach _assets;
|
// } forEach _assets;
|
||||||
|
|
||||||
|
_finalOrg set ["assets", _finalAssets];
|
||||||
|
_finalOrg set ["fleet", _finalFleet];
|
||||||
_finalOrg set ["members", _finalMembers];
|
_finalOrg set ["members", _finalMembers];
|
||||||
// _finalOrg set ["assets", _finalAssets];
|
|
||||||
|
|
||||||
private _finalOwner = _finalOrg getOrDefault ["owner", ""];
|
private _finalOwner = _finalOrg getOrDefault ["owner", ""];
|
||||||
if (_orgID isEqualTo "default" || { _finalOwner isEqualTo _uid }) then {
|
if (_orgID isEqualTo "default" || { _finalOwner isEqualTo _uid }) then {
|
||||||
|
|||||||
@ -1,8 +1,13 @@
|
|||||||
(function () {
|
(function () {
|
||||||
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
||||||
const { h, ensureScopedStyle } = OrgPortal.runtime;
|
const { h, ensureScopedStyle } = OrgPortal.runtime;
|
||||||
const { portalData } = OrgPortal.data;
|
|
||||||
const scopeAttr = "data-ui-future-card";
|
const scopeAttr = "data-ui-future-card";
|
||||||
|
const ROADMAP = [
|
||||||
|
{ name: "Contracts Board", status: "Planned", detail: "Track payouts, assignments, and claim approvals." },
|
||||||
|
{ name: "Diplomacy", status: "Future Review", detail: "Possible future module pending a full design and scope review." },
|
||||||
|
{ name: "Logistics Queue", status: "Future Review", detail: "Possible future module pending a full design and scope review." },
|
||||||
|
{ name: "Permissions", status: "Future Review", detail: "Possible future module pending a full design and scope review." },
|
||||||
|
];
|
||||||
const scopeSelector = `[${scopeAttr}]`;
|
const scopeSelector = `[${scopeAttr}]`;
|
||||||
const futureCardCss = `
|
const futureCardCss = `
|
||||||
${scopeSelector} .org-roadmap-grid {
|
${scopeSelector} .org-roadmap-grid {
|
||||||
@ -90,7 +95,7 @@ ${scopeSelector} .org-roadmap-card:nth-child(4n + 3) .org-list-tag {
|
|||||||
body: h(
|
body: h(
|
||||||
"div",
|
"div",
|
||||||
{ className: "org-roadmap-grid" },
|
{ className: "org-roadmap-grid" },
|
||||||
...portalData.roadmap.map((item) =>
|
...ROADMAP.map((item) =>
|
||||||
h(
|
h(
|
||||||
"article",
|
"article",
|
||||||
{ className: "org-roadmap-card" },
|
{ className: "org-roadmap-card" },
|
||||||
|
|||||||
@ -1,5 +1,10 @@
|
|||||||
(function () {
|
(function () {
|
||||||
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
const OrgPortal = (window.OrgPortal = window.OrgPortal || {});
|
||||||
|
const staticOrgProfile = {
|
||||||
|
type: "Organization",
|
||||||
|
status: "Operational",
|
||||||
|
headquarters: "ArmA Verse",
|
||||||
|
};
|
||||||
|
|
||||||
function cloneValue(value) {
|
function cloneValue(value) {
|
||||||
return JSON.parse(JSON.stringify(value));
|
return JSON.parse(JSON.stringify(value));
|
||||||
@ -16,16 +21,16 @@
|
|||||||
|
|
||||||
OrgPortal.data = {
|
OrgPortal.data = {
|
||||||
portalData: {
|
portalData: {
|
||||||
org: {
|
org: Object.assign(
|
||||||
name: "Black Rifle Company",
|
{
|
||||||
tag: "BRC-0160566824",
|
name: "Black Rifle Company",
|
||||||
type: "Private Military Company",
|
tag: "BRC-0160566824",
|
||||||
status: "Operational",
|
owner: "Jacob Schmidt",
|
||||||
headquarters: "Georgetown Command Annex",
|
ownerUid: "uid-jacob-schmidt",
|
||||||
owner: "Jacob Schmidt",
|
isDefault: false,
|
||||||
ownerUid: "uid-jacob-schmidt",
|
},
|
||||||
isDefault: false,
|
staticOrgProfile,
|
||||||
},
|
),
|
||||||
funds: 482750,
|
funds: 482750,
|
||||||
reputation: 72,
|
reputation: 72,
|
||||||
members: [
|
members: [
|
||||||
@ -132,7 +137,14 @@
|
|||||||
ceo: false,
|
ceo: false,
|
||||||
},
|
},
|
||||||
applyLoginPayload(payload) {
|
applyLoginPayload(payload) {
|
||||||
replaceObject(this.portalData.org, payload.portalData.org || {});
|
replaceObject(
|
||||||
|
this.portalData.org,
|
||||||
|
Object.assign(
|
||||||
|
{},
|
||||||
|
payload.portalData.org || {},
|
||||||
|
staticOrgProfile,
|
||||||
|
),
|
||||||
|
);
|
||||||
this.portalData.funds = payload.portalData.funds || 0;
|
this.portalData.funds = payload.portalData.funds || 0;
|
||||||
this.portalData.reputation = payload.portalData.reputation || 0;
|
this.portalData.reputation = payload.portalData.reputation || 0;
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user