MCPcopy Create free account
hub / github.com/Cu-chi/cuchi_computer / OpenApp

Function OpenApp

nui/scripts/script.js:696–757  ·  view source on GitHub ↗
(appName, msgBox)

Source from the content-addressed store, hash-verified

694 * @returns {0 | 1 | 2} 0 -> app doesn't exist, 1 -> app opened, 2 -> app was already opened
695 */
696const OpenApp = (appName, msgBox) => {
697 openedApps.push(appName);
698
699 let elem = document.getElementById("app-"+appName);
700 if (!elem) {
701 if (Applications[appName] && !Applications[appName].usable) {
702 MessageBox("error", GetLocale("os_error"), GetLocale("os_fake_error").replace("{1}", appName));
703 return 1;
704 }
705
706 return 0;
707 }
708 elem.style.display = "flex";
709 elem.style.visibility = "visible";
710
711 let wasOpen = true;
712 let taskbarIcon = document.getElementById("taskbar-"+appName);
713
714 if (!taskbarIcon) {
715 wasOpen = false;
716 let taskbar = document.getElementById("left");
717 taskbarIcon = document.createElement("button");
718 taskbarIcon.id = "taskbar-"+appName;
719 taskbarIcon.classList.add("taskbar-icon");
720 taskbarIcon.innerHTML = `<img src="assets/images/${msgBox ? appName.split("_")[1] : appName}.png">`;
721 taskbarIcon.onclick = () => {
722 if (elem.style.visibility === "hidden" || elem.style.zIndex < 9999999) {
723 FocusApp(false, appName);
724 elem.style.visibility = "visible";
725
726 if (appName == "console") {
727 let consoleInput = document.getElementById("console-input");
728 if (consoleInput) consoleInput.focus();
729 }
730 }
731 else {
732 MinimizeApp(appName);
733 }
734 }
735 taskbar.appendChild(taskbarIcon);
736 }
737
738 elem.onmousedown = (e) => FocusApp(e, appName);
739 document.body.onmousedown = () => UnfocusAllApp();
740 FocusApp(false, appName);
741
742 if (!wasOpen) {
743 if (appName === "console")
744 ClearConsole();
745 else if (appName === "mail") {
746 mailCreation = false;
747 document.getElementById("mail-create").innerText = GetLocale("mail_create");
748 document.getElementById("mail-signout").style.display = "initial";
749 document.getElementById("mail-refresh").style.display = "initial";
750 document.getElementById("mail-creator").style.display = "none";
751 document.getElementById("mail-reader").style.display = "none";
752 document.getElementById("mail-container").style.display = "flex";
753 }

Callers 3

script.jsFile · 0.85
MessageBoxFunction · 0.85
commands.jsFile · 0.85

Calls 6

MessageBoxFunction · 0.85
GetLocaleFunction · 0.85
FocusAppFunction · 0.85
MinimizeAppFunction · 0.85
UnfocusAllAppFunction · 0.85
ClearConsoleFunction · 0.85

Tested by

no test coverage detected