Skip to content

Latest commit

 

History

64 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Feather Menu

A standalone NUI menu system for RedM (RedM/FiveM, rdr3). Menus are defined entirely in Lua and rendered via a Vue 3 frontend.

Version: 1.3.4
Game: RedM (rdr3)
Framework: Standalone (no framework dependency)
API Docs: featherframework.net/api/Menu

Requirements

  • RedM server with fx_version adamant or newer
  • Lua 5.4 (lua54 'yes' is set in the manifest)

Installation

  1. Download feather-menu.zip from releases/latest
  2. Extract and place the feather-menu folder into your server's resources directory
  3. Add ensure feather-menu to your server.cfg
  4. Restart the server or start the resource with start feather-menu

Available Elements

Type Description
header Draggable title bar
subheader Secondary heading
line Horizontal separator
bottomline Separator pinned to bottom
button Clickable button with optional sound
input Text input field
textarea Multi-line text input
slider Numeric range slider
arrows Arrow-based option selector
toggle On/off toggle
checkbox Checkbox
dropdown Dropdown select
gridslider 2D grid/radar slider
imagebox / imageboxcontainer Image display
html Raw HTML element
pagearrows Page navigation arrows
textdisplay Read-only text

Usage

local FeatherMenu = exports['feather-menu']:initiate()

local menu = FeatherMenu:RegisterMenu('my_menu', {
    top = '50%',
    left = '50%',
    draggable = true,
    canclose = true,
}, {})

local page = menu:RegisterPage('main_page')

local button = page:RegisterElement('button', {
    label = 'Click Me',
    slot = 'content'
}, function(data, element)
    print('Button clicked')
end)

menu:Open({ startupPage = page })

Multiple Menus

Multiple menus can be registered and opened simultaneously. By default, opening a menu will close any currently active menu (overrideMenu = true). Set overrideMenu = false to block opening if another menu is already open.

Notifications

FeatherMenu:Notify({
    message = 'Hello',
    type = 'success', -- info | success | warning | error | default
    autoClose = 3000,
    position = 'top-right'
}, function(data)
    -- optional callback on open/close
end)

Screenshots

Menu

image image image image image image

Notifications

notifications

Planned

  • Keyboard/controller native button prompts
  • Color picker element
  • Radio button element

About

An easy-to-use Menu API system for the Feather Framework

Topics

Resources

Stars

18 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages