From 447d8f7395dcae66a9982448150528fa1fbb20b1 Mon Sep 17 00:00:00 2001 From: KadDarem Date: Thu, 20 Jun 2024 19:14:35 +0200 Subject: [PATCH] Update menu --- docs/.vitepress/config.mjs | 4 + docs/jo_libs/modules/menu/client.md | 74 +++++++++++++++++- .../public/images/preview_statistics_icon.jpg | Bin 0 -> 4822 bytes .../images/preview_statistics_weapon-bar.jpg | Bin 0 -> 5071 bytes 4 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 docs/public/images/preview_statistics_icon.jpg create mode 100644 docs/public/images/preview_statistics_weapon-bar.jpg diff --git a/docs/.vitepress/config.mjs b/docs/.vitepress/config.mjs index caa4cee..a1a3cb7 100644 --- a/docs/.vitepress/config.mjs +++ b/docs/.vitepress/config.mjs @@ -126,6 +126,10 @@ export default defineConfig({ } }, markdown: { + theme: { + light: 'light-plus', + dark: 'slack-dark' + }, config(md) { md.use(tabsMarkdownPlugin) }, diff --git a/docs/jo_libs/modules/menu/client.md b/docs/jo_libs/modules/menu/client.md index 8b6b80a..a49eeb4 100644 --- a/docs/jo_libs/modules/menu/client.md +++ b/docs/jo_libs/modules/menu/client.md @@ -105,7 +105,7 @@ menu:addItem({ > display the price at the right of the item title `statistics` : *table* -> the list of [statistics](./Statistic.md) +> the list of [statistics](#statistics) `disabled` : *boolean* > if the item is disabled (grey in the menu) @@ -350,7 +350,8 @@ Add you .png file in the `nui\menu\assets\images\icons` folder ## Statistics Statistics table is displayed at the bottom of the menu. 5 types of statistics are available: [Bar](#bar), [Bar-style](#bar-style), [Icon](#icon), [Texts](#texts) and [Weapon-bar](#weapon-bar) -There is an example of this 5 types: +Multiple statistics can be use for the same item. +Here is an example of an item with 5 statistics of the 5 types: ### Bar @@ -431,6 +432,43 @@ jo.menu.setCurrentMenu('menu1') jo.menu.show(true) ``` +### Icon +A statistic with icons on the right +#### Syntax +```lua +{label = "", type = "icon", value = {{icon = '', opacity = 1.0}}} +``` +#### Keys +`label` : *string* +> the left label + +`type` : *string* + +`value` : *table* +> A list of table to define the icon from left to right, 1 table = 1 icon +> `icon` : *string* - Icon filename from `nui\menu\assets\images\icons\` folder +> `opacity` : *float (0.0<>1.0)* - The opacity of the icon + + +#### Example +![](/images/preview_statistics_icon.jpg){data-zoomable} +```lua +local menu = jo.menu.create('menu1',{}) +menu.addItem({ + title = "Item", + statistics = { + {label = "The label", type="icon", value = { + {icon = "player_health", opacity = 1}, --the 1st icon + {icon = "player_health", opacity = 0.75}, --the 2nd icon + {icon = "player_health", opacity = 0.3} --the 3rd icon + }}, + } +}) +menu:send() +jo.menu.setCurrentMenu('menu1') +jo.menu.show(true) +``` + ### Texts Basic statistic with two labels #### Syntax @@ -457,4 +495,36 @@ menu.addItem({ menu:send() jo.menu.setCurrentMenu('menu1') jo.menu.show(true) +``` + +### Weapon-bar +A statistic with the weapon bar design. Useful to display a percent of completion +#### Syntax +```lua +{label = "", type="weapon-bar", value = {current,max}} +``` +#### Keys +`label` : *string* +> The left label + +`type` : *string* + +`value` : *table* +> The percent of completion is calculated by `value.current\value.max` +> `value.current` : *float* - the current value of the statistic +> `value.max` : *float* - the max value the statistic can reach + +#### Example +![](/images/preview_statistics_weapon-bar.jpg){data-zoomable} +```lua +local menu = jo.menu.create('menu1',{}) +menu.addItem({ + title = "Item", + statistics = { + {label = "The label", type="weapon-bar", value = {60,100}} + } +}) +menu:send() +jo.menu.setCurrentMenu('menu1') +jo.menu.show(true) ``` \ No newline at end of file diff --git a/docs/public/images/preview_statistics_icon.jpg b/docs/public/images/preview_statistics_icon.jpg new file mode 100644 index 0000000000000000000000000000000000000000..2008cee79ef17ad52ccca92cfd3c3b0edccb152a GIT binary patch literal 4822 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