[{"data":1,"prerenderedAt":771},["ShallowReactive",2],{"navigation_docs":3,"-client-addons-organization":145,"-client-addons-organization-surround":768},[4,27,41,93],{"title":5,"path":6,"stem":7,"children":8,"icon":26},"Getting Started","\u002Fgetting-started","1.getting-started\u002F0.index",[9,10,14,18,22],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"Framework Architecture","\u002Fgetting-started\u002Farchitecture","1.getting-started\u002F1.architecture",{"title":15,"path":16,"stem":17},"Module Reference","\u002Fgetting-started\u002Fmodule-reference","1.getting-started\u002F2.module-reference",{"title":19,"path":20,"stem":21},"Development Guide","\u002Fgetting-started\u002Fdevelopment","1.getting-started\u002F3.development",{"title":23,"path":24,"stem":25},"SurrealDB Setup","\u002Fgetting-started\u002Fsurrealdb-setup","1.getting-started\u002F4.surrealdb-setup","i-lucide-rocket",{"title":28,"path":29,"stem":30,"children":31},"Forge Server Extension","\u002Fserver-extension","2.server-extension\u002F0.index",[32,33,37],{"title":28,"path":29,"stem":30},{"title":34,"path":35,"stem":36},"Forge Server API Reference","\u002Fserver-extension\u002Fapi-reference","2.server-extension\u002F1.api-reference",{"title":38,"path":39,"stem":40},"Forge Server Usage Examples","\u002Fserver-extension\u002Fusage-examples","2.server-extension\u002F2.usage-examples",{"title":42,"path":43,"stem":44,"children":45,"icon":92},"Server Modules","\u002Fserver-modules","3.server-modules\u002F0.index",[46,48,52,56,60,64,68,72,76,80,84,88],{"title":47,"path":43,"stem":44},"Server Module Guides",{"title":49,"path":50,"stem":51},"Actor Usage Guide","\u002Fserver-modules\u002Factor","3.server-modules\u002F1.actor",{"title":53,"path":54,"stem":55},"Store Usage Guide","\u002Fserver-modules\u002Fstore","3.server-modules\u002F10.store",{"title":57,"path":58,"stem":59},"Task Usage Guide","\u002Fserver-modules\u002Ftask","3.server-modules\u002F11.task",{"title":61,"path":62,"stem":63},"Bank Usage Guide","\u002Fserver-modules\u002Fbank","3.server-modules\u002F2.bank",{"title":65,"path":66,"stem":67},"CAD Usage Guide","\u002Fserver-modules\u002Fcad","3.server-modules\u002F3.cad",{"title":69,"path":70,"stem":71},"Economy Usage Guide","\u002Fserver-modules\u002Feconomy","3.server-modules\u002F4.economy",{"title":73,"path":74,"stem":75},"Garage Usage Guide","\u002Fserver-modules\u002Fgarage","3.server-modules\u002F5.garage",{"title":77,"path":78,"stem":79},"Locker Usage Guide","\u002Fserver-modules\u002Flocker","3.server-modules\u002F6.locker",{"title":81,"path":82,"stem":83},"Organization Usage Guide","\u002Fserver-modules\u002Forganization","3.server-modules\u002F7.organization",{"title":85,"path":86,"stem":87},"Owned Storage Usage Guide","\u002Fserver-modules\u002Fowned-storage","3.server-modules\u002F8.owned-storage",{"title":89,"path":90,"stem":91},"Phone Usage Guide","\u002Fserver-modules\u002Fphone","3.server-modules\u002F9.phone","i-lucide-layers-3",{"title":94,"path":95,"stem":96,"children":97,"icon":144},"Client Addons","\u002Fclient-addons","4.client-addons\u002F0.index",[98,100,104,108,112,116,120,124,128,132,136,140],{"title":99,"path":95,"stem":96},"Client Usage Guide",{"title":101,"path":102,"stem":103},"Client Main Usage Guide","\u002Fclient-addons\u002Fmain","4.client-addons\u002F1.main",{"title":105,"path":106,"stem":107},"Client Phone Usage Guide","\u002Fclient-addons\u002Fphone","4.client-addons\u002F10.phone",{"title":109,"path":110,"stem":111},"Client Store Usage Guide","\u002Fclient-addons\u002Fstore","4.client-addons\u002F11.store",{"title":113,"path":114,"stem":115},"Client Common Usage Guide","\u002Fclient-addons\u002Fcommon","4.client-addons\u002F2.common",{"title":117,"path":118,"stem":119},"Client Actor Usage Guide","\u002Fclient-addons\u002Factor","4.client-addons\u002F3.actor",{"title":121,"path":122,"stem":123},"Client Bank Usage Guide","\u002Fclient-addons\u002Fbank","4.client-addons\u002F4.bank",{"title":125,"path":126,"stem":127},"Client CAD Usage Guide","\u002Fclient-addons\u002Fcad","4.client-addons\u002F5.cad",{"title":129,"path":130,"stem":131},"Client Garage Usage Guide","\u002Fclient-addons\u002Fgarage","4.client-addons\u002F6.garage",{"title":133,"path":134,"stem":135},"Client Locker Usage Guide","\u002Fclient-addons\u002Flocker","4.client-addons\u002F7.locker",{"title":137,"path":138,"stem":139},"Client Notifications Usage Guide","\u002Fclient-addons\u002Fnotifications","4.client-addons\u002F8.notifications",{"title":141,"path":142,"stem":143},"Client Organization Usage Guide","\u002Fclient-addons\u002Forganization","4.client-addons\u002F9.organization","i-lucide-monitor-smartphone",{"id":146,"title":141,"body":147,"description":157,"extension":762,"links":763,"meta":764,"navigation":765,"path":142,"seo":766,"stem":143,"__hash__":767},"docs\u002F4.client-addons\u002F9.organization.md",{"type":148,"value":149,"toc":753},"minimark",[150,154,158,163,180,195,199,205,211,236,240,366,370,541,545,548,593,596,667,670,719,723,726,730,749],[151,152,141],"h1",{"id":153},"client-organization-usage-guide",[155,156,157],"p",{},"The client organization addon provides the organization portal UI and browser\nbridge for login, registration, membership, invites, credit lines, leave and\ndisband flows, assets, fleet, and treasury display.",[159,160,162],"h2",{"id":161},"open-organization-ui","Open Organization UI",[164,165,170],"pre",{"className":166,"code":167,"language":168,"meta":169,"style":169},"language-sqf shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","call forge_client_org_fnc_openUI;\n","sqf","",[171,172,173],"code",{"__ignoreMap":169},[174,175,178],"span",{"class":176,"line":177},"line",1,[174,179,167],{},[155,181,182,183,186,187,190,191,194],{},"The UI opens ",[171,184,185],{},"RscOrg",", loads ",[171,188,189],{},"ui\u002F_site\u002Findex.html",", and routes browser alerts\nthrough ",[171,192,193],{},"forge_client_org_fnc_handleUIEvents",".",[159,196,198],{"id":197},"repository-and-bridge","Repository and Bridge",[155,200,201,204],{},[171,202,203],{},"forge_client_org_fnc_initRepository"," caches organization portal state.",[155,206,207,210],{},[171,208,209],{},"forge_client_org_fnc_initUIBridge"," owns:",[212,213,214,218,221,224,227,230,233],"ul",{},[215,216,217],"li",{},"active browser control tracking",[215,219,220],{},"portal hydrate requests",[215,222,223],{},"create\u002Flogin response routing",[215,225,226],{},"leave and disband requests",[215,228,229],{},"credit-line assignment requests",[215,231,232],{},"invite, accept invite, and decline invite requests",[215,234,235],{},"targeted browser response events",[159,237,239],{"id":238},"browser-events","Browser Events",[241,242,243,256],"table",{},[244,245,246],"thead",{},[247,248,249,253],"tr",{},[250,251,252],"th",{},"Event",[250,254,255],{},"Client behavior",[257,258,259,273,286,296,306,316,326,336,346,356],"tbody",{},[247,260,261,267],{},[262,263,264],"td",{},[171,265,266],{},"org::ready",[262,268,269,270,194],{},"Mark browser ready and request ",[171,271,272],{},"org::sync",[247,274,275,280],{},[262,276,277],{},[171,278,279],{},"org::login::request",[262,281,282,283,194],{},"Request portal hydrate as ",[171,284,285],{},"org::login::success",[247,287,288,293],{},[262,289,290],{},[171,291,292],{},"org::create::request",[262,294,295],{},"Validate org name and request creation on server.",[247,297,298,303],{},[262,299,300],{},[171,301,302],{},"org::disband::request",[262,304,305],{},"Request disband on server.",[247,307,308,313],{},[262,309,310],{},[171,311,312],{},"org::leave::request",[262,314,315],{},"Request leave on server.",[247,317,318,323],{},[262,319,320],{},[171,321,322],{},"org::credit::request",[262,324,325],{},"Request credit-line assignment.",[247,327,328,333],{},[262,329,330],{},[171,331,332],{},"org::invite::request",[262,334,335],{},"Request member invite.",[247,337,338,343],{},[262,339,340],{},[171,341,342],{},"org::invite::accept",[262,344,345],{},"Accept invite by org ID.",[247,347,348,353],{},[262,349,350],{},[171,351,352],{},"org::invite::decline",[262,354,355],{},"Decline invite by org ID.",[247,357,358,363],{},[262,359,360],{},[171,361,362],{},"org::close",[262,364,365],{},"Close the display.",[159,367,369],{"id":368},"browser-response-events","Browser Response Events",[241,371,372,381],{},[244,373,374],{},[247,375,376,378],{},[250,377,252],{},[250,379,380],{},"Purpose",[257,382,383,392,401,411,421,431,441,451,461,471,481,491,501,511,521,531],{},[247,384,385,389],{},[262,386,387],{},[171,388,272],{},[262,390,391],{},"Full portal sync payload.",[247,393,394,398],{},[262,395,396],{},[171,397,285],{},[262,399,400],{},"Login hydrate payload.",[247,402,403,408],{},[262,404,405],{},[171,406,407],{},"org::create::success",[262,409,410],{},"Creation hydrate payload.",[247,412,413,418],{},[262,414,415],{},[171,416,417],{},"org::create::failure",[262,419,420],{},"Creation validation or server failure.",[247,422,423,428],{},[262,424,425],{},[171,426,427],{},"org::disband::success",[262,429,430],{},"Requester disband success.",[247,432,433,438],{},[262,434,435],{},[171,436,437],{},"org::disband::failure",[262,439,440],{},"Disband failure.",[247,442,443,448],{},[262,444,445],{},[171,446,447],{},"org::portal::revoked",[262,449,450],{},"Portal state revoked by someone else's disband action.",[247,452,453,458],{},[262,454,455],{},[171,456,457],{},"org::leave::success",[262,459,460],{},"Leave success.",[247,462,463,468],{},[262,464,465],{},[171,466,467],{},"org::leave::failure",[262,469,470],{},"Leave failure.",[247,472,473,478],{},[262,474,475],{},[171,476,477],{},"org::credit::success",[262,479,480],{},"Credit-line request success.",[247,482,483,488],{},[262,484,485],{},[171,486,487],{},"org::credit::failure",[262,489,490],{},"Credit-line request failure.",[247,492,493,498],{},[262,494,495],{},[171,496,497],{},"org::member::creditUpdated",[262,499,500],{},"Targeted member credit-line patch.",[247,502,503,508],{},[262,504,505],{},[171,506,507],{},"org::invite::success",[262,509,510],{},"Invite success.",[247,512,513,518],{},[262,514,515],{},[171,516,517],{},"org::invite::failure",[262,519,520],{},"Invite failure.",[247,522,523,528],{},[262,524,525],{},[171,526,527],{},"org::invite::decision::success",[262,529,530],{},"Invite accept\u002Fdecline success.",[247,532,533,538],{},[262,534,535],{},[171,536,537],{},"org::invite::decision::failure",[262,539,540],{},"Invite accept\u002Fdecline failure.",[159,542,544],{"id":543},"request-examples","Request Examples",[155,546,547],{},"Create organization request payload:",[164,549,553],{"className":550,"code":551,"language":552,"meta":169,"style":169},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n \"orgName\": \"Example Logistics\"\n}\n","json",[171,554,555,561,587],{"__ignoreMap":169},[174,556,557],{"class":176,"line":177},[174,558,560],{"class":559},"sMK4o","{\n",[174,562,564,567,571,574,577,580,584],{"class":176,"line":563},2,[174,565,566],{"class":559}," \"",[174,568,570],{"class":569},"spNyl","orgName",[174,572,573],{"class":559},"\"",[174,575,576],{"class":559},":",[174,578,579],{"class":559}," \"",[174,581,583],{"class":582},"sfazB","Example Logistics",[174,585,586],{"class":559},"\"\n",[174,588,590],{"class":176,"line":589},3,[174,591,592],{"class":559},"}\n",[155,594,595],{},"Credit-line request payload:",[164,597,599],{"className":550,"code":598,"language":552,"meta":169,"style":169},"{\n \"memberUid\": \"76561198000000000\",\n \"memberName\": \"Player Name\",\n \"amount\": 2500\n}\n",[171,600,601,605,626,646,662],{"__ignoreMap":169},[174,602,603],{"class":176,"line":177},[174,604,560],{"class":559},[174,606,607,609,612,614,616,618,621,623],{"class":176,"line":563},[174,608,566],{"class":559},[174,610,611],{"class":569},"memberUid",[174,613,573],{"class":559},[174,615,576],{"class":559},[174,617,579],{"class":559},[174,619,620],{"class":582},"76561198000000000",[174,622,573],{"class":559},[174,624,625],{"class":559},",\n",[174,627,628,630,633,635,637,639,642,644],{"class":176,"line":589},[174,629,566],{"class":559},[174,631,632],{"class":569},"memberName",[174,634,573],{"class":559},[174,636,576],{"class":559},[174,638,579],{"class":559},[174,640,641],{"class":582},"Player Name",[174,643,573],{"class":559},[174,645,625],{"class":559},[174,647,649,651,654,656,658],{"class":176,"line":648},4,[174,650,566],{"class":559},[174,652,653],{"class":569},"amount",[174,655,573],{"class":559},[174,657,576],{"class":559},[174,659,661],{"class":660},"sbssI"," 2500\n",[174,663,665],{"class":176,"line":664},5,[174,666,592],{"class":559},[155,668,669],{},"Invite request payload:",[164,671,673],{"className":550,"code":672,"language":552,"meta":169,"style":169},"{\n \"targetUid\": \"76561198000000000\",\n \"targetName\": \"Player Name\"\n}\n",[171,674,675,679,698,715],{"__ignoreMap":169},[174,676,677],{"class":176,"line":177},[174,678,560],{"class":559},[174,680,681,683,686,688,690,692,694,696],{"class":176,"line":563},[174,682,566],{"class":559},[174,684,685],{"class":569},"targetUid",[174,687,573],{"class":559},[174,689,576],{"class":559},[174,691,579],{"class":559},[174,693,620],{"class":582},[174,695,573],{"class":559},[174,697,625],{"class":559},[174,699,700,702,705,707,709,711,713],{"class":176,"line":589},[174,701,566],{"class":559},[174,703,704],{"class":569},"targetName",[174,706,573],{"class":559},[174,708,576],{"class":559},[174,710,579],{"class":559},[174,712,641],{"class":582},[174,714,586],{"class":559},[174,716,717],{"class":176,"line":648},[174,718,592],{"class":559},[159,720,722],{"id":721},"authoritative-state","Authoritative State",[155,724,725],{},"Organization funds, reputation, membership, invites, credit lines, assets,\nfleet, and persistence are server-owned. The client portal only displays and\nrequests changes.",[159,727,729],{"id":728},"related-guides","Related Guides",[212,731,732,737,741,745],{},[215,733,734],{},[735,736,81],"a",{"href":82},[215,738,739],{},[735,740,113],{"href":114},[215,742,743],{},[735,744,121],{"href":122},[215,746,747],{},[735,748,109],{"href":110},[750,751,752],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":169,"searchDepth":563,"depth":563,"links":754},[755,756,757,758,759,760,761],{"id":161,"depth":563,"text":162},{"id":197,"depth":563,"text":198},{"id":238,"depth":563,"text":239},{"id":368,"depth":563,"text":369},{"id":543,"depth":563,"text":544},{"id":721,"depth":563,"text":722},{"id":728,"depth":563,"text":729},"md",null,{},true,{"title":141,"description":157},"55er24PBmMaI2LQjtirzxJhMPRLdoX0WEvJjQx-Ptgc",[769,763],{"title":137,"path":138,"stem":139,"description":770,"children":-1},"The client notifications addon owns the notification HUD, notification sound,\nand local notification service used by Forge client and server modules.",1776806627742]