Frontend admin support for Peace
This commit is contained in:
parent
25adc43696
commit
2983ee2926
@ -1,5 +1,5 @@
|
||||
# vim: set fileencoding=utf-8
|
||||
from typing import Dict, Tuple
|
||||
from typing import Any, Dict, Tuple
|
||||
|
||||
from bemani.backend.popn.base import PopnMusicBase
|
||||
from bemani.backend.popn.common import PopnMusicModernBase
|
||||
@ -27,9 +27,134 @@ class PopnMusicPeace(PopnMusicModernBase):
|
||||
def previous_version(self) -> PopnMusicBase:
|
||||
return PopnMusicUsaNeko(self.data, self.config, self.model)
|
||||
|
||||
@classmethod
|
||||
def get_settings(cls) -> Dict[str, Any]:
|
||||
"""
|
||||
Return all of our front-end modifiably settings.
|
||||
"""
|
||||
return {
|
||||
'ints': [
|
||||
{
|
||||
'name': 'Music Open Phase',
|
||||
'tip': 'Default music phase for all players.',
|
||||
'category': 'game_config',
|
||||
'setting': 'music_phase',
|
||||
'values': {
|
||||
# The value goes to 23 now, but it starts where usaneko left off at 11
|
||||
# Unlocks a total of 53 songs
|
||||
12: 'No music unlocks',
|
||||
13: 'Phase 1',
|
||||
14: 'Phase 2',
|
||||
15: 'Phase 3',
|
||||
16: 'Phase 4',
|
||||
17: 'Phase 5',
|
||||
18: 'Phase 6',
|
||||
19: 'Phase 7',
|
||||
20: 'Phase 8',
|
||||
21: 'Phase 9',
|
||||
22: 'Phase 10',
|
||||
23: 'Phase MAX',
|
||||
}
|
||||
},
|
||||
{
|
||||
'name': 'NAVI-Kun Event Phase',
|
||||
'tip': 'NAVI-Kun event phase for all players.',
|
||||
'category': 'game_config',
|
||||
'setting': 'navikun_phase',
|
||||
'values': {
|
||||
# The value goes to 30 now, but it starts where usaneko left off at 15
|
||||
# Unlocks a total of 89 songs
|
||||
15: 'Phase 1',
|
||||
16: 'Phase 2',
|
||||
17: 'Phase 3',
|
||||
18: 'Phase 4',
|
||||
19: 'Phase 5',
|
||||
20: 'Phase 6',
|
||||
21: 'Phase 7',
|
||||
22: 'Phase 8',
|
||||
23: 'Phase 9',
|
||||
24: 'Phase 10',
|
||||
25: 'Phase 11',
|
||||
26: 'Phase 12',
|
||||
27: 'Phase 13',
|
||||
28: 'Phase 14',
|
||||
29: 'Phase 15',
|
||||
30: 'Phase MAX',
|
||||
},
|
||||
},
|
||||
{
|
||||
# For festive times, it's possible to change the welcome greeting. I'm not sure why you would want to change this, but now you can.
|
||||
'name': 'Holiday Greeting',
|
||||
'tip': 'Changes the payment selection confirmation sound.',
|
||||
'category': 'game_config',
|
||||
'setting': 'holiday_greeting',
|
||||
'values': {
|
||||
0: 'Okay!',
|
||||
1: 'Merry Christmas!',
|
||||
2: 'Happy New Year!',
|
||||
}
|
||||
},
|
||||
{
|
||||
# The following values control the pop'n music event archive. Setting the flag to the following values has the
|
||||
# corresponding effect. Each value will include the events above it, for example setting it to 5 gives you the
|
||||
# pop'n 15 event, as well as SP, 12, and 11 events. Setting it to 0 disabled the event and skips the entire screen,
|
||||
#setting it to 20 makes all of the events available for selection. Completing the minigame unlocks the associated content.
|
||||
|
||||
'name': 'Event Archive Phase',
|
||||
'tip': 'Event Archive mini-game phase for all players.',
|
||||
'category': 'game_config',
|
||||
'setting': 'event_archive_phase',
|
||||
'values': {
|
||||
0: 'Event Archive disabled',
|
||||
1: 'pop\'n music 11 - The Latest Space Station',
|
||||
2: 'pop\'n music 11 & 12 Iroha - The Southernmost Point of the Universe / Ninja Otasuke Cheat Sheet in Trouble',
|
||||
3: 'pop\'n music Sunny Park - I Love Walking in Happiness Park',
|
||||
4: 'pop\'n music 12 Iroha - Ninja Code: April 1st Volume',
|
||||
5: 'pop\'n music 15 ADVENTURE - Route to Awaken the Soul',
|
||||
6: 'pop\'n music 20 fantasia - A Braided Fantasy Song',
|
||||
7: 'EXTRA',
|
||||
8: 'pop\'n music 15 ADVENTURE - A Route with a Faint Bell Sound',
|
||||
9: 'pop\'n music 13 Carnival - Bunny Magician Attraction',
|
||||
10: 'pop\'n music 14 FEVER! - That Burning Special Attack, again!',
|
||||
11: 'pop\'n music Sunny Park - Festival Nightfall Park',
|
||||
12: 'pop\'n music 20 fantasia - A Fantasy Song by the Bladed Warrior',
|
||||
13: 'pop\'n music 19 TUNE STREET - A Town Where the Sound of the Brass Band Rings After School',
|
||||
14: 'pop\'n music éclale - Fun Rag Hour',
|
||||
15: 'pop\'n music 13 Carnival - Ghost Piano Attraction',
|
||||
16: 'pop\'n music 14 FEVER! - That Warrior Defending Peace, again!',
|
||||
17: 'pop\'n music 18 Sengoku Retsuden - A Territory with a Glamorous Cultural Flavor',
|
||||
18: 'pop\'n music éclale - Runaway Guitarist in the Starry Sky',
|
||||
19: 'pop\'n music 17 THE MOVIE - A Blockbuster Uncovering a Conspiracy in the Peaceful City',
|
||||
20: 'pop\'n music lapistoria - God\'s Forgotten Things',
|
||||
}
|
||||
},
|
||||
],
|
||||
'bools': [
|
||||
# Enable Net Taisen, including win/loss display on song select (0-1)
|
||||
{
|
||||
'name': 'Net Taisen',
|
||||
'tip': 'Enable Net Taisen, including win/loss display on song select',
|
||||
'category': 'game_config',
|
||||
'setting': 'enable_net_taisen',
|
||||
},
|
||||
{
|
||||
'name': 'Force Song Unlock',
|
||||
'tip': 'Force unlock all songs.',
|
||||
'category': 'game_config',
|
||||
'setting': 'force_unlock_songs',
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
def get_common_config(self) -> Tuple[Dict[int, int], bool, int]:
|
||||
game_config = self.get_game_config()
|
||||
music_phase = game_config.get_int('music_phase')
|
||||
event_archive_phase = game_config.get_int('event_archive_phase')
|
||||
holiday_greeting = game_config.get_int('holiday_greeting')
|
||||
enable_net_taisen = game_config.get_bool('enable_net_taisen')
|
||||
navikun_phase = game_config.get_int('navikun_phase')
|
||||
|
||||
# Event phases
|
||||
# TODO: Hook event mode settings up to the front end.
|
||||
return (
|
||||
{
|
||||
# Default song phase availability (0-23)
|
||||
@ -58,17 +183,17 @@ class PopnMusicPeace(PopnMusicModernBase):
|
||||
# 21 - 1818
|
||||
# 22 - 1825
|
||||
# 23 - 1858, 1857
|
||||
0: 23,
|
||||
0: music_phase,
|
||||
# Unknown event (0-4)
|
||||
1: 4,
|
||||
# Unknown event (0-2)
|
||||
2: 2,
|
||||
# Holiday Greeting (0-2)
|
||||
2: holiday_greeting,
|
||||
# Unknown event (0-4)
|
||||
3: 4,
|
||||
# Unknown event (0-1)
|
||||
4: 1,
|
||||
# Enable Net Taisen, including win/loss display on song select (0-1)
|
||||
5: 1,
|
||||
5: enable_net_taisen,
|
||||
# Enable NAVI-kun shunkyoku toujou, allows song 1608 to be unlocked (0-1)
|
||||
6: 1,
|
||||
# Unknown event (0-1)
|
||||
@ -109,14 +234,14 @@ class PopnMusicPeace(PopnMusicModernBase):
|
||||
# 28 - 1692, 1693, 1694
|
||||
# 29 - 1696, 1697, 1698, 1699, 1700, 1701, 1702
|
||||
# 30 - 1682, 1683, 1684
|
||||
10: 30,
|
||||
10: navikun_phase,
|
||||
# Unknown event (0-1)
|
||||
11: 1,
|
||||
# Unknown event (0-2)
|
||||
12: 2,
|
||||
# Enable Pop'n Peace preview song (0-1)
|
||||
13: 1,
|
||||
# Unknown event (0-39)
|
||||
# Stamp Card Rally (0-39)
|
||||
14: 39,
|
||||
# Unknown event (0-2)
|
||||
15: 2,
|
||||
@ -124,11 +249,11 @@ class PopnMusicPeace(PopnMusicModernBase):
|
||||
16: 3,
|
||||
# Unknown event (0-8)
|
||||
17: 8,
|
||||
# Appears to be floor infection (0-1)
|
||||
# FLOOR INFECTION event (0-1)
|
||||
# The following songs are linked to this event:
|
||||
# 1 - 1223, 1224, 1225, 1239, 1240, 1241, 1245, 1247, 1340, 1342, 1394, 1523, 1524, 1525, 1598, 1667, 1668, 1666
|
||||
18: 1,
|
||||
# Appears to be pop'n music × NOSTALGIA kyouenkai (0-1)
|
||||
# pop'n music × NOSTALGIA kyouenkai (0-1)
|
||||
# Setting this to 1 is linked to the song 1695
|
||||
19: 1,
|
||||
# Event archive event (0-13)
|
||||
@ -148,7 +273,7 @@ class PopnMusicPeace(PopnMusicModernBase):
|
||||
# 13 - 1833, 1824
|
||||
20: 13,
|
||||
# Pop'n event archive song phase availability (0-20)
|
||||
21: 20,
|
||||
21: event_archive_phase,
|
||||
# バンめし♪ ふるさとグランプリunlocks (split into two rounds) (0-2)
|
||||
# The following songs are linked to this event:
|
||||
# 1 - 1851, 1852, 1853, 1854
|
||||
|
@ -54,6 +54,18 @@ class PopnMusicUsaNeko(PopnMusicModernBase):
|
||||
11: 'Phase MAX',
|
||||
}
|
||||
},
|
||||
{
|
||||
# For festive times, it's possible to change the welcome greeting. I'm not sure why you would want to change this, but now you can.
|
||||
'name': 'Holiday Greeting',
|
||||
'tip': 'Changes the payment selection confirmation sound.',
|
||||
'category': 'game_config',
|
||||
'setting': 'holiday_greeting',
|
||||
'values': {
|
||||
0: 'Okay!',
|
||||
1: 'Merry Christmas!',
|
||||
2: 'Happy New Year!',
|
||||
}
|
||||
},
|
||||
{
|
||||
'name': 'Active Event',
|
||||
'tip': 'Active event for all players.',
|
||||
@ -103,6 +115,7 @@ class PopnMusicUsaNeko(PopnMusicModernBase):
|
||||
def get_common_config(self) -> Tuple[Dict[int, int], bool, int]:
|
||||
game_config = self.get_game_config()
|
||||
music_phase = game_config.get_int('music_phase')
|
||||
holiday_greeting = game_config.get_int('holiday_greeting')
|
||||
active_event = game_config.get_int('active_event')
|
||||
navikun_phase = game_config.get_int('navikun_phase')
|
||||
|
||||
@ -128,8 +141,8 @@ class PopnMusicUsaNeko(PopnMusicModernBase):
|
||||
0: music_phase,
|
||||
# Unknown event (0-2)
|
||||
1: 2,
|
||||
# Unknown event (0-2)
|
||||
2: 2,
|
||||
# Holiday Greeting (0-2)
|
||||
2: holiday_greeting,
|
||||
# Unknown event (0-4)
|
||||
3: 4,
|
||||
# Unknown event (0-1)
|
||||
|
35
bemani/frontend/static/themes/dark/color.css
Normal file
35
bemani/frontend/static/themes/dark/color.css
Normal file
@ -0,0 +1,35 @@
|
||||
.bishi.border {
|
||||
border-color: #EF6A32;
|
||||
}
|
||||
|
||||
.mga.border {
|
||||
border-color: #ff0000;
|
||||
}
|
||||
|
||||
.ddr.border {
|
||||
border-color: #017351;
|
||||
}
|
||||
|
||||
.iidx.border {
|
||||
border-color: #A12A5E;
|
||||
}
|
||||
|
||||
.jubeat.border {
|
||||
border-color: #FBBF45;
|
||||
}
|
||||
|
||||
.museca.border {
|
||||
border-color: #AAD962;
|
||||
}
|
||||
|
||||
.pnm.border {
|
||||
border-color: #ED0345;
|
||||
}
|
||||
|
||||
.reflec.border {
|
||||
border-color: #03C383;
|
||||
}
|
||||
|
||||
.sdvx.border {
|
||||
border-color: #710162;
|
||||
}
|
BIN
bemani/frontend/static/themes/dark/favicon.png
Normal file
BIN
bemani/frontend/static/themes/dark/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
130
bemani/frontend/static/themes/dark/form.css
Normal file
130
bemani/frontend/static/themes/dark/form.css
Normal file
@ -0,0 +1,130 @@
|
||||
form.inline {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
form.inline label {
|
||||
display: block;
|
||||
}
|
||||
|
||||
form.inline label.inline {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
form.inline div.row {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
form.inline select {
|
||||
vertical-align: bottom;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
input.inline {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner, input::-moz-focus-inner {
|
||||
border:0;
|
||||
padding:0;
|
||||
}
|
||||
|
||||
form div.action {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
option.placeholder {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.buttons {
|
||||
padding-top:5px;
|
||||
}
|
||||
|
||||
input[type="submit"] {
|
||||
border: 1px solid #cddcc1;
|
||||
background: #49B979;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
input[type="button"], button.nav, button.toggle, button.edit, button.add, button.viewmore, button.btn-default {
|
||||
border: 1px solid #dadada;
|
||||
color: #b0b1b2;
|
||||
background: #282828;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
input[type="submit"], input[type="button"], button {
|
||||
border-radius: 0px;
|
||||
padding-top: 4px;
|
||||
padding-bottom: 4px;
|
||||
padding-left: 12px;
|
||||
padding-right: 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
input[type="text"], input[type="password"], textarea {
|
||||
border: 1px solid #dadada;
|
||||
padding: 4px;
|
||||
border-radius: 0px;
|
||||
background-color: #b3b4b5;
|
||||
}
|
||||
|
||||
select {
|
||||
border: 1px solid #dadada;
|
||||
padding: 4px 4px 3px 4px;
|
||||
border-radius: 0px;
|
||||
background: #dadada;
|
||||
}
|
||||
|
||||
input[type="button"] {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
button.toggle:not(:last-child):not(:only-child), button.edit:not(:last-child):not(:only-child), button.delete:not(:last-child):not(:only-child), button.add:not(:last-child):not(:only-child), button.nav:not(:last-child):not(:only-child) {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
span + button.edit, span + button.toggle, span + button.delete, span + button.add,
|
||||
div + button.edit, div + button.toggle, div + button.delete, div + button.add {
|
||||
margin-left: 15px;
|
||||
background-color: #282828;
|
||||
color: #b3b3b3;
|
||||
}
|
||||
|
||||
button.nav {
|
||||
margin-bottom: 5px;
|
||||
margin-right: 0px;
|
||||
border: 1px solid #dadada;
|
||||
background-color: #282828;
|
||||
}
|
||||
|
||||
button.prev::before {
|
||||
content: "\2190";
|
||||
font-weight: bold;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
button.next::after {
|
||||
content: "\2192";
|
||||
font-weight: bold;
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
button.active {
|
||||
text-shadow: 0.33px 0.33px #000000;
|
||||
border: 1px solid #999999;
|
||||
}
|
||||
|
||||
button {
|
||||
color: #b3b3b3;
|
||||
background-color: #282828;
|
||||
}
|
||||
|
||||
button.delete {
|
||||
border: 1px solid #d6caca;
|
||||
background: #B94949;
|
||||
}
|
||||
|
||||
.popn-nav button, .settings-nav button {
|
||||
height: 32px;
|
||||
}
|
187
bemani/frontend/static/themes/dark/section.css
Normal file
187
bemani/frontend/static/themes/dark/section.css
Normal file
@ -0,0 +1,187 @@
|
||||
div.container div.section:not(:first-child) {
|
||||
padding-top: 20px;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
div.container div.floating.right {
|
||||
float: right;
|
||||
}
|
||||
|
||||
span.separator {
|
||||
font-size: large;
|
||||
font-weight: bold;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
div.labelledsection.horizontal {
|
||||
display: inline-block;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.labelledsection.vertical {
|
||||
display: block;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
div.labelledsection.horizontal:not(:last-child):not(:only-child) {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
div.labelledsection div.label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.labelledsection div.content {
|
||||
margin: 0px;
|
||||
padding-bottom: 0px;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div.labelledsection.centered div.content, div.labelledsection.centered div.label {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div.labelledsection.padded {
|
||||
text-align: center;
|
||||
width: 150px;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
|
||||
div.labelledsection.filled {
|
||||
background-color: #f7f7f7;
|
||||
border: 1px dashed #dddddd;
|
||||
}
|
||||
|
||||
span.separator {
|
||||
font-size: large;
|
||||
font-weight: bold;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}
|
||||
|
||||
div.labelledsection.iidx.themeoption select {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div.labelledsection.iidx.qprooption select {
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
div.labelledsection.ddr.option select {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
div.iidx.menuoption label, div.arcade.menuoption label {
|
||||
position: relative;
|
||||
vertical-align: middle;
|
||||
bottom: 3px;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
div.iidx.menuoption, div.arcade.menuoption {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
div.arcade.menuoption label {
|
||||
display: inline-block;
|
||||
min-width: 200px;
|
||||
}
|
||||
|
||||
div.score span.label {
|
||||
font-size: smaller;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.score span.status {
|
||||
font-size: smaller;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.score span.score {
|
||||
padding-left: 3px;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
div.score span.grade {
|
||||
font-weight: bold;
|
||||
padding-right: 3px;
|
||||
}
|
||||
|
||||
div.songname {
|
||||
font-weight: bold;
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
div.songartist, div.songgenre, div.songdifficulty, div.songplays {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
span.file {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
ul.ownerlist {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
ul.ownerlist li {
|
||||
margin-left: 25px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
div.card {
|
||||
display: inline-block;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
div.placeholder, span.placeholder {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.timestamp {
|
||||
font-style: italic;
|
||||
font-size: small;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
span.loading {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
span.raised {
|
||||
font-style: italic;
|
||||
font-size: small;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dl {
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0px;
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
div.longmessage {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
div.longmessage pre {
|
||||
border: 1px solid rgba(128, 128, 128, 0.33);
|
||||
background: rgb(232, 232, 232);
|
||||
padding: 5px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
span.filter:not(:last-child) {
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
274
bemani/frontend/static/themes/dark/site.css
Normal file
274
bemani/frontend/static/themes/dark/site.css
Normal file
@ -0,0 +1,274 @@
|
||||
body {
|
||||
font-family: Helvetica;
|
||||
color: #b3b3b3;
|
||||
margin: 0px;
|
||||
padding-bottom: 30px;
|
||||
background-color: #121212;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #878889;
|
||||
}
|
||||
div.messages {
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.container {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 0px;
|
||||
padding-left: 30px;
|
||||
padding-right: 30px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
div.loading {
|
||||
margin-left: 50%;
|
||||
margin-right: 50%;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
div.navigation {
|
||||
background-color: whitesmoke;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.tinynav {
|
||||
display: none;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.tinynav {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#nav {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (hover: none) {
|
||||
.tinynav {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
#nav {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
ul.messages {
|
||||
list-style: none;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
ul.messages li {
|
||||
padding: 5px;
|
||||
margin-top: 10px;
|
||||
border-radius: 0px;
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
ul.messages div.close {
|
||||
font-size: smaller;
|
||||
text-decoration: none;
|
||||
display: inline-block;
|
||||
color: #000000;
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
margin-right: 3px;
|
||||
}
|
||||
|
||||
ul.messages li.error {
|
||||
border: 1px solid #e2afb6;
|
||||
background-color: #ffced5;
|
||||
}
|
||||
|
||||
ul.messages li.warning {
|
||||
border: 1px solid #e6deb4;
|
||||
background-color: #fff7ce;
|
||||
}
|
||||
|
||||
ul.messages li.success {
|
||||
border: 1px solid #cddcc1;
|
||||
background: #e7ffd4;
|
||||
}
|
||||
|
||||
ul.messages li.info {
|
||||
border: 1px solid #b0b0d2;
|
||||
background-color: #d0d0ff;
|
||||
}
|
||||
|
||||
ul.navigation {
|
||||
list-style: none;
|
||||
padding-top: 0px;
|
||||
padding-bottom: 0px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
margin: 0px;
|
||||
background-color: whitesmoke;
|
||||
position: relative;
|
||||
text-align: right;
|
||||
-webkit-touch-callout: none;
|
||||
-webkit-user-select: none;
|
||||
-khtml-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
ul.navigation li {
|
||||
display: inline-block;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
ul.navigation_sub {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #e4e4e4;
|
||||
padding: 10px;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
min-width: 150px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
ul.navigation_sub li {
|
||||
float: none;
|
||||
display: block;
|
||||
position: relative;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
ul.navigation_sub li a {
|
||||
display: block;
|
||||
}
|
||||
|
||||
a.cursor {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
ul.navigation li:hover ul.navigation_sub {
|
||||
display: block;
|
||||
}
|
||||
|
||||
ul.navigation li.left {
|
||||
float: left;
|
||||
}
|
||||
|
||||
ul.navigation div.separator {
|
||||
cursor: default;
|
||||
width: 25px;
|
||||
}
|
||||
|
||||
ul.navigation li a {
|
||||
border: 0px solid #676767;
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
padding: 10px;
|
||||
color: #676767;
|
||||
}
|
||||
|
||||
ul.navigation li a:hover {
|
||||
background-color: #d2d2d2;
|
||||
}
|
||||
|
||||
ul.navigation li a:active {
|
||||
background-color: #d2d2d2;
|
||||
}
|
||||
|
||||
ul.navigation > li > a.current {
|
||||
border-bottom-width: 1.6px;
|
||||
border-bottom-style: solid;
|
||||
padding-bottom: 8.4px;
|
||||
}
|
||||
|
||||
ul.navigation > li > ul.navigation_sub > li > a.current {
|
||||
border-left-width: 2px;
|
||||
border-left-style: solid;
|
||||
padding-left: 8px;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5 {
|
||||
padding-top: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
img.loading {
|
||||
vertical-align: text-bottom;
|
||||
}
|
||||
|
||||
div.tooltip {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
button.nav span.alert {
|
||||
padding-left: 5px;
|
||||
color: #459900;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.tooltip span.tooltiptext {
|
||||
visibility: hidden;
|
||||
background-color: #555;
|
||||
color: #fff;
|
||||
text-align: center;
|
||||
padding: 5px 0;
|
||||
border-radius: 6px;
|
||||
width: 300px;
|
||||
|
||||
/* Position the tooltip text */
|
||||
position: absolute;
|
||||
top: -5px;
|
||||
left: 105%;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
div.tooltip span.tooltiptext::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 15px;
|
||||
right: 100%;
|
||||
margin-top: -5px;
|
||||
border-width: 5px;
|
||||
border-style: solid;
|
||||
border-color: transparent #555 transparent transparent;
|
||||
}
|
||||
|
||||
div.tooltip:hover span.tooltiptext {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
div.pill {
|
||||
display: inline-block;
|
||||
border: 1px solid red;
|
||||
background: pink;
|
||||
border-radius: 5px;
|
||||
padding-left: 10px;
|
||||
margin-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
pre {
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
span.sort {
|
||||
float: right;
|
||||
}
|
||||
|
||||
span.checkbox {
|
||||
padding-right: 5px;
|
||||
cursor: default;
|
||||
}
|
135
bemani/frontend/static/themes/dark/table.css
Normal file
135
bemani/frontend/static/themes/dark/table.css
Normal file
@ -0,0 +1,135 @@
|
||||
table.list, table.add {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
thead tr th {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
table.add th {
|
||||
text-align: left;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
table.list th {
|
||||
background-color: #192021;
|
||||
font-weight: bold;
|
||||
padding: 10px;
|
||||
text-align: left;
|
||||
border: 1px solid #e0e0e0;
|
||||
}
|
||||
|
||||
table.list th.action {
|
||||
background-color: #808080;
|
||||
border: none;
|
||||
}
|
||||
|
||||
table.list tbody td, table.add tbody td {
|
||||
padding: 5px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.list tbody td {
|
||||
border: 1px solid #e0e0e0;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
table td.center {
|
||||
word-break: break-word;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.list input[type="text"], table.add input[type="text"] {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.list select, table.add select {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.list tbody tr:nth-child(odd) td {
|
||||
background-color: #242526;
|
||||
}
|
||||
|
||||
table.list tbody tr:nth-child(even) td {
|
||||
background-color: #3a3b3c;
|
||||
}
|
||||
|
||||
table td.subheader {
|
||||
background-color: #e7e7e7 ! important;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table tfoot td {
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
table.records, table.attempts, table.topscores, table.players, table.events {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.records a, table.attempts a, table.topscores a, table.players a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
td.edit {
|
||||
background-color: #808080 ! important;
|
||||
border: none ! important;
|
||||
}
|
||||
|
||||
td.nochart {
|
||||
background-color: #181818 ! important;
|
||||
}
|
||||
|
||||
table.list input[type="checkbox"], table.add input[type="checkbox"] {
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
table.events div.circle {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
-webkit-border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
border-radius: 8px;
|
||||
display: inline-block;
|
||||
margin-left: 0px;
|
||||
margin-right: 5px;
|
||||
margin-top: 2px;
|
||||
margin-bottom: -2px;
|
||||
}
|
||||
|
||||
table.events td.details div.inline {
|
||||
display: inline-block;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
table.events td.details pre.inline {
|
||||
display: inline-block;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
table.events td.exception div.circle {
|
||||
background-color: rgb(214, 72, 72);
|
||||
}
|
||||
|
||||
table.events td.unhandled div.circle {
|
||||
background-color: rgb(255, 165, 0);
|
||||
}
|
||||
|
||||
table.events td.unauthorized div.circle {
|
||||
background-color: rgb(119, 0, 119);
|
||||
}
|
||||
|
||||
table.events td.scheduled div.circle {
|
||||
background-color: #2d6ccc;
|
||||
}
|
||||
|
||||
table.events td.pcbevent div.circle {
|
||||
background-color: #26a226;
|
||||
}
|
||||
|
||||
table.events td.transaction div.circle {
|
||||
background-color: #f9ed00;
|
||||
}
|
Loading…
Reference in New Issue
Block a user