From 7b9001893090ba551e22a2b82f848a05a342be14 Mon Sep 17 00:00:00 2001 From: izMystic Date: Sat, 7 May 2022 16:24:32 -0400 Subject: [PATCH] feat: esx_textui --- [esx]/es_extended/client/functions.lua | 8 +++ [esx]/esx_textui/TextUI.lua | 18 +++++ [esx]/esx_textui/fxmanifest.lua | 14 ++++ [esx]/esx_textui/nui/css/style.css | 14 ++++ [esx]/esx_textui/nui/index.html | 94 ++++++++++++++++++++++++++ [esx]/esx_textui/nui/js/script.js | 21 ++++++ 6 files changed, 169 insertions(+) create mode 100644 [esx]/esx_textui/TextUI.lua create mode 100644 [esx]/esx_textui/fxmanifest.lua create mode 100644 [esx]/esx_textui/nui/css/style.css create mode 100644 [esx]/esx_textui/nui/index.html create mode 100644 [esx]/esx_textui/nui/js/script.js diff --git a/[esx]/es_extended/client/functions.lua b/[esx]/es_extended/client/functions.lua index 2608f79c..1faf82d8 100644 --- a/[esx]/es_extended/client/functions.lua +++ b/[esx]/es_extended/client/functions.lua @@ -92,6 +92,14 @@ function ESX.ShowNotification(message, type, length) end end +function ESX.TextUI(message, type) + exports["esx_textui"]:TextUI(message, type) +end + +function ESX.HideUI() + exports["esx_textui"]:HideUI() +end + function ESX.ShowAdvancedNotification(sender, subject, msg, textureDict, iconType, flash, saveToBrief, hudColorIndex) if saveToBrief == nil then saveToBrief = true end diff --git a/[esx]/esx_textui/TextUI.lua b/[esx]/esx_textui/TextUI.lua new file mode 100644 index 00000000..5753cd74 --- /dev/null +++ b/[esx]/esx_textui/TextUI.lua @@ -0,0 +1,18 @@ +local function TextUI(message, type) + SendNUIMessage({ + action = 'show', + message = message or 'ESX-TextUI', + type = type or 'info' + }) +end + +local function HideUI() + SendNUIMessage({ + action = 'hide' + }) +end + +exports('TextUI', TextUI) +exports('HideUI', HideUI) +RegisterNetEvent('ESX:TextUI', TextUI) +RegisterNetEvent('ESX:HideUI', HideUI) \ No newline at end of file diff --git a/[esx]/esx_textui/fxmanifest.lua b/[esx]/esx_textui/fxmanifest.lua new file mode 100644 index 00000000..d852702d --- /dev/null +++ b/[esx]/esx_textui/fxmanifest.lua @@ -0,0 +1,14 @@ +fx_version 'adamant' +game 'gta5' +author 'ESX-Framework' +description 'ESX TextUI' + +client_scripts { 'TextUI.lua' } +shared_script '@es_extended/imports.lua' +ui_page 'nui/index.html' + +files { + 'nui/index.html', + 'nui/js/*.js', + 'nui/css/*.css' +} diff --git a/[esx]/esx_textui/nui/css/style.css b/[esx]/esx_textui/nui/css/style.css new file mode 100644 index 00000000..61d24738 --- /dev/null +++ b/[esx]/esx_textui/nui/css/style.css @@ -0,0 +1,14 @@ +:root { + --color: white; + --bgColor: #212121; +} + +* { + padding: 0; + margin: 0; +} + +body { + color: var(--color); + font-family: sans-serif; +} \ No newline at end of file diff --git a/[esx]/esx_textui/nui/index.html b/[esx]/esx_textui/nui/index.html new file mode 100644 index 00000000..b1f1e739 --- /dev/null +++ b/[esx]/esx_textui/nui/index.html @@ -0,0 +1,94 @@ + + + + + + + + + + +
+
+ +

+
+
+
+
+ +

+
+
+
+
+ +

+
+
+ + + + \ No newline at end of file diff --git a/[esx]/esx_textui/nui/js/script.js b/[esx]/esx_textui/nui/js/script.js new file mode 100644 index 00000000..8778d408 --- /dev/null +++ b/[esx]/esx_textui/nui/js/script.js @@ -0,0 +1,21 @@ +const w = window +const doc = document + +$(function () { + w.addEventListener('message', function(e) { + $(".text").text(e.data.message) + if (e.data.action === "show") { + if (e.data.type === "info") { + doc.getElementById("notifyInfo").style.display = "block"; + } else if (e.data.type === "error") { + doc.getElementById("notifyError").style.display = "block"; + } else if (e.data.type === "success") { + doc.getElementById("notifySuccess").style.display = "block"; + } + } else if (e.data.action === "hide") { + doc.getElementById("notifyInfo").style.display = "none"; + doc.getElementById("notifyError").style.display = "none"; + doc.getElementById("notifySuccess").style.display = "none"; + } + }) +}) \ No newline at end of file