mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-01-05 15:04:21 +00:00
Organize and Beautify Admin Secrets Panel
* Add browser styles to Admin Secrets panel to make it look nice. * Show only one category at once, with buttons to switch between categories at the top.
This commit is contained in:
@@ -594,26 +594,33 @@ proc/admin_notice(var/message, var/rights)
|
|||||||
usr << browse(dat, "window=admin2;size=210x280")
|
usr << browse(dat, "window=admin2;size=210x280")
|
||||||
return
|
return
|
||||||
|
|
||||||
/datum/admins/proc/Secrets()
|
/datum/admins/proc/Secrets(var/datum/admin_secret_category/active_category = null)
|
||||||
if(!check_rights(0)) return
|
if(!check_rights(0)) return
|
||||||
|
|
||||||
|
// Print the header with category selection buttons.
|
||||||
var/dat = "<B>The first rule of adminbuse is: you don't talk about the adminbuse.</B><HR>"
|
var/dat = "<B>The first rule of adminbuse is: you don't talk about the adminbuse.</B><HR>"
|
||||||
for(var/datum/admin_secret_category/category in admin_secrets.categories)
|
for(var/datum/admin_secret_category/category in admin_secrets.categories)
|
||||||
if(!category.can_view(usr))
|
if(!category.can_view(usr))
|
||||||
continue
|
continue
|
||||||
dat += "<B>[category.name]</B><br>"
|
dat += "<A href='?src=\ref[src];admin_secrets_panel=\ref[category]'>[category.name]</A> "
|
||||||
if(category.desc)
|
dat += "<HR>"
|
||||||
dat += "<I>[category.desc]</I><BR>"
|
|
||||||
for(var/datum/admin_secret_item/item in category.items)
|
// If a category is selected, print its description and then options
|
||||||
|
if(istype(active_category) && active_category.can_view(usr))
|
||||||
|
dat += "<B>[active_category.name]</B><BR>"
|
||||||
|
if(active_category.desc)
|
||||||
|
dat += "<I>[active_category.desc]</I><BR>"
|
||||||
|
for(var/datum/admin_secret_item/item in active_category.items)
|
||||||
if(!item.can_view(usr))
|
if(!item.can_view(usr))
|
||||||
continue
|
continue
|
||||||
dat += "<A href='?src=\ref[src];admin_secrets=\ref[item]'>[item.name()]</A><BR>"
|
dat += "<A href='?src=\ref[src];admin_secrets=\ref[item]'>[item.name()]</A><BR>"
|
||||||
dat += "<BR>"
|
dat += "<BR>"
|
||||||
usr << browse(dat, "window=secrets")
|
|
||||||
|
var/datum/browser/popup = new(usr, "secrets", "Secrets", 500, 500)
|
||||||
|
popup.set_content(dat)
|
||||||
|
popup.open()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////////////admins2.dm merge
|
/////////////////////////////////////////////////////////////////////////////////////////////////admins2.dm merge
|
||||||
//i.e. buttons/verbs
|
//i.e. buttons/verbs
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ var/datum/admin_secrets/admin_secrets = new()
|
|||||||
dd_insertObjectList(category.items, item)
|
dd_insertObjectList(category.items, item)
|
||||||
items += item
|
items += item
|
||||||
|
|
||||||
|
//
|
||||||
|
// Secret Item Category - Each subtype is a category for organizing secret commands.
|
||||||
|
//
|
||||||
/datum/admin_secret_category
|
/datum/admin_secret_category
|
||||||
var/name = ""
|
var/name = ""
|
||||||
var/desc = ""
|
var/desc = ""
|
||||||
@@ -37,6 +40,10 @@ var/datum/admin_secrets/admin_secrets = new()
|
|||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
//
|
||||||
|
// Secret Item Datum - Each subtype is a command on the secrets panel.
|
||||||
|
// Override execute() with the implementation of the command.
|
||||||
|
//
|
||||||
/datum/admin_secret_item
|
/datum/admin_secret_item
|
||||||
var/name = ""
|
var/name = ""
|
||||||
var/category = null
|
var/category = null
|
||||||
|
|||||||
@@ -1644,6 +1644,10 @@
|
|||||||
log_and_message_admins("created [number] [english_list(paths)]")
|
log_and_message_admins("created [number] [english_list(paths)]")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
else if(href_list["admin_secrets_panel"])
|
||||||
|
var/datum/admin_secret_category/AC = locate(href_list["admin_secrets_panel"]) in admin_secrets.categories
|
||||||
|
src.Secrets(AC)
|
||||||
|
|
||||||
else if(href_list["admin_secrets"])
|
else if(href_list["admin_secrets"])
|
||||||
var/datum/admin_secret_item/item = locate(href_list["admin_secrets"]) in admin_secrets.items
|
var/datum/admin_secret_item/item = locate(href_list["admin_secrets"]) in admin_secrets.items
|
||||||
item.execute(usr)
|
item.execute(usr)
|
||||||
|
|||||||
Reference in New Issue
Block a user