const isEnvBrowser = !(window).invokeNative const parentResource = window?.GetParentResourceName ? window.GetParentResourceName() : 'phone-radio' const resourceName = !isEnvBrowser ? parentResource : 'phone-radio' function Post(name, data) { if (isEnvBrowser) return []; return new Promise((resolve, reject) => { $.post(`https://${resourceName}/${name}`, JSON.stringify(data ?? {}), (response) => { resolve(response); }); }) }; const connectHistoryFrequency = async (freq) => { const options = [ { key: 'connect', value: Lang("PHONE_NUI_RADIO_CONNECT_TO") + ' ' + freq } ] const { key } = await OpenSelectorAsync(Lang("PHONE_NUI_RADIO_CONNECT_SELECTOR"), options); if (key !== 'connect') return; connectChannel(freq) } const connectChannel = async (freq) => { if (!privateChannels.find(c => c.frequency == freq)) { Post("setRadio", { freq }) await getHistory() return } const pass = await PromptModalAsync(Lang("PHONE_NUI_RADIO_CONNECT_PASSWORD"), Lang("PHONE_NUI_RADIO_CONNECT_PASSWORD_INFORMATION"), Lang("PHONE_NUI_RADIO_CONNECT_SELECT_PASSWORD")) if (!pass) return const checkPass = await Post("checkPrivateChannel", { freq, pass }) if (!checkPass) return SendPhoneNotificationOld('radio', Lang("PHONE_NOTIFICATION_RADIO_TITLE"), Lang("PHONE_NOTIFICATION_RADIO_INVALID_PASSWORD"), 3000) Post("setRadio", { freq }) await getHistory() } const getHistory = async () => { const history = await Post("getHistory"); if (!history) return; $('#phone-radio-history-container').empty() let str = '' history.forEach(freq => { str += `
${freq}
${channel.frequency}