This commit is contained in:
parent
0318d5caf4
commit
19b863e5ca
2 changed files with 120 additions and 63 deletions
|
@ -1,55 +1,108 @@
|
||||||
:root {
|
:root {
|
||||||
--page-background: #000000;
|
/* Base colours */
|
||||||
--background: #121212;
|
--base: #1e1e2e;
|
||||||
--surface: #181818;
|
--mantle: #181825;
|
||||||
--surface-active: #303030;
|
--crust: #11111b;
|
||||||
--surface-hover: #aaaaaa;
|
|
||||||
--primary: #3b80c9;
|
/* Surface colours */
|
||||||
--primary-variant: #c9953b;
|
--surface0: #313244;
|
||||||
--secondary: #c94e3b;
|
--surface1: #45475a;
|
||||||
--text-main: #ffffff;
|
--surface2: #585b70;
|
||||||
--text-variant: #9B9B9B;
|
--overlay0: #6c7086;
|
||||||
|
--overlay1: #7f849c;
|
||||||
|
--overlay2: #9399b2;
|
||||||
|
|
||||||
|
/* Text colours */
|
||||||
|
--text: #cdd6f4;
|
||||||
|
--subtext0: #a6adc8;
|
||||||
|
--subtext1: #bac2de;
|
||||||
|
|
||||||
|
/* Main colours */
|
||||||
|
--rosewater: #f5e0dc;
|
||||||
|
--flamingo: #f2cdcd;
|
||||||
|
--pink: #f5c2e7;
|
||||||
|
--mauve: #cba6f7;
|
||||||
|
--red: #f38ba8;
|
||||||
|
--maroon: #eba0ac;
|
||||||
|
--peach: #fab387;
|
||||||
|
--yellow: #f9e2af;
|
||||||
|
--green: #a6e3a1;
|
||||||
|
--teal: #94e2d5;
|
||||||
|
--sky: #89dceb;
|
||||||
|
--sapphire: #74c7ec;
|
||||||
|
--blue: #89b4fa;
|
||||||
|
--lavender: #b4befe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: var(--page-background);
|
background-color: var(--crust);
|
||||||
color: var(--text-main);
|
color: var(--text);
|
||||||
}
|
}
|
||||||
|
|
||||||
.page-content {
|
.page-content {
|
||||||
width: 90%;
|
max-width: 1500px;
|
||||||
max-width: 1200px;
|
|
||||||
margin: auto;
|
margin: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
border-radius: 5px;
|
border-radius: 20px;
|
||||||
background-color: var(--surface);
|
background-color: var(--base);
|
||||||
padding: 5px;
|
padding: 5px 10px;
|
||||||
border-radius: 5px 5px;
|
|
||||||
margin: 5px auto;
|
margin: 5px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.header-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 3fr;
|
||||||
|
align-items: stretch;
|
||||||
|
justify-items: stretch;
|
||||||
|
column-gap: 10px;
|
||||||
|
margin: 5px auto;
|
||||||
|
|
||||||
|
.container {
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.client-list-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
justify-items: stretch;
|
||||||
|
margin: 5px auto;
|
||||||
|
row-gap: 5px;
|
||||||
|
|
||||||
|
.container {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.stat-container {
|
||||||
|
h2 {
|
||||||
|
margin: auto;
|
||||||
|
width: 100%;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.main-container {
|
.main-container {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.title-container {
|
.title-container {
|
||||||
background-color: var(--primary);
|
color: var(--blue);
|
||||||
}
|
|
||||||
|
|
||||||
.client-list-container {
|
|
||||||
border-radius: 0px 0px 5px 5px;
|
|
||||||
padding: 10px;
|
|
||||||
background-color: var(--surface);
|
|
||||||
}
|
|
||||||
|
|
||||||
.client-container {
|
h1 {
|
||||||
border-radius: 5px;
|
margin: auto;
|
||||||
padding: 4px;
|
padding: auto;
|
||||||
margin-top: 2px;
|
vertical-align: middle;
|
||||||
margin-bottom: 2px;
|
width: 100%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.client-header {
|
.client-header {
|
||||||
|
@ -60,7 +113,7 @@ body {
|
||||||
|
|
||||||
.client-uuid {
|
.client-uuid {
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
color: var(--text-variant);
|
color: var(--subtext1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,12 +128,12 @@ body {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&.selected {
|
&.selected {
|
||||||
background-color: var(--surface-active);
|
background-color: var(--overlay0);
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: var(--surface-hover);
|
background-color: var(--overlay2);
|
||||||
--text-variant: #000000;
|
--text-variant: #000000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -92,7 +145,7 @@ body {
|
||||||
|
|
||||||
.boot-option-uuid {
|
.boot-option-uuid {
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
color: var(--text-variant);
|
color: var(--subtext0);
|
||||||
}
|
}
|
||||||
|
|
||||||
.boot-option-path {
|
.boot-option-path {
|
||||||
|
|
|
@ -11,41 +11,45 @@
|
||||||
<body>
|
<body>
|
||||||
<div class="page-content">
|
<div class="page-content">
|
||||||
|
|
||||||
<div class="title-container container">
|
<div class="header-grid">
|
||||||
<h1>HTTP boot server admin page</h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="main-container container">
|
<div class="stat-container container">
|
||||||
<div class="client-list">
|
|
||||||
<h2>{{len .Clients}} enrolled clients</h2>
|
<h2>{{len .Clients}} enrolled clients</h2>
|
||||||
|
</div>
|
||||||
|
|
||||||
{{range .Clients}}
|
<div class="title-container container">
|
||||||
<div class="client-container">
|
<h1>HTTP boot server admin page</h1>
|
||||||
<div class="client-header">
|
|
||||||
<span class="client-name">{{.Name}}</span>
|
|
||||||
<span class="client-uuid">{{.ID}}</span>
|
|
||||||
</div>
|
|
||||||
<div class="client-content">
|
|
||||||
<div class="client-boot-options">
|
|
||||||
{{$cid := .ID}}{{range .BootOptions}}
|
|
||||||
<div class="client-boot-option{{if .Selected}} selected{{end}}"
|
|
||||||
onclick="selectBootOption('{{$cid}}', '{{.ID}}')">
|
|
||||||
<div>
|
|
||||||
<span class="boot-option-name">{{.Name}}</span>
|
|
||||||
<span class="boot-option-uuid">{{.ID}}</span>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<span class="boot-option-path">{{.Path}}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{{end}}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="client-list-grid">
|
||||||
|
{{range .Clients}}
|
||||||
|
<div class="client-container container">
|
||||||
|
<div class="client-header">
|
||||||
|
<span class="client-name">{{.Name}}</span>
|
||||||
|
<span class="client-uuid">{{.ID}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="client-content">
|
||||||
|
<div class="client-boot-options">
|
||||||
|
{{$cid := .ID}}{{range .BootOptions}}
|
||||||
|
<div class="client-boot-option{{if .Selected}} selected{{end}}"
|
||||||
|
onclick="selectBootOption('{{$cid}}', '{{.ID}}')">
|
||||||
|
<div>
|
||||||
|
<span class="boot-option-name">{{.Name}}</span>
|
||||||
|
<span class="boot-option-uuid">{{.ID}}</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="boot-option-path">{{.Path}}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{end}}
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue