🪛Custom App

Making a special application for Gksphone v2

Config

App settings to be added to the AppStore section in

  • name => The name of the app that will appear on the phone

  • icons => Icon of the app

  • categori => In which category the app will appear ( jobs, mix, social, finance )

  • appurl => You should write the file path of the resource you want to run in the application ( If you want to add a site, make sure it has iframe support )

  • url => Don't touch this part

  • blockedjobs => Jobs that will not see the app

  • allowjob => Only jobs that can see this application

    {
      "name": "Custom App",
      "icons": "/html/img/icons/qbit.png",
      "categori": "mix",
      "appurl": "https://cfx-nui-gksphone-app/ui/index.html",
      "url": "/customapp",
      "blockedjobs": {
         "police": "police"
      },
      "allowjob": {
         "ambulance": "ambulance"
      },
      "signal": true,
      "show": true
    }

You can access the custom app template on github and start making the app you want

Open App

Add this client and this will be triggered every time you enter the application.

RegisterNUICallback('getInfo', function(data, cb)
    print("The function that will run when it enters the application")
    cb('ok')
end)

Exports

InputChange

To prevent walking while filling in input fields

local data = true -- true or false
exports["gksphone"]:InputChange(data)
<input type="text" onfocus="inputFocused(false)" onblur="inputFocused(true)">

<script>
   async function inputFocused(value) {
       //await NuiFetch("input", value);
   }
</script>

NuiSendMessage

You have to use this export instead of SendNUIMessage

exports["gksphone"]:NuiSendMessage({event = 'showMessage', hello = "world"})
window.addEventListener('message', (event) => {
    if (!event.data) return;
    const e = event.data
    if (e.event === "showMessage") {
        console.log(`Hello ${e.hello}!`)
    }
})

Javascript UI

document.addEventListener('DOMContentLoaded', () => {
    setTimeout(() => {
        if (window.gksphone) {
            console.log(`GKSPHONE functions available`)
        }
    }, 100);
});

Dark Mode Check

const isDarkMode = window.gksphone.isDarkMode();
console.log(isDarkMode)  // true or false

Loading Poup

window.gksphone.loadingPopup("Loading...");
setTimeout(() => {
   window.gksphone.closeLoadingPopup();
}, 1000)

Notify

var timeout = 2000
window.gksphone.notify("This is a notification message", timeout);

Last updated