cosmetic changes
This commit is contained in:
@ -20,14 +20,10 @@
|
|||||||
border-radius: 1ex;
|
border-radius: 1ex;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
& > .selected {
|
|
||||||
color: blue;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
.downloads, .view-links {
|
||||||
.downloads > .selected,
|
& > .selected {
|
||||||
.view-links > .selected {
|
color: var(--link);
|
||||||
color: #31b0fa;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,7 +74,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div style="float:right;"><input type="text" placeholder="Filter" v-model="viewFilter"/></div>
|
<div style="float:right;"><input type="search" placeholder="Filter" v-model="viewFilter"/></div>
|
||||||
<p class="view-links"><span v-for="v in views" @click="view = v" :class="{selected: view.type==v.type && view.name==v.name}">{{v.title}}</span></p>
|
<p class="view-links"><span v-for="v in views" @click="view = v" :class="{selected: view.type==v.type && view.name==v.name}">{{v.title}}</span></p>
|
||||||
|
|
||||||
<h2 v-if="view">{{view.title}}</h2>
|
<h2 v-if="view">{{view.title}}</h2>
|
||||||
@ -112,9 +112,9 @@
|
|||||||
<template v-for="k,i in state.Store.KeyNames">{{i?", ":""}}<code @click="forms.delKey.name=k">{{k}}</code></template>.</p>
|
<template v-for="k,i in state.Store.KeyNames">{{i?", ":""}}<code @click="forms.delKey.name=k">{{k}}</code></template>.</p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<template v-if="state.HostTemplates && state.HostTemplates.length">
|
<template v-if="any(state.HostTemplates) || any(hostsFromTemplate)">
|
||||||
<h3>Hosts from template</h3>
|
<h3>Hosts from template</h3>
|
||||||
<form @submit="hostFromTemplateAdd" action="">
|
<form @submit="hostFromTemplateAdd" action="" v-if="any(state.HostTemplates)">
|
||||||
<p>Add a host from template instance:</p>
|
<p>Add a host from template instance:</p>
|
||||||
<input type="text" v-model="forms.hostFromTemplate.name" required placeholder="Name" />
|
<input type="text" v-model="forms.hostFromTemplate.name" required placeholder="Name" />
|
||||||
<select v-model="forms.hostFromTemplate.Template" required>
|
<select v-model="forms.hostFromTemplate.Template" required>
|
||||||
@ -123,7 +123,7 @@
|
|||||||
<input type="text" v-model="forms.hostFromTemplate.IP" required placeholder="IP" />
|
<input type="text" v-model="forms.hostFromTemplate.IP" required placeholder="IP" />
|
||||||
<input type="submit" value="add instance" />
|
<input type="submit" value="add instance" />
|
||||||
</form>
|
</form>
|
||||||
<form @submit="hostFromTemplateDel" action="">
|
<form @submit="hostFromTemplateDel" action="" v-if="any(hostsFromTemplate)">
|
||||||
<p>Remove a host from template instance:</p>
|
<p>Remove a host from template instance:</p>
|
||||||
<select v-model="forms.hostFromTemplateDel" required>
|
<select v-model="forms.hostFromTemplateDel" required>
|
||||||
<option v-for="h in hostsFromTemplate" :value="h.Name">{{h.Name}}</option>
|
<option v-for="h in hostsFromTemplate" :value="h.Name">{{h.Name}}</option>
|
||||||
|
@ -79,11 +79,14 @@ createApp({
|
|||||||
return undefined;
|
return undefined;
|
||||||
},
|
},
|
||||||
hostsFromTemplate() {
|
hostsFromTemplate() {
|
||||||
return (this.state.Hosts||[]).filter((h) => h.Template)
|
return (this.state.Hosts||[]).filter((h) => h.Template);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
|
any(array) {
|
||||||
|
return array && array.length != 0;
|
||||||
|
},
|
||||||
copyText(text) {
|
copyText(text) {
|
||||||
event.preventDefault()
|
event.preventDefault()
|
||||||
window.navigator.clipboard.writeText(text)
|
window.navigator.clipboard.writeText(text)
|
||||||
|
@ -1,5 +1,30 @@
|
|||||||
|
:root {
|
||||||
|
--bg: #eee;
|
||||||
|
--color: black;
|
||||||
|
--bevel-dark: darkgray;
|
||||||
|
--bevel-light: lightgray;
|
||||||
|
--link: blue;
|
||||||
|
--input-bg: #ddd;
|
||||||
|
--input-text: white;
|
||||||
|
--btn-bg: #eee;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (prefers-color-scheme: dark) {
|
||||||
|
:root {
|
||||||
|
--bg: black;
|
||||||
|
--color: orange;
|
||||||
|
--bevel-dark: #402900;
|
||||||
|
--bevel-light: #805300;
|
||||||
|
--link: #31b0fa;
|
||||||
|
--input-bg: #111;
|
||||||
|
--input-text: #ddd;
|
||||||
|
--btn-bg: #222;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background: white;
|
background: var(--bg);
|
||||||
|
color: var(--color);
|
||||||
}
|
}
|
||||||
|
|
||||||
button[disabled] {
|
button[disabled] {
|
||||||
@ -8,7 +33,7 @@ button[disabled] {
|
|||||||
|
|
||||||
a[href], a[href]:visited, button.link {
|
a[href], a[href]:visited, button.link {
|
||||||
border: none;
|
border: none;
|
||||||
color: blue;
|
color: var(--link);
|
||||||
background: none;
|
background: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
@ -37,30 +62,38 @@ th, tr:last-child > td {
|
|||||||
.red { color: red; }
|
.red { color: red; }
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
body {
|
|
||||||
background: black;
|
|
||||||
color: orange;
|
|
||||||
}
|
|
||||||
button, input[type=submit] {
|
|
||||||
background: #333;
|
|
||||||
color: #eee;
|
|
||||||
}
|
|
||||||
a[href], a[href]:visited, button.link {
|
|
||||||
border: none;
|
|
||||||
color: #31b0fa;
|
|
||||||
}
|
|
||||||
|
|
||||||
.red { color: #c00; }
|
.red { color: #c00; }
|
||||||
|
}
|
||||||
|
|
||||||
textarea, input[type=text] {
|
textarea, select, input {
|
||||||
background: #111;
|
background: var(--input-bg);
|
||||||
color: #ddd;
|
color: var(--input-text);
|
||||||
border: dotted 1pt;
|
border: solid 1pt;
|
||||||
border-top-color: #805300;
|
border-color: var(--bevel-light);
|
||||||
border-left-color: #805300;
|
border-top-color: var(--bevel-dark);
|
||||||
border-bottom-color: orange;
|
border-left-color: var(--bevel-dark);
|
||||||
border-right-color: orange;
|
margin: 1pt;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
outline: solid 1pt var(--color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
button, input[type=button], input[type=submit], ::file-selector-button {
|
||||||
|
background: var(--btn-bg);
|
||||||
|
color: var(--color);
|
||||||
|
border: solid 2pt;
|
||||||
|
border-color: var(--bevel-dark);
|
||||||
|
border-top-color: var(--bevel-light);
|
||||||
|
border-left-color: var(--bevel-light);
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: var(--bevel-dark);
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
background: var(--bevel-dark);
|
||||||
|
border-color: var(--bevel-light);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
|
Reference in New Issue
Block a user