Styles basic HTML UIs (#7001)

This commit is contained in:
Karolis
2019-09-24 00:42:15 +04:00
committed by Werner
parent 18557e5fce
commit 61f6e5a6c1
53 changed files with 257 additions and 293 deletions
+2
View File
@@ -6,6 +6,8 @@
#define THEME_TYPE_DARK 1
#define THEME_TYPE_LIGHT 0
#define FALLBACK_HTML_THEME "theme-nano dark-theme"
#define VUEUI_MONITOR_VARS(type, monitor_name) \
/datum/vueui_var_monitor/##monitor_name { subject_type = type; }; \
\
+10 -1
View File
@@ -285,4 +285,13 @@ proc/tg_list2text(list/list, glue=",")
if(isnull(c))
return null
r += ascii2text(c)
return r
return r
/proc/hex2cssrgba(var/hex, var/alpha)
var/textr = copytext(hex, 2, 4)
var/textg = copytext(hex, 4, 6)
var/textb = copytext(hex, 6, 8)
var/r = hex2num(textr)
var/g = hex2num(textg)
var/b = hex2num(textb)
return "rgba([r], [g], [b], [alpha])"
+45 -17
View File
@@ -50,6 +50,11 @@ Byond Vue UI framework's management subsystem
..()
for(var/mob/M in mob_list)
var/mob/abstract/new_player/np = M
if(istype(np))
np.new_player_panel_proc()
/**
* Gets a vueui_var_monitor associated with the given source type.
*
@@ -222,25 +227,48 @@ Byond Vue UI framework's management subsystem
if (!LAZYLEN(open_uis[old_object_key]))
open_uis -= old_object_key
/datum/controller/subsystem/processing/vueui/proc/get_html_theme_header()
return {"<meta http-equiv="X-UA-Compatible" content="IE=edge"><link rel="stylesheet" type="text/css" href="vueui.css">"}
/datum/controller/subsystem/processing/vueui/proc/get_html_theme(var/mob/user)
var/client/cl = null
if(istype(user))
cl = user.client
else
if(istype(user, /client))
cl = user
if(!cl)
return
var/style = cl.prefs.html_UI_style
if(!(style in available_html_themes))
style = "Nano"
return available_html_themes[style]
/datum/controller/subsystem/processing/vueui/proc/get_html_theme_class(var/mob/user)
if(user.client)
var/style = user.client.prefs.html_UI_style
if(!(style in available_html_themes))
style = "Nano"
var/list/theme = available_html_themes[style]
var/class = ""
class += "[theme["class"]]"
if(theme["type"] == THEME_TYPE_DARK)
class += " dark-theme"
return class
return ""
var/list/theme = get_html_theme(user)
if(!theme)
return FALLBACK_HTML_THEME
var/class = ""
class += "[theme["class"]]"
if(theme["type"] == THEME_TYPE_DARK)
class += " dark-theme"
return class
/datum/controller/subsystem/processing/vueui/proc/send_theme_resources(var/mob/user)
if(user.client)
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/vueui_theming)
assets.send(user.client)
/proc/send_theme_resources(var/user)
#ifdef UIDEBUG
user << browse_rsc(file("vueui/dist/app.js"), "vueui.js")
user << browse_rsc(file("vueui/dist/app.css"), "vueui.css")
#else
simple_asset_ensure_is_sent(user, /datum/asset/simple/vueui)
#endif
/proc/get_html_theme_header(var/themeclass, var/extra_header = "")
return {"<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"><link rel="stylesheet" type="text/css" href="vueui.css">[extra_header]</head><body class="[themeclass]">"}
/proc/get_html_theme_footer()
return {"</body></html>"}
/proc/enable_ui_theme(var/user, var/contents, var/extra_header = "")
var/theme_class = FALLBACK_HTML_THEME
if(SSvueui)
theme_class = SSvueui.get_html_theme_class(user)
return get_html_theme_header(theme_class, extra_header) + contents + get_html_theme_footer()
#undef NULL_OR_EQUAL
+1 -1
View File
@@ -7,7 +7,7 @@
total_positions = -1
spawn_positions = -1
supervisors = "absolutely everyone"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
economic_modifier = 1
access = list() //See /datum/job/assistant/get_access()
minimal_access = list() //See /datum/job/assistant/get_access()
+2 -2
View File
@@ -10,7 +10,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
total_positions = 1
spawn_positions = 1
supervisors = "company officials and Corporate Regulations"
selection_color = "#ccccff"
selection_color = "#4747FF"
access = list() //See get_access()
minimal_access = list() //See get_access()
minimal_player_age = 14
@@ -71,7 +71,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1)
total_positions = 1
spawn_positions = 1
supervisors = "the captain"
selection_color = "#ddddff"
selection_color = "#9696FF"
minimal_player_age = 10
economic_modifier = 10
ideal_character_age = 50
+9 -9
View File
@@ -8,7 +8,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_hydroponics, access_bar, access_kitchen)
minimal_access = list(access_bar)
alt_titles = list("Barista")
@@ -33,7 +33,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_hydroponics, access_bar, access_kitchen)
minimal_access = list(access_kitchen)
alt_titles = list("Cook")
@@ -63,7 +63,7 @@
total_positions = 2
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_hydroponics, access_bar, access_kitchen)
minimal_access = list(access_hydroponics)
alt_titles = list("Hydroponicist")
@@ -105,7 +105,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
economic_modifier = 5
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
@@ -135,7 +135,7 @@
total_positions = 3
spawn_positions = 3
supervisors = "the quartermaster and the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
minimal_access = list(access_maint_tunnels, access_cargo, access_cargo_bot, access_mailsorting)
outfit = /datum/outfit/job/cargo_tech
@@ -159,7 +159,7 @@
total_positions = 4
spawn_positions = 4
supervisors = "the quartermaster and the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
economic_modifier = 5
access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mining, access_mining_station)
minimal_access = list(access_mining, access_mining_station, access_mailsorting)
@@ -195,7 +195,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical)
minimal_access = list(access_janitor, access_maint_tunnels, access_engine, access_research, access_sec_doors, access_medical)
outfit = /datum/outfit/job/janitor
@@ -218,7 +218,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_journalist, access_maint_tunnels)
minimal_access = list(access_journalist, access_maint_tunnels)
alt_titles = list("Freelance Journalist")
@@ -261,7 +261,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_library, access_maint_tunnels)
minimal_access = list(access_library)
outfit = /datum/outfit/job/librarian
+1 -1
View File
@@ -8,7 +8,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of personnel"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
access = list(access_morgue, access_chapel_office, access_crematorium, access_maint_tunnels)
minimal_access = list(access_morgue, access_chapel_office, access_crematorium)
alt_titles = list("Presbyter","Rabbi","Imam","Priest","Shaman","Counselor")
+4 -4
View File
@@ -8,7 +8,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the captain"
selection_color = "#ffeeaa"
selection_color = "#FFD737"
economic_modifier = 10
ideal_character_age = 50
@@ -60,7 +60,7 @@
total_positions = 5
spawn_positions = 5
supervisors = "the chief engineer"
selection_color = "#fff5cc"
selection_color = "#FFEA95"
economic_modifier = 5
access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics)
minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction)
@@ -93,7 +93,7 @@
total_positions = 3
spawn_positions = 2
supervisors = "the chief engineer"
selection_color = "#fff5cc"
selection_color = "#FFEA95"
economic_modifier = 5
access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks)
minimal_access = list(access_eva, access_engine, access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks)
@@ -122,7 +122,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the Chief Engineer"
selection_color = "#fff5cc"
selection_color = "#FFEA95"
access = list(access_maint_tunnels, access_construction, access_engine_equip, access_engine)
minimal_access = list(access_maint_tunnels, access_construction, access_engine_equip, access_engine)
outfit = /datum/outfit/job/intern_eng
+1 -1
View File
@@ -12,7 +12,7 @@
var/spawn_positions = 0 // How many players can spawn in as this job
var/current_positions = 0 // How many players have this job
var/supervisors = null // Supervisors, who this person answers to directly
var/selection_color = "#ffffff" // Selection screen color
var/selection_color = "#888888" // Selection screen color
var/list/alt_titles // List of alternate titles, if any
var/list/title_accesses // A map of title -> list of accesses to add if the person has this title.
var/minimal_player_age = 0 // If you have use_age_restriction_for_jobs config option enabled and the database set up, this option will add a requirement for players to be at least minimal_player_age days old. (meaning they first signed in at least that many days before.)
+6 -6
View File
@@ -8,7 +8,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the captain"
selection_color = "#ffddf0"
selection_color = "#FF56B4"
economic_modifier = 10
access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads,
access_pharmacy, access_virology, access_cmo, access_surgery, access_RC_announce, access_engine, access_construction,
@@ -50,7 +50,7 @@
total_positions = 5
spawn_positions = 3
supervisors = "the chief medical officer"
selection_color = "#ffeef0"
selection_color = "#FF97D1"
economic_modifier = 7
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_eva)
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_eva)
@@ -113,7 +113,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the chief medical officer"
selection_color = "#ffeef0"
selection_color = "#FF97D1"
economic_modifier = 5
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics)
minimal_access = list(access_medical, access_medical_equip, access_pharmacy, access_virology)
@@ -160,7 +160,7 @@
spawn_positions = 1
economic_modifier = 5
supervisors = "the chief medical officer"
selection_color = "#ffeef0"
selection_color = "#FF97D1"
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_genetics, access_psychiatrist)
minimal_access = list(access_medical, access_medical_equip, access_psychiatrist)
alt_titles = list("Psychologist")
@@ -194,7 +194,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the chief medical officer"
selection_color = "#ffeef0"
selection_color = "#FF97D1"
economic_modifier = 4
access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_pharmacy, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist, access_paramedic)
minimal_access = list(access_medical, access_medical_equip, access_morgue, access_eva, access_maint_tunnels, access_external_airlocks, access_paramedic)
@@ -235,7 +235,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the Chief Medical Officer"
selection_color = "#ffeef0"
selection_color = "#FF97D1"
access = list(access_medical, access_surgery, access_medical_equip)
minimal_access = list(access_medical, access_surgery, access_medical_equip)
alt_titles = list("Medical Intern")
@@ -7,7 +7,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "company officials"
selection_color = "#dddddd"
selection_color = "#C0C0C0"
economic_modifier = 7
latejoin_at_spawnpoints = TRUE
access = list(access_lawyer, access_maint_tunnels)
+5 -5
View File
@@ -8,7 +8,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the captain"
selection_color = "#ffddff"
selection_color = "#FF40FF"
economic_modifier = 15
access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_eva, access_external_airlocks,
access_tox_storage, access_teleporter, access_sec_doors, access_medical, access_engine, access_construction,
@@ -49,7 +49,7 @@
total_positions = 5
spawn_positions = 3
supervisors = "the research director"
selection_color = "#ffeeff"
selection_color = "#FFAAFF"
economic_modifier = 7
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch)
minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch)
@@ -82,7 +82,7 @@
total_positions = 3
spawn_positions = 2
supervisors = "the research director"
selection_color = "#ffeeff"
selection_color = "#FFAAFF"
economic_modifier = 7
access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_hydroponics)
minimal_access = list(access_research, access_xenobiology, access_hydroponics, access_tox_storage)
@@ -105,7 +105,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "research director"
selection_color = "#ffeeff"
selection_color = "#FFAAFF"
economic_modifier = 5
access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access.
minimal_access = list(access_robotics, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access.
@@ -139,7 +139,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the Research Director"
selection_color = "#ffeeff"
selection_color = "#FFAAFF"
access = list(access_research, access_tox)
minimal_access = list(access_research, access_tox)
outfit = /datum/outfit/job/intern_sci
+6 -6
View File
@@ -8,7 +8,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the captain"
selection_color = "#ffdddd"
selection_color = "#FF6363"
economic_modifier = 10
access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory,
access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers,
@@ -66,7 +66,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of security"
selection_color = "#ffeeee"
selection_color = "#FFA4A4"
economic_modifier = 5
access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_morgue, access_external_airlocks, access_weapons)
minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_maint_tunnels, access_external_airlocks, access_weapons)
@@ -112,7 +112,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of security"
selection_color = "#ffeeee"
selection_color = "#FFA4A4"
economic_modifier = 5
access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_detective, access_weapons)
minimal_access = list(access_security, access_sec_doors, access_morgue, access_maint_tunnels, access_detective, access_weapons)
@@ -150,7 +150,7 @@
total_positions = 1
spawn_positions = 1
supervisors = "the head of security"
selection_color = "#ffeeee"
selection_color = "#FFA4A4"
economic_modifier = 5
access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_weapons)
minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_weapons)
@@ -197,7 +197,7 @@
total_positions = 4
spawn_positions = 4
supervisors = "the head of security"
selection_color = "#ffeeee"
selection_color = "#FFA4A4"
// alt_titles = list("Junior Officer") //aurora already has security cadets
economic_modifier = 4
access = list(access_security, access_eva, access_sec_doors, access_brig, access_maint_tunnels, access_morgue, access_external_airlocks, access_weapons)
@@ -241,7 +241,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "the Head of Security"
selection_color = "#ffeeee"
selection_color = "#FFA4A4"
access = list(access_security, access_sec_doors, access_maint_tunnels)
minimal_access = list(access_security, access_sec_doors, access_maint_tunnels)
outfit = /datum/outfit/job/intern_sec
+2 -2
View File
@@ -5,7 +5,7 @@
faction = "Station"
total_positions = 0 // Not used for AI, see is_position_available below and modules/mob/living/silicon/ai/latejoin.dm
spawn_positions = 1
selection_color = "#ccffcc"
selection_color = "#00ff00"
supervisors = "your laws"
minimal_player_age = 7
account_allowed = 0
@@ -30,7 +30,7 @@
total_positions = 2
spawn_positions = 2
supervisors = "your laws and the AI" //Nodrak
selection_color = "#ddffdd"
selection_color = "#4dff4d"
minimal_player_age = 1
alt_titles = list("Android", "Robot")
account_allowed = 0
-21
View File
@@ -196,31 +196,10 @@ var/list/asset_datums = list()
/datum/asset/simple/changelog
assets = list(
"88x31.png" = 'html/88x31.png',
"bug-minus.png" = 'html/bug-minus.png',
"cross-circle.png" = 'html/cross-circle.png',
"hard-hat-exclamation.png" = 'html/hard-hat-exclamation.png',
"image-minus.png" = 'html/image-minus.png',
"image-plus.png" = 'html/image-plus.png',
"map-pencil.png" = 'html/map-pencil.png',
"music-minus.png" = 'html/music-minus.png',
"music-plus.png" = 'html/music-plus.png',
"tick-circle.png" = 'html/tick-circle.png',
"wrench-screwdriver.png" = 'html/wrench-screwdriver.png',
"spell-check.png" = 'html/spell-check.png',
"burn-exclamation.png" = 'html/burn-exclamation.png',
"scales.png" = 'html/scales.png',
"chevron.png" = 'html/chevron.png',
"chevron-expand.png" = 'html/chevron-expand.png',
"changelog.css" = 'html/changelog.css',
"changelog.js" = 'html/changelog.js'
)
/datum/asset/simple/vueui_theming
assets = list(
"vueui.css" = 'vueui/dist/app.css'
)
/datum/asset/simple/vueui
assets = list(
"vueui.js" = 'vueui/dist/app.js',
@@ -134,12 +134,12 @@ var/list/gear_datums = list()
. += " [category] "
else
var/datum/loadout_category/LC = loadout_categories[category]
var/tcolor = "#3366CC"
var/style = ""
for(var/thing in LC.gear)
if(thing in pref.gear)
tcolor = "#E67300"
style = "style='color: #FF8000;'"
break
. += " <a href='?src=\ref[src];select_category=[category]'><font color = '[tcolor]'>[category]</font></a> "
. += " <a href='?src=\ref[src];select_category=[category]'><font [style]>[category]</font></a> "
. += "</b></center></td></tr>"
var/datum/loadout_category/LC = loadout_categories[current_tab]
@@ -151,7 +151,10 @@ var/list/gear_datums = list()
continue
var/datum/gear/G = LC.gear[gear_name]
var/ticked = (G.display_name in pref.gear)
. += "<tr style='vertical-align:top'><td width=25%><a href='?src=\ref[src];toggle_gear=[G.display_name]'><font color='[ticked ? "#E67300" : "#3366CC"]'>[G.display_name]</font></a></td>"
var/style = ""
if(ticked)
style = "style='color: #FF8000;'"
. += "<tr style='vertical-align:top'><td width=25%><a href='?src=\ref[src];toggle_gear=[G.display_name]'><font [style]>[G.display_name]</font></a></td>"
. += "<td width = 10% style='vertical-align:top'>[G.cost]</td>"
. += "<td><font size=2><i>[G.description]</i></font></td></tr>"
if(ticked)
@@ -165,15 +165,10 @@
for(var/datum/job/job in faction.get_occupations())
index += 1
if((index >= limit) || (job.title in splitJobs))
if((index < limit) && (lastJob != null))
//If the cells were broken up by a job in the splitJob list then it will fill in the rest of the cells with
//the last job's selection color. Creating a rather nice effect.
for(var/i = 0, i < (limit - index), i += 1)
dat += "<tr bgcolor='[lastJob.selection_color]'><td width='60%' align='right'><a>&nbsp</a></td><td><a>&nbsp</a></td></tr>"
dat += "</table></td><td width='20%'><table width='100%' cellpadding='1' cellspacing='0'>"
index = 0
dat += "<tr bgcolor='[job.selection_color]'><td width='60%' align='right'>"
dat += "<tr style='background-color: [hex2cssrgba(job.selection_color, 0.4)];'><td width='60%' align='right'>"
var/rank = job.title
lastJob = job
var/ban_reason = jobban_isbanned(user, rank)
@@ -205,7 +200,7 @@
else
dat += " <font color=red>\[No]</font>"
if(job.alt_titles) //Blatantly cloned from a few lines down.
dat += "</a></td></tr><tr bgcolor='[lastJob.selection_color]'><td width='60%' align='center'>&nbsp</td><td><a href='?src=\ref[src];select_alt_title=\ref[job]'>\[[pref.GetPlayerAltTitle(job)]\]</a></td></tr>"
dat += "</a></td></tr><tr style='background-color: [hex2cssrgba(lastJob.selection_color, 0.4)];'><td width='60%' align='center'>&nbsp</td><td><a href='?src=\ref[src];select_alt_title=\ref[job]'>\[[pref.GetPlayerAltTitle(job)]\]</a></td></tr>"
dat += "</a></td></tr>"
continue
@@ -218,7 +213,7 @@
else
dat += " <font color=red>\[NEVER]</font>"
if(job.alt_titles)
dat += "</a></td></tr><tr bgcolor='[lastJob.selection_color]'><td width='60%' align='center'>&nbsp</td><td><a href='?src=\ref[src];select_alt_title=\ref[job]'>\[[pref.GetPlayerAltTitle(job)]\]</a></td></tr>"
dat += "</a></td></tr><tr style='background-color: [hex2cssrgba(lastJob.selection_color, 0.4)];'><td width='60%' align='center'>&nbsp</td><td><a href='?src=\ref[src];select_alt_title=\ref[job]'>\[[pref.GetPlayerAltTitle(job)]\]</a></td></tr>"
dat += "</a></td></tr>"
dat += "</td'></tr></table>"
@@ -78,14 +78,14 @@
var/level = pref.skills[S.ID]
dat += "<tr style='text-align:left;'>"
dat += "<th><a href='?src=\ref[src];skillinfo=\ref[S]'>[S.name]</a></th>"
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_NONE]'><font color=[(level == SKILL_NONE) ? "red" : "black"]>\[Untrained\]</font></a></th>"
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_NONE]'><font color=[(level == SKILL_NONE) ? "red" : ""]>\[Untrained\]</font></a></th>"
// secondary skills don't have an amateur level
if(S.secondary)
dat += "<th></th>"
else
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_BASIC]'><font color=[(level == SKILL_BASIC) ? "red" : "black"]>\[Amateur\]</font></a></th>"
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_ADEPT]'><font color=[(level == SKILL_ADEPT) ? "red" : "black"]>\[Trained\]</font></a></th>"
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_EXPERT]'><font color=[(level == SKILL_EXPERT) ? "red" : "black"]>\[Professional\]</font></a></th>"
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_BASIC]'><font color=[(level == SKILL_BASIC) ? "red" : ""]>\[Amateur\]</font></a></th>"
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_ADEPT]'><font color=[(level == SKILL_ADEPT) ? "red" : ""]>\[Trained\]</font></a></th>"
dat += "<th><a href='?src=\ref[src];setskill=\ref[S];newvalue=[SKILL_EXPERT]'><font color=[(level == SKILL_EXPERT) ? "red" : ""]>\[Professional\]</font></a></th>"
dat += "</tr>"
dat += "</table>"
. = dat.Join()
+9 -10
View File
@@ -224,7 +224,7 @@ datum/preferences
/datum/preferences/proc/ShowChoices(mob/user)
if(!user || !user.client) return
var/dat = "<html><body><center>"
var/dat = "<center>"
if(path)
dat += "<a href='?src=\ref[src];load=1'>Load slot</a> - "
@@ -240,9 +240,8 @@ datum/preferences
dat += player_setup.header()
dat += "<br><HR></center>"
dat += player_setup.content(user)
dat += "</html></body>"
user << browse(dat, "window=preferences;size=800x800")
send_theme_resources(user)
user << browse(enable_ui_theme(user, dat), "window=preferences;size=800x800")
/datum/preferences/proc/process_link(mob/user, list/href_list)
if(!user) return
@@ -391,8 +390,7 @@ datum/preferences
character.update_icons()
/datum/preferences/proc/open_load_dialog_sql(mob/user)
var/dat = "<body>"
dat += "<tt><center>"
var/dat = "<tt><center>"
for(var/ckey in preferences_datums)
var/datum/preferences/D = preferences_datums[ckey]
@@ -426,12 +424,12 @@ datum/preferences
dat += "<hr>"
dat += "<a href='?src=\ref[src];close_load_dialog=1'>Close</a><br>"
dat += "</center></tt>"
user << browse(dat, "window=saves;size=300x390")
send_theme_resources(user)
user << browse(enable_ui_theme(user, dat), "window=saves;size=300x390")
/datum/preferences/proc/open_load_dialog_file(mob/user)
var/dat = "<body>"
dat += "<tt><center>"
var/dat = "<tt><center>"
var/savefile/S = new /savefile(path)
if(S)
@@ -447,7 +445,8 @@ datum/preferences
dat += "<hr>"
dat += "</center></tt>"
user << browse(dat, "window=saves;size=300x390")
send_theme_resources(user)
user << browse(enable_ui_theme(user, dat), "window=saves;size=300x390")
/datum/preferences/proc/close_load_dialog(mob/user)
user << browse(null, "window=saves")
@@ -63,8 +63,8 @@ INITIALIZE_IMMEDIATE(/mob/abstract/new_player)
output += "<p><a href='byond://?src=\ref[src];showpoll=1'>Show Player Polls</A></p>"
output += "</div>"
src << browse(output,"window=playersetup;size=310x350;can_close=0")
send_theme_resources(src)
src << browse(enable_ui_theme(src, output),"window=playersetup;size=310x350;can_close=0")
/mob/abstract/new_player/Stat()
..()
+2 -1
View File
@@ -494,7 +494,8 @@
set category = "OOC"
var/datum/asset/changelog = get_asset_datum(/datum/asset/simple/changelog)
changelog.send(src)
src << browse('html/changelog.html', "window=changes;size=675x650")
send_theme_resources(src)
src << browse(enable_ui_theme(src, file2text("html/changelog.html"), file2text("html/templates/changelog_extra_header.html")), "window=changes;size=675x650")
if(prefs.lastchangelog != changelog_hash)
prefs.lastchangelog = changelog_hash
prefs.save_preferences()
+1 -7
View File
@@ -172,13 +172,7 @@ main ui datum.
* @return nothing
*/
/datum/vueui/proc/send_resources_and_assets(var/client/cl)
#ifdef UIDEBUG
cl << browse_rsc(file("vueui/dist/app.js"), "vueui.js")
cl << browse_rsc(file("vueui/dist/app.css"), "vueui.css")
#else
var/datum/asset/assets = get_asset_datum(/datum/asset/simple/vueui)
assets.send(cl)
#endif
send_theme_resources(cl)
for(var/asset_name in assets)
var/asset = assets[asset_name]
if (!QDELETED(asset["img"]))
+1 -8
View File
@@ -1,11 +1,4 @@
<html>
<head><title>Server Rules</title></head>
<body>
<!--
Example: baystation12 rules embed.
<iframe width='100%' height='100%' src="http://wiki.baystation12.net/index.php?title=Rules&printable=yes&remove_links=1" frameborder="0" id="main_frame"></iframe>
-->
</body>
</html>
-->
Binary file not shown.

Before

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 727 B

+31 -37
View File
@@ -5,27 +5,35 @@ a img {border:none;}
padding:2px 10px 2px 30px;
background-position:6px center;
background-repeat:no-repeat;
border:1px solid #ddd;
border-left:4px solid #999;
border:1px solid rgba(180, 180, 180, 0.3);
border-left:4px solid rgba(107, 107, 107, 0.3);
margin-bottom:2px;
position: relative;
}
.bugfix {background-image:url(bug-minus.png)}
.wip {background-image:url(hard-hat-exclamation.png)}
.tweak {background-image:url(wrench-screwdriver.png)}
.soundadd {background-image:url(music-plus.png)}
.sounddel {background-image:url(music-minus.png)}
.rscdel {background-image:url(cross-circle.png)}
.rscadd {background-image:url(tick-circle.png)}
.imageadd {background-image:url(image-plus.png)}
.imagedel {background-image:url(image-minus.png)}
.spellcheck {background-image:url(spell-check.png)}
.experiment {background-image:url(burn-exclamation.png)}
.maptweak {background-image:url(map-pencil.png)}
.balance {background-image:url(scales.png)}
.admin {background-image:url(toolbox.png)}
.backend {background-image:url(disk.png)}
.security {background-image:url(shield.png)}
.refactor {background-image:url(retort.png)}
.bugfix::before, .wip::before, .tweak::before, .soundadd::before, .sounddel::before, .rscdel::before, .rscadd::before, .imageadd::before, .imagedel::before, .spellcheck::before, .experiment::before, .maptweak::before, .balance::before, .admin::before, .backend::before, .security::before, .refactor::before {
font-family: 'Font Awesome 5 Free';
font-weight: 900;
position: absolute;
left: 6px;
top: 3px;
}
.bugfix::before {content: '\f188'}
.wip::before {content: '\f807'}
.tweak::before {content: '\f7d9'}
.soundadd::before {content: '\f001'}
.sounddel::before {content: '\f001'}
.rscdel::before {content: '\f057'}
.rscadd::before {content: '\f058'}
.imageadd::before {content: '\f03e'}
.imagedel::before {content: '\f03e'}
.spellcheck::before {content: '\f891'}
.experiment::before {content: '\f071'}
.maptweak::before {content: '\f279'}
.balance::before {content: '\f24e'}
.admin::before {content: '\f552'}
.backend::before {content: '\f0a0'}
.security::before {content: '\f3ed'}
.refactor::before {content: '\f0c3'}
.sansserif {font-size:12px;}
.commit {
margin-bottom:20px;
@@ -35,7 +43,6 @@ a img {border:none;}
list-style:none;
margin:5px 0;
padding:0 0 0 25px;
font-size:0.8em;
}
.date {
margin:10px 0;
@@ -52,22 +59,7 @@ a img {border:none;}
font-weight:bold;
font-size:0.9em;
}
.drop {
cursor:pointer;
border:1px solid #999;
display:inline;
font-size:0.9em;
padding:1px 20px 1px 5px;
line-height:16px;
}
.hidden {display:none;}
.indrop {
margin:2px 0 0 0;
clear:both;
background:#fff;
border:1px solid #ddd;
padding:5px 10px;
}
.indrop p {
margin:0;
font-size:0.8em;
@@ -77,6 +69,8 @@ a img {border:none;}
.indrop img {
margin-right:5px;
vertical-align:middle;}
.closed {background:url(chevron-expand.png) right center no-repeat;}
.open {background:url(chevron.png) right center no-repeat;}
.lic {font-size:9px;}
.dark-theme .date {
color:goldenrod;
border-bottom:2px solid goldenrod;
}
+47 -70
View File
@@ -1,60 +1,39 @@
<!DOCTYPE html>
<html>
<head>
<title>Aurorastation Changelog</title>
<link rel="stylesheet" type="text/css" href="changelog.css">
<base target="_blank" />
<script type='text/javascript'>
function changeText(tagID, newText, linkTagID){
var tag = document.getElementById(tagID);
tag.innerHTML = newText;
var linkTag = document.getElementById(linkTagID);
linkTag.removeAttribute("href");
linkTag.removeAttribute("onclick");
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<table align='center' width='650'><tr><td>
<table align='center' class="top">
<tr>
<td valign='top'>
<div align='center'><font size='3'><b>Space Station 13</b></font></div>
<p><div align='center'><font size='3'><a href="https://aurorastation.org/wiki/index.php?title=Main_Page">Wiki</a> | <a href="https://github.com/Aurorastation/Aurora.3">Source code</a></font></div></p>
<font size='2'>Code licensed under <a href="http://www.gnu.org/licenses/agpl.html">AGPLv3</a>. Content licensed under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>.<br><br>
</td>
</tr>
</table>
<br><b>Baystation 12 / Aurorastation Credit List</b>
<table align='center' class="top">
<tr>
<td valign='top'>
<font size='2'><b>Current Project Maintainers:</b> <a href='https://github.com/orgs/Aurorastation/people'>-Click Here-</a><br></font>
<font size='2'><b>Currently Active GitHub contributor list:</b> <a href='https://github.com/Aurorastation/Aurora.3/graphs/contributors'>-Click Here-</a><br></font>
<font size='2'><b>Code:</b> Abi79, Aryn, Cael_Aislinn, Ccomp5950, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, JoeyJo0, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, PsiOmegaDelta, SkyMarshal, Snapshot, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty<br></font>
<font size='2'><b>Sprites:</b> Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, JoeyJo0, Miniature, Searif, Xenone, faux<br></font>
<font size='2'><b>Sounds:</b> Aryn<br></font>
<font size='2'><b>Main Testers:</b> Anyone who has submitted a bug to the issue tracker<br></font>
<font size='2'><b>Thanks to:</b> /tg/ station, /vg/station, GoonStation devs, Baystation 12 devs, the original SpaceStation developers and FFrances for the title image.<br> Also a thanks to anybody who has contributed who is not listed here :( Ask to be added here on irc.</font>
<font size='2' color='red'><b><br>Have a bug to report?</b> Visit our <a href="https://github.com/Aurorastation/Aurora.3/issues">Issue Tracker</a>.<br></font>
</td>
</tr>
</table>
<!--
TO ADD AN ENTRY, ADD AND MAINTAIN YOUR OWN changelog/USERNAME.yml FILE.
*** DO NOT MODIFY THIS FILE OR YOU WILL CAUSE MERGE CONFLICTS. ***
-->
<div class="commit sansserif">
<table align='center' width='650'><tr><td>
<table align='center' class="top">
<tr>
<td valign='top'>
<div align='center'><font size='3'><b>Space Station 13</b></font></div>
<p><div align='center'><font size='3'><a href="https://aurorastation.org/wiki/index.php?title=Main_Page">Wiki</a> | <a href="https://github.com/Aurorastation/Aurora.3">Source code</a></font></div></p>
<font size='2'>Code licensed under <a href="http://www.gnu.org/licenses/agpl.html">AGPLv3</a>. Content licensed under <a href="http://creativecommons.org/licenses/by-sa/3.0/">CC BY-SA 3.0</a>.<br><br>
</td>
</tr>
</table>
<br><b>Baystation 12 / Aurorastation Credit List</b>
<table align='center' class="top">
<tr>
<td valign='top'>
<font size='2'><b>Current Project Maintainers:</b> <a href='https://github.com/orgs/Aurorastation/people'>-Click Here-</a><br></font>
<font size='2'><b>Currently Active GitHub contributor list:</b> <a href='https://github.com/Aurorastation/Aurora.3/graphs/contributors'>-Click Here-</a><br></font>
<font size='2'><b>Code:</b> Abi79, Aryn, Cael_Aislinn, Ccomp5950, Chinsky, cib, CompactNinja, DopeGhoti, Erthilo, Hawk_v3, Head, Ispil, JoeyJo0, Lexusjjss, Melonstorm, Miniature, Mloc, NerdyBoy1104, PsiOmegaDelta, SkyMarshal, Snapshot, Spectre, Strumpetplaya, Sunfall, Tastyfish, Uristqwerty<br></font>
<font size='2'><b>Sprites:</b> Apple_Master, Arcalane, Chinsky, CompactNinja, Deus Dactyl, Erthilo, Flashkirby, JoeyJo0, Miniature, Searif, Xenone, faux<br></font>
<font size='2'><b>Sounds:</b> Aryn<br></font>
<font size='2'><b>Main Testers:</b> Anyone who has submitted a bug to the issue tracker<br></font>
<font size='2'><b>Thanks to:</b> /tg/ station, /vg/station, GoonStation devs, Baystation 12 devs, the original SpaceStation developers and FFrances for the title image.<br> Also a thanks to anybody who has contributed who is not listed here :( Ask to be added here on irc.</font>
<font size='2' color='red'><b><br>Have a bug to report?</b> Visit our <a href="https://github.com/Aurorastation/Aurora.3/issues">Issue Tracker</a>.<br></font>
</td>
</tr>
</table>
<!--
TO ADD AN ENTRY, ADD AND MAINTAIN YOUR OWN changelog/USERNAME.yml FILE.
*** DO NOT MODIFY THIS FILE OR YOU WILL CAUSE MERGE CONFLICTS. ***
-->
<div class="commit sansserif">
<h2 class="date">22 September 2019</h2>
<h3 class="author">Alberyk updated:</h3>
@@ -9883,16 +9862,14 @@
<li class="bugfix">Now disfigurment,now it WILL happen when damage is bad enough.</li>
<li class="experiment">Now if you speak in depressurized area (less than 10 kPa) only people next to you can hear you. Radios still work though.</li>
</ul>
</div>
<b>GoonStation 13 Development Team</b>
<div class = "top">
<b>Coders:</b> Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion<br>
<b>Spriters:</b> Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No<br>
</div>
<br>
<p class="lic"><a name="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img src="88x31.png" alt="Creative Commons License" /></a><br><i>Except where otherwise noted, Goon Station 13 is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 License</a>.<br>Rights are currently extended to <a href="http://forums.somethingawful.com/">SomethingAwful Goons</a> only.</i></p>
<p class="lic">Some icons by <a href="http://p.yusukekamiyamane.com/">Yusuke Kamiyamane</a>. All rights reserved. Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>.</p>
</td></tr></table>
</body>
</html>
</div>
<b>GoonStation 13 Development Team</b>
<div class = "top">
<b>Coders:</b> Stuntwaffle, Showtime, Pantaloons, Nannek, Keelin, Exadv1, hobnob, Justicefries, 0staf, sniperchance, AngriestIBM, BrianOBlivion<br>
<b>Spriters:</b> Supernorn, Haruhi, Stuntwaffle, Pantaloons, Rho, SynthOrange, I Said No<br>
</div>
<br>
<p class="lic"><a name="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img src="88x31.png" alt="Creative Commons License" /></a><br><i>Except where otherwise noted, Goon Station 13 is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 License</a>.<br>Rights are currently extended to <a href="http://forums.somethingawful.com/">SomethingAwful Goons</a> only.</i></p>
<p class="lic">Some icons by <a href="http://p.yusukekamiyamane.com/">Yusuke Kamiyamane</a>. All rights reserved. Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>.</p>
</td></tr></table>
+4
View File
@@ -0,0 +1,4 @@
author: Karolis2011
delete-after: True
changes:
- rscadd: "HTML themes now apply to changelog, rules, character setup and new player screen."
Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 651 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 547 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 678 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 535 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 580 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 462 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 656 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 893 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 B

@@ -0,0 +1,4 @@
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="changelog.css">
<base target="_blank" />
<title>Aurorastation Changelog</title>
+1 -3
View File
@@ -8,6 +8,4 @@
<br>
<p class="lic"><a name="license" href="http://creativecommons.org/licenses/by-nc-sa/3.0/"><img src="88x31.png" alt="Creative Commons License" /></a><br><i>Except where otherwise noted, Goon Station 13 is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/3.0/">Creative Commons Attribution-Noncommercial-Share Alike 3.0 License</a>.<br>Rights are currently extended to <a href="http://forums.somethingawful.com/">SomethingAwful Goons</a> only.</i></p>
<p class="lic">Some icons by <a href="http://p.yusukekamiyamane.com/">Yusuke Kamiyamane</a>. All rights reserved. Licensed under a <a href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>.</p>
</td></tr></table>
</body>
</html>
</td></tr></table>
-21
View File
@@ -1,24 +1,3 @@
<!DOCTYPE html>
<html>
<head>
<title>Aurorastation Changelog</title>
<link rel="stylesheet" type="text/css" href="changelog.css">
<base target="_blank" />
<script type='text/javascript'>
function changeText(tagID, newText, linkTagID){
var tag = document.getElementById(tagID);
tag.innerHTML = newText;
var linkTag = document.getElementById(linkTagID);
linkTag.removeAttribute("href");
linkTag.removeAttribute("onclick");
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<table align='center' width='650'><tr><td>
<table align='center' class="top">
<tr>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 660 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 616 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 684 B

+2 -1
View File
@@ -45,7 +45,8 @@
set name = "Rules"
set desc = "Show Server Rules."
set hidden = 1
src << browse(file(RULES_FILE), "window=rules;size=640x500")
send_theme_resources(src)
src << browse(enable_ui_theme(src, file2text(RULES_FILE)), "window=rules;size=640x500")
#undef RULES_FILE
/client/verb/hotkeys_help()
+4
View File
@@ -0,0 +1,4 @@
{
"esversion": 6,
"-W033": true
}
+1 -1
View File
@@ -26,7 +26,7 @@ input, textarea, button, select, .button {
display: inline-block;
}
.button, button, input[type=submit], input[type=button], input[type=reset], input[disabled] {
a, .button, button, input[type=submit], input[type=button], input[type=reset], input[disabled] {
user-select: none;
background-color: #d8d8d8;
cursor: pointer;
+8 -10
View File
@@ -1,21 +1,19 @@
.theme-basic {
.button, button, input[type=submit], input[type=button], input[type=reset], input[disabled] {
a, .button, button, input[type=submit], input[type=button], input[type=reset], input[disabled] {
display: inline;
background: none;
border: none;
border-radius: 0;
color: #0000ee;
padding: 0.1em 0 0 0;
border-bottom:1px solid #0000ee;
margin-right: 2px;
text-decoration: underline;
&:hover {
background: none;
color: #551a8b;
border-bottom:1px solid #551a8b;
}
&:active {
color: #ee0000;
border-bottom:1px solid #ee0000;
}
}
@@ -31,16 +29,16 @@
@extend .theme-basic;
color: white;
background: black;
.button, button, input[type=submit], input[type=button], input[type=reset], input[disabled] {
color: #FFFF11;
border-bottom:1px solid #FFFF11;
a, .button, button, input[type=submit], input[type=button], input[type=reset], input[disabled] {
color: lightgreen;
&:hover {
color: #AAE574;
border-bottom:1px solid #AAE574;
color: rgb(204, 235, 118);
}
&:active {
color: #11FFFF;
border-bottom:1px solid #11FFFF;
}
&:visited {
color: seagreen;
}
}
.uiTitleWrapper {
+31 -29
View File
@@ -30,43 +30,45 @@ requireComponent.keys().forEach(fileName => {
})
Vue.config.productionTip = false
var state = JSON.parse(document.getElementById('initialstate').innerHTML)
Store.loadState(state)
global.Vue = Vue
global.receiveUIState = (jsonState) => {
Store.loadState(JSON.parse(jsonState))
Store.loadState(JSON.parse(jsonState))
}
if (document.getElementById("app")) {
var state = JSON.parse(document.getElementById('initialstate').innerHTML)
window.__wtimetimer = window.setInterval(() => {
Store.state.wtime += 2
}, 200)
new Vue({
data: Store.state,
template: "<div><p class='csserror'>Javascript loaded, stylesheets has failed to load. <a href='javascript:void(0)'><vui-button :params='{ vueuiforceresource: 1}'>Click here to load.</vui-button></a></p><component v-if='componentName' :is='componentName'/><component v-if='templateString' :is='{template:templateString}'/></div>",
computed: {
componentName() {
if(this.$root.$data.active.charAt(0) != "?") {
return 'view-' + this.$root.$data.active
Store.loadState(state)
window.__wtimetimer = window.setInterval(() => {
Store.state.wtime += 2
}, 200)
new Vue({
data: Store.state,
template: "<div><p class='csserror'>Javascript loaded, stylesheets has failed to load. <a href='javascript:void(0)'><vui-button :params='{ vueuiforceresource: 1}'>Click here to load.</vui-button></a></p><component v-if='componentName' :is='componentName'/><component v-if='templateString' :is='{template:templateString}'/></div>",
computed: {
componentName() {
if(this.$root.$data.active.charAt(0) != "?") {
return 'view-' + this.$root.$data.active
}
},
templateString() {
if(this.$root.$data.active.charAt(0) == "?") {
return "<div>" + this.$root.$data.active.substr(1) + "</div>"
}
}
},
templateString() {
if(this.$root.$data.active.charAt(0) == "?") {
return "<div>" + this.$root.$data.active.substr(1) + "</div>"
watch: {
state: {
handler() {
Store.pushState()
},
deep: true
}
}
},
watch: {
state: {
handler() {
Store.pushState()
},
deep: true
}
}
}).$mount('#app')
}).$mount('#app')
}
if (document.getElementById("header")) {
new Vue({