mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 21:40:55 +01:00
Vue.js UI implementation (#4868)
This UI is going to be more integrated with BYOND host objects. It's update principal is very different from nanoui's. It is based around state that is being synchronized with server and client (browser). Such synchronization has it's problems, like it can't handle rapid changes, what could cause client and server to become out of sync and client state to be discard.
This commit is contained in:
@@ -6,12 +6,14 @@
|
||||
S["UI_style"] >> pref.UI_style
|
||||
S["UI_style_color"] >> pref.UI_style_color
|
||||
S["UI_style_alpha"] >> pref.UI_style_alpha
|
||||
S["html_UI_style"] >> pref.html_UI_style
|
||||
S["ooccolor"] >> pref.ooccolor
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/ui/save_preferences(var/savefile/S)
|
||||
S["UI_style"] << pref.UI_style
|
||||
S["UI_style_color"] << pref.UI_style_color
|
||||
S["UI_style_alpha"] << pref.UI_style_alpha
|
||||
S["html_UI_style"] << pref.html_UI_style
|
||||
S["ooccolor"] << pref.ooccolor
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/ui/gather_load_query()
|
||||
@@ -21,6 +23,7 @@
|
||||
"UI_style",
|
||||
"UI_style_color",
|
||||
"UI_style_alpha",
|
||||
"html_UI_style",
|
||||
"ooccolor"
|
||||
),
|
||||
"args" = list("ckey")
|
||||
@@ -36,6 +39,7 @@
|
||||
"UI_style",
|
||||
"UI_style_color",
|
||||
"UI_style_alpha",
|
||||
"html_UI_style",
|
||||
"ooccolor",
|
||||
"ckey" = 1
|
||||
)
|
||||
@@ -47,6 +51,7 @@
|
||||
"UI_style_alpha" = pref.UI_style_alpha,
|
||||
"UI_style_color" = pref.UI_style_color,
|
||||
"UI_style" = pref.UI_style,
|
||||
"html_UI_style" = pref.html_UI_style,
|
||||
"ooccolor" = pref.ooccolor
|
||||
)
|
||||
|
||||
@@ -54,6 +59,7 @@
|
||||
pref.UI_style = sanitize_inlist(pref.UI_style, all_ui_styles, initial(pref.UI_style))
|
||||
pref.UI_style_color = sanitize_hexcolor(pref.UI_style_color, initial(pref.UI_style_color))
|
||||
pref.UI_style_alpha = sanitize_integer(text2num(pref.UI_style_alpha), 0, 255, initial(pref.UI_style_alpha))
|
||||
pref.html_UI_style = sanitize_inlist(pref.html_UI_style, SSvueui.available_html_themes, initial(pref.html_UI_style))
|
||||
pref.ooccolor = sanitize_hexcolor(pref.ooccolor, initial(pref.ooccolor))
|
||||
|
||||
/datum/category_item/player_setup_item/player_global/ui/content(mob/user)
|
||||
@@ -63,6 +69,7 @@
|
||||
dat += "<b>Custom UI</b> (recommended for White UI):<br>"
|
||||
dat += "-Color: <a href='?src=\ref[src];select_color=1'><b>[pref.UI_style_color]</b></a> [HTML_RECT(pref.UI_style_color)] - <a href='?src=\ref[src];reset=ui'>reset</a><br>"
|
||||
dat += "-Alpha(transparency): <a href='?src=\ref[src];select_alpha=1'><b>[pref.UI_style_alpha]</b></a> - <a href='?src=\ref[src];reset=alpha'>reset</a><br>"
|
||||
dat += "<b>HTML UI Style:</b> <a href='?src=\ref[src];select_html=1'><b>[pref.html_UI_style]</b></a><br>"
|
||||
if(can_select_ooc_color(user))
|
||||
dat += "<b>OOC Color:</b> "
|
||||
if(pref.ooccolor == initial(pref.ooccolor))
|
||||
@@ -91,6 +98,12 @@
|
||||
pref.UI_style_alpha = UI_style_alpha_new
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["select_html"])
|
||||
var/html_style_new = input(user, "Choose HTML UI style.", "Global Preference", pref.html_UI_style) as null|anything in SSvueui.available_html_themes
|
||||
if(isnull(html_style_new) || !CanUseTopic(user)) return TOPIC_NOACTION
|
||||
pref.html_UI_style = html_style_new
|
||||
return TOPIC_REFRESH
|
||||
|
||||
else if(href_list["select_ooc_color"])
|
||||
var/new_ooccolor = input(user, "Choose OOC color:", "Global Preference") as color|null
|
||||
if(new_ooccolor && can_select_ooc_color(user) && CanUseTopic(user))
|
||||
|
||||
Reference in New Issue
Block a user