forked from rc/aircox
work on home page, fix views & templates issues
This commit is contained in:
@ -1,6 +1,3 @@
|
||||
.navbar {
|
||||
box-shadow: 0em 0em 0.6em rgba(0, 0, 0, 0.4); }
|
||||
|
||||
.navbar .navbar-brand {
|
||||
padding-right: 1em; }
|
||||
|
||||
@ -7211,6 +7208,28 @@ a.navbar-item.is-active {
|
||||
margin: 0em;
|
||||
padding: 0em; }
|
||||
|
||||
.card .title {
|
||||
padding: 0.2em;
|
||||
font-size: 1.25rem;
|
||||
font-weight: 500; }
|
||||
.card .title a {
|
||||
color: #363636; }
|
||||
|
||||
.card.is-primary {
|
||||
box-shadow: 0em 0em 0.5em #0a0a0a; }
|
||||
|
||||
.card-super-title {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
font-size: 1.2em;
|
||||
font-weight: 700;
|
||||
padding: 0.2em;
|
||||
top: 1em;
|
||||
background-color: white; }
|
||||
.card-super-title .fas {
|
||||
padding: 0.1em;
|
||||
font-size: 0.8em; }
|
||||
|
||||
.filters {
|
||||
margin: 1em 0em;
|
||||
background-color: transparent;
|
||||
@ -7223,16 +7242,6 @@ a.navbar-item.is-active {
|
||||
color: #7a7a7a;
|
||||
font-weight: 300; }
|
||||
|
||||
/*
|
||||
.navbar-brand img {
|
||||
min-height: 6em;
|
||||
}
|
||||
|
||||
.navbar-menu .navbar-item:not(:last-child) {
|
||||
border-right: 1px $grey solid;
|
||||
}
|
||||
*/
|
||||
/** page **/
|
||||
.page > .cover {
|
||||
float: right;
|
||||
max-width: 45%; }
|
||||
@ -7247,26 +7256,23 @@ a.navbar-item.is-active {
|
||||
.page p {
|
||||
padding: 0.4em 0em; }
|
||||
|
||||
section > .toolbar {
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
padding: 1em;
|
||||
margin-bottom: 1.5em; }
|
||||
|
||||
main .cover {
|
||||
margin: 1em 0em;
|
||||
border: 0.2em black solid; }
|
||||
|
||||
main .small-cover {
|
||||
width: 10em; }
|
||||
|
||||
aside .small-cover {
|
||||
width: 4em; }
|
||||
|
||||
aside .media .subtitle {
|
||||
font-size: 1em; }
|
||||
|
||||
aside .media .content {
|
||||
display: none; }
|
||||
.media.item .headline {
|
||||
line-height: 1.2em;
|
||||
max-height: calc(1.2em * 3);
|
||||
overflow: hidden; }
|
||||
.media.item .headline + .headline-overflow {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 2em;
|
||||
margin-top: -2em; }
|
||||
.media.item .headline + .headline-overflow:before {
|
||||
content: '';
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(transparent 1em, whitesmoke); }
|
||||
|
||||
.player {
|
||||
box-shadow: 0em 1.5em 2.5em rgba(0, 0, 0, 0.6); }
|
||||
@ -7287,3 +7293,37 @@ aside .media .content {
|
||||
.player .title {
|
||||
margin: 0em; }
|
||||
|
||||
.media .subtitle {
|
||||
margin-bottom: 0.4em; }
|
||||
|
||||
.media .media-content .headline {
|
||||
font-size: 1em;
|
||||
font-weight: 400; }
|
||||
|
||||
body {
|
||||
background-color: whitesmoke; }
|
||||
|
||||
section > .toolbar {
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
padding: 1em;
|
||||
margin-bottom: 1.5em; }
|
||||
|
||||
main .cover {
|
||||
margin: 1em 0em;
|
||||
border: 0.2em black solid; }
|
||||
|
||||
main .small-cover {
|
||||
width: 10em; }
|
||||
|
||||
aside > section {
|
||||
margin-bottom: 2em; }
|
||||
|
||||
aside .cover {
|
||||
margin-bottom: 2em; }
|
||||
|
||||
aside .small-cover {
|
||||
width: 4em; }
|
||||
|
||||
aside .media .subtitle {
|
||||
font-size: 1em; }
|
||||
|
||||
|
@ -305,7 +305,7 @@ eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./asse
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n\n\nconst splitReg = new RegExp(`,\\s*`, 'g');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n counts: {},\n }\n },\n\n methods: {\n update() {\n const items = this.$el.querySelectorAll('input[name=\"data\"]:checked')\n const counts = {};\n\n console.log(items)\n for(var item of items)\n if(item.value)\n for(var tag of item.value.split(splitReg))\n counts[tag.trim()] = (counts[tag.trim()] || 0) + 1;\n this.counts = counts;\n }\n },\n\n mounted() {\n this.$refs.form.addEventListener('change', () => this.update())\n this.update()\n }\n});\n\n\n//# sourceURL=webpack:///./assets/admin/statistics.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n\n\nconst splitReg = new RegExp(`,\\s*`, 'g');\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n counts: {},\n }\n },\n\n methods: {\n update() {\n const items = this.$el.querySelectorAll('input[name=\"data\"]:checked')\n const counts = {};\n\n console.log(items)\n for(var item of items)\n if(item.value)\n for(var tag of item.value.split(splitReg))\n counts[tag.trim()] = (counts[tag.trim()] || 0) + 1;\n this.counts = counts;\n },\n\n onclick(event) {\n // TODO: row click => check checkbox\n }\n },\n\n mounted() {\n this.$refs.form.addEventListener('change', () => this.update())\n this.update()\n }\n});\n\n\n//# sourceURL=webpack:///./assets/admin/statistics.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||||
|
||||
/***/ }),
|
||||
|
||||
@ -317,7 +317,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n//\n//\n//\n//\n//\n//\n\n\nc
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return State; });\n/* harmony import */ var _liveInfo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./liveInfo */ \"./assets/public/liveInfo.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nconst State = {\n paused: 0,\n playing: 1,\n loading: 2,\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n state: State.paused,\n liveInfo: new _liveInfo__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.liveInfoUrl, this.liveInfoTimeout),\n }\n },\n\n props: {\n buttonTitle: String,\n liveInfoUrl: String,\n liveInfoTimeout: { type: Number, default: 5},\n src: String,\n },\n\n computed: {\n paused() { return this.state == State.paused; },\n playing() { return this.state == State.playing; },\n loading() { return this.state == State.loading; },\n\n onAir() {\n return this.liveInfo.items && this.liveInfo.items[0];\n },\n\n buttonStyle() {\n if(!this.onAir)\n return;\n return { backgroundImage: `url(${this.onAir.cover})` }\n }\n },\n\n methods: {\n load(src) {\n const audio = this.$refs.audio;\n audio.src = src;\n audio.load()\n },\n\n play(src) {\n if(src)\n this.load(src);\n this.$refs.audio.play().catch(e => console.error(e))\n },\n\n pause() {\n this.$refs.audio.pause()\n },\n\n toggle() {\n if(this.paused)\n this.play()\n else\n this.pause()\n },\n\n onChange(event) {\n const audio = this.$refs.audio;\n this.state = audio.paused ? State.paused : State.playing;\n },\n },\n\n mounted() {\n this.liveInfo.refresh()\n },\n\n destroyed() {\n this.liveInfo.drop()\n },\n});\n\n\n\n//# sourceURL=webpack:///./assets/public/player.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return State; });\n/* harmony import */ var _liveInfo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./liveInfo */ \"./assets/public/liveInfo.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nconst State = {\n paused: 0,\n playing: 1,\n loading: 2,\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n state: State.paused,\n liveInfo: new _liveInfo__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.liveInfoUrl, this.liveInfoTimeout),\n }\n },\n\n props: {\n buttonTitle: String,\n liveInfoUrl: String,\n liveInfoTimeout: { type: Number, default: 5},\n src: String,\n },\n\n computed: {\n paused() { return this.state == State.paused; },\n playing() { return this.state == State.playing; },\n loading() { return this.state == State.loading; },\n\n onAir() {\n return this.liveInfo.items && this.liveInfo.items[0];\n },\n\n buttonStyle() {\n if(!this.onAir)\n return;\n return { backgroundImage: `url(${this.onAir.cover})` }\n }\n },\n\n methods: {\n load(src) {\n const audio = this.$refs.audio;\n audio.src = src;\n audio.load()\n },\n\n play(src) {\n if(src)\n this.load(src);\n this.$refs.audio.play().catch(e => console.error(e))\n },\n\n pause() {\n this.$refs.audio.pause()\n },\n\n toggle() {\n console.log('tooogle', this.paused, '-', this.$refs.audio.src)\n if(this.paused)\n this.play()\n else\n this.pause()\n },\n\n onChange(event) {\n const audio = this.$refs.audio;\n this.state = audio.paused ? State.paused : State.playing;\n },\n },\n\n mounted() {\n this.liveInfo.refresh()\n },\n\n destroyed() {\n this.liveInfo.drop()\n },\n});\n\n\n\n//# sourceURL=webpack:///./assets/public/player.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
@ -7190,6 +7190,28 @@ a.navbar-item.is-active {
|
||||
margin: 0em;
|
||||
padding: 0em; }
|
||||
|
||||
.card .title {
|
||||
padding: 0.2em;
|
||||
font-size: 1.25rem;
|
||||
font-weight: 500; }
|
||||
.card .title a {
|
||||
color: #363636; }
|
||||
|
||||
.card.is-primary {
|
||||
box-shadow: 0em 0em 0.5em #0a0a0a; }
|
||||
|
||||
.card-super-title {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
font-size: 1.2em;
|
||||
font-weight: 700;
|
||||
padding: 0.2em;
|
||||
top: 1em;
|
||||
background-color: white; }
|
||||
.card-super-title .fas {
|
||||
padding: 0.1em;
|
||||
font-size: 0.8em; }
|
||||
|
||||
.filters {
|
||||
margin: 1em 0em;
|
||||
background-color: transparent;
|
||||
@ -7202,16 +7224,6 @@ a.navbar-item.is-active {
|
||||
color: #7a7a7a;
|
||||
font-weight: 300; }
|
||||
|
||||
/*
|
||||
.navbar-brand img {
|
||||
min-height: 6em;
|
||||
}
|
||||
|
||||
.navbar-menu .navbar-item:not(:last-child) {
|
||||
border-right: 1px $grey solid;
|
||||
}
|
||||
*/
|
||||
/** page **/
|
||||
.page > .cover {
|
||||
float: right;
|
||||
max-width: 45%; }
|
||||
@ -7226,26 +7238,23 @@ a.navbar-item.is-active {
|
||||
.page p {
|
||||
padding: 0.4em 0em; }
|
||||
|
||||
section > .toolbar {
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
padding: 1em;
|
||||
margin-bottom: 1.5em; }
|
||||
|
||||
main .cover {
|
||||
margin: 1em 0em;
|
||||
border: 0.2em black solid; }
|
||||
|
||||
main .small-cover {
|
||||
width: 10em; }
|
||||
|
||||
aside .small-cover {
|
||||
width: 4em; }
|
||||
|
||||
aside .media .subtitle {
|
||||
font-size: 1em; }
|
||||
|
||||
aside .media .content {
|
||||
display: none; }
|
||||
.media.item .headline {
|
||||
line-height: 1.2em;
|
||||
max-height: calc(1.2em * 3);
|
||||
overflow: hidden; }
|
||||
.media.item .headline + .headline-overflow {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 2em;
|
||||
margin-top: -2em; }
|
||||
.media.item .headline + .headline-overflow:before {
|
||||
content: '';
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
background: linear-gradient(transparent 1em, whitesmoke); }
|
||||
|
||||
.player {
|
||||
box-shadow: 0em 1.5em 2.5em rgba(0, 0, 0, 0.6); }
|
||||
@ -7266,3 +7275,37 @@ aside .media .content {
|
||||
.player .title {
|
||||
margin: 0em; }
|
||||
|
||||
.media .subtitle {
|
||||
margin-bottom: 0.4em; }
|
||||
|
||||
.media .media-content .headline {
|
||||
font-size: 1em;
|
||||
font-weight: 400; }
|
||||
|
||||
body {
|
||||
background-color: whitesmoke; }
|
||||
|
||||
section > .toolbar {
|
||||
background-color: rgba(0, 0, 0, 0.05);
|
||||
padding: 1em;
|
||||
margin-bottom: 1.5em; }
|
||||
|
||||
main .cover {
|
||||
margin: 1em 0em;
|
||||
border: 0.2em black solid; }
|
||||
|
||||
main .small-cover {
|
||||
width: 10em; }
|
||||
|
||||
aside > section {
|
||||
margin-bottom: 2em; }
|
||||
|
||||
aside .cover {
|
||||
margin-bottom: 2em; }
|
||||
|
||||
aside .small-cover {
|
||||
width: 4em; }
|
||||
|
||||
aside .media .subtitle {
|
||||
font-size: 1em; }
|
||||
|
||||
|
@ -246,7 +246,7 @@ eval("// extracted by mini-css-extract-plugin\n\n//# sourceURL=webpack:///./asse
|
||||
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
||||
|
||||
"use strict";
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return State; });\n/* harmony import */ var _liveInfo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./liveInfo */ \"./assets/public/liveInfo.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nconst State = {\n paused: 0,\n playing: 1,\n loading: 2,\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n state: State.paused,\n liveInfo: new _liveInfo__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.liveInfoUrl, this.liveInfoTimeout),\n }\n },\n\n props: {\n buttonTitle: String,\n liveInfoUrl: String,\n liveInfoTimeout: { type: Number, default: 5},\n src: String,\n },\n\n computed: {\n paused() { return this.state == State.paused; },\n playing() { return this.state == State.playing; },\n loading() { return this.state == State.loading; },\n\n onAir() {\n return this.liveInfo.items && this.liveInfo.items[0];\n },\n\n buttonStyle() {\n if(!this.onAir)\n return;\n return { backgroundImage: `url(${this.onAir.cover})` }\n }\n },\n\n methods: {\n load(src) {\n const audio = this.$refs.audio;\n audio.src = src;\n audio.load()\n },\n\n play(src) {\n if(src)\n this.load(src);\n this.$refs.audio.play().catch(e => console.error(e))\n },\n\n pause() {\n this.$refs.audio.pause()\n },\n\n toggle() {\n if(this.paused)\n this.play()\n else\n this.pause()\n },\n\n onChange(event) {\n const audio = this.$refs.audio;\n this.state = audio.paused ? State.paused : State.playing;\n },\n },\n\n mounted() {\n this.liveInfo.refresh()\n },\n\n destroyed() {\n this.liveInfo.drop()\n },\n});\n\n\n\n//# sourceURL=webpack:///./assets/public/player.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||||
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"State\", function() { return State; });\n/* harmony import */ var _liveInfo__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./liveInfo */ \"./assets/public/liveInfo.js\");\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\n\n\nconst State = {\n paused: 0,\n playing: 1,\n loading: 2,\n}\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n data() {\n return {\n state: State.paused,\n liveInfo: new _liveInfo__WEBPACK_IMPORTED_MODULE_0__[\"default\"](this.liveInfoUrl, this.liveInfoTimeout),\n }\n },\n\n props: {\n buttonTitle: String,\n liveInfoUrl: String,\n liveInfoTimeout: { type: Number, default: 5},\n src: String,\n },\n\n computed: {\n paused() { return this.state == State.paused; },\n playing() { return this.state == State.playing; },\n loading() { return this.state == State.loading; },\n\n onAir() {\n return this.liveInfo.items && this.liveInfo.items[0];\n },\n\n buttonStyle() {\n if(!this.onAir)\n return;\n return { backgroundImage: `url(${this.onAir.cover})` }\n }\n },\n\n methods: {\n load(src) {\n const audio = this.$refs.audio;\n audio.src = src;\n audio.load()\n },\n\n play(src) {\n if(src)\n this.load(src);\n this.$refs.audio.play().catch(e => console.error(e))\n },\n\n pause() {\n this.$refs.audio.pause()\n },\n\n toggle() {\n console.log('tooogle', this.paused, '-', this.$refs.audio.src)\n if(this.paused)\n this.play()\n else\n this.pause()\n },\n\n onChange(event) {\n const audio = this.$refs.audio;\n this.state = audio.paused ? State.paused : State.playing;\n },\n },\n\n mounted() {\n this.liveInfo.refresh()\n },\n\n destroyed() {\n this.liveInfo.drop()\n },\n});\n\n\n\n//# sourceURL=webpack:///./assets/public/player.vue?./node_modules/vue-loader/lib??vue-loader-options");
|
||||
|
||||
/***/ }),
|
||||
|
||||
|
Reference in New Issue
Block a user