@@ -102,7 +102,7 @@ module.exports = (env, argv) => {
|
|||||||
new CopyWebpackPlugin({
|
new CopyWebpackPlugin({
|
||||||
patterns: [
|
patterns: [
|
||||||
{ from: path.resolve(LIB, 'index.php'), to: 'index.php' },
|
{ from: path.resolve(LIB, 'index.php'), to: 'index.php' },
|
||||||
{ from: path.resolve(SRC, 'images', 'logo_black.png'), to: 'images' },
|
{ from: path.resolve(SRC, 'images', 'logo_title.png'), to: 'images' },
|
||||||
{ from: path.resolve(SRC, 'images', 'spot-logo-only.svg'), to: 'images' }
|
{ from: path.resolve(SRC, 'images', 'spot-logo-only.svg'), to: 'images' }
|
||||||
]
|
]
|
||||||
}),
|
}),
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "franzz/spot",
|
"name": "franzz/spot",
|
||||||
"description": "Spotty",
|
"description": "LiveTrail",
|
||||||
"type": "project",
|
"type": "project",
|
||||||
"license": "GPL-3.0-or-later",
|
"license": "GPL-3.0-or-later",
|
||||||
"repositories": [
|
"repositories": [
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"credits": {
|
"credits": {
|
||||||
"git": "Git Repository",
|
"git": "Git Repository",
|
||||||
"license": "under GPLv3 license",
|
"license": "under GPLv3 license",
|
||||||
"project": "Spotty Project"
|
"project": "$0 Project"
|
||||||
},
|
},
|
||||||
"email": {
|
"email": {
|
||||||
"confirmation": {
|
"confirmation": {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"credits": {
|
"credits": {
|
||||||
"git": "Repositorio de Git",
|
"git": "Repositorio de Git",
|
||||||
"license": "bajo licencia GPLv3",
|
"license": "bajo licencia GPLv3",
|
||||||
"project": "Proyecto Spotty"
|
"project": "Proyecto $0"
|
||||||
},
|
},
|
||||||
"email": {
|
"email": {
|
||||||
"confirmation": {
|
"confirmation": {
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
"credits": {
|
"credits": {
|
||||||
"git": "Dépôt Git",
|
"git": "Dépôt Git",
|
||||||
"license": "sous licence GPLv3",
|
"license": "sous licence GPLv3",
|
||||||
"project": "Projet Spotty"
|
"project": "Projet $0"
|
||||||
},
|
},
|
||||||
"email": {
|
"email": {
|
||||||
"confirmation": {
|
"confirmation": {
|
||||||
|
|||||||
@@ -57,8 +57,8 @@ class Email extends PhpObject {
|
|||||||
$oPHPMailer->Password = Settings::MAIL_PASS; //SMTP password
|
$oPHPMailer->Password = Settings::MAIL_PASS; //SMTP password
|
||||||
$oPHPMailer->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
|
$oPHPMailer->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; //Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
|
||||||
$oPHPMailer->Port = 587; //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
|
$oPHPMailer->Port = 587; //TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
|
||||||
$oPHPMailer->setFrom(Settings::MAIL_FROM, 'Spotty');
|
$oPHPMailer->setFrom(Settings::MAIL_FROM, Spot::PROJECT_NAME);
|
||||||
$oPHPMailer->addReplyTo(Settings::MAIL_FROM, 'Spotty');
|
$oPHPMailer->addReplyTo(Settings::MAIL_FROM, Spot::PROJECT_NAME);
|
||||||
|
|
||||||
$bSuccess = true;
|
$bSuccess = true;
|
||||||
foreach($this->asDests as $asDest) {
|
foreach($this->asDests as $asDest) {
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ class Spot extends Main
|
|||||||
const MAIL_CHUNK_SIZE = 5;
|
const MAIL_CHUNK_SIZE = 5;
|
||||||
|
|
||||||
const DEFAULT_LANG = 'en';
|
const DEFAULT_LANG = 'en';
|
||||||
|
const PROJECT_NAME = 'LiveTrail';
|
||||||
|
|
||||||
const MAIN_PAGE = 'index';
|
const MAIN_PAGE = 'index';
|
||||||
|
|
||||||
@@ -184,14 +185,15 @@ class Spot extends Main
|
|||||||
'default_maps' => $this->oMap->getProjectMaps(-1),
|
'default_maps' => $this->oMap->getProjectMaps(-1),
|
||||||
'chunk_size' => self::FEED_CHUNK_SIZE,
|
'chunk_size' => self::FEED_CHUNK_SIZE,
|
||||||
'hash_sep' => '-',
|
'hash_sep' => '-',
|
||||||
'title' => 'Spotty',
|
'title' => self::PROJECT_NAME,
|
||||||
'default_page' => 'project'
|
'default_page' => 'project'
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
self::MAIN_PAGE,
|
self::MAIN_PAGE,
|
||||||
array(
|
array(
|
||||||
'tags' => [
|
'tags' => [
|
||||||
'language' => $this->oLang->getLanguage()
|
'language' => $this->oLang->getLanguage(),
|
||||||
|
'title' => self::PROJECT_NAME,
|
||||||
],
|
],
|
||||||
'instances' => [
|
'instances' => [
|
||||||
'entrypoint' => $this->getAppEntryPoints()
|
'entrypoint' => $this->getAppEntryPoints()
|
||||||
|
|||||||
@@ -53,7 +53,6 @@ export default {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<h1><SpotIcon :icon="'newsletter'" width="fixed" :text="lang.get('newsletter.title')" /></h1>
|
|
||||||
<div class="newsletter-form">
|
<div class="newsletter-form">
|
||||||
<input type="email" name="email" id="email" :placeholder="lang.get('newsletter.email_placeholder')" v-model="user.email" :disabled="loading || subscribed" />
|
<input type="email" name="email" id="email" :placeholder="lang.get('newsletter.email_placeholder')" v-model="user.email" :disabled="loading || subscribed" />
|
||||||
<SpotButton :classes="buttonClasses" :title="lang.get('newsletter.'+action)" :icon="action" @click="manage" />
|
<SpotButton :classes="buttonClasses" :title="lang.get('newsletter.'+action)" :icon="action" @click="manage" />
|
||||||
|
|||||||
@@ -76,15 +76,15 @@ export default {
|
|||||||
<template>
|
<template>
|
||||||
<div id="settings" class="map-container map-container-left">
|
<div id="settings" class="map-container map-container-left">
|
||||||
<div id="settings-panel" class="map-panel">
|
<div id="settings-panel" class="map-panel">
|
||||||
<div class="settings-header">
|
<div class="settings-header settings-box">
|
||||||
<div class="logo"><img width="289" height="72" src="images/logo_black.png" alt="Spotty" /></div>
|
<a class="logo" href="#project"><img src="images/logo_title.png" :alt="consts.title" /></a>
|
||||||
<div id="last_update" v-if="project?.mode == consts.modes.blog && lastUpdate.unix_time > 0">
|
<div class="last_update" v-if="project?.mode == consts.modes.blog && lastUpdate.unix_time > 0">
|
||||||
<p><span><img src="images/spot-logo-only.svg" alt="" /></span><abbr :title="lastUpdate.formatted_time">{{ lang.get('feed.last_update')+' '+lastUpdate.relative_time }}</abbr></p>
|
<p><span><img src="images/spot-logo-only.svg" alt="" /></span><abbr :title="lastUpdate.formatted_time">{{ lang.get('feed.last_update')+' '+lastUpdate.relative_time }}</abbr></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-sections">
|
<div class="settings-sections">
|
||||||
<Simplebar id="settings-sections-scrollbox">
|
<Simplebar id="settings-sections-scrollbox">
|
||||||
<div class="settings-section">
|
<div class="settings-section settings-box">
|
||||||
<h1><SpotIcon :icon="'project'" width="fixed" :text="lang.get('project.hikes')" /></h1>
|
<h1><SpotIcon :icon="'project'" width="fixed" :text="lang.get('project.hikes')" /></h1>
|
||||||
<div class="settings-section-body">
|
<div class="settings-section-body">
|
||||||
<div class="radio" v-for="project in projects" :key="'project-'+project.id">
|
<div class="radio" v-for="project in projects" :key="'project-'+project.id">
|
||||||
@@ -98,7 +98,7 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-section">
|
<div class="settings-section settings-box">
|
||||||
<h1><SpotIcon :icon="'map'" width="fixed" :text="lang.get('map.title')" /></h1>
|
<h1><SpotIcon :icon="'map'" width="fixed" :text="lang.get('map.title')" /></h1>
|
||||||
<div class="settings-section-body">
|
<div class="settings-section-body">
|
||||||
<div class="radio" v-for="bm in baseMaps" :key="'map-'+bm.id_map">
|
<div class="radio" v-for="bm in baseMaps" :key="'map-'+bm.id_map">
|
||||||
@@ -107,21 +107,24 @@ export default {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-section newsletter">
|
<div class="settings-section settings-box newsletter">
|
||||||
<ProjectNewsletter />
|
<h1><SpotIcon :icon="'newsletter'" width="fixed" :text="lang.get('newsletter.title')" /></h1>
|
||||||
|
<div class="settings-section-body">
|
||||||
|
<ProjectNewsletter />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-section admin" v-if="user.hasClearance(consts.clearances.admin)">
|
<div class="settings-section settings-box admin" v-if="user.hasClearance(consts.clearances.admin)">
|
||||||
<h1><SpotIcon :icon="'admin'" width="fixed" :text="lang.get('admin.title')" /></h1>
|
<h1><SpotIcon :icon="'admin'" width="fixed" :text="lang.get('admin.title')" /></h1>
|
||||||
<div class="admin-actions">
|
<div class="settings-section-body admin-actions">
|
||||||
<a class="button" href="#admin"><SpotIcon :icon="'config'" :text="lang.get('admin.config')" /></a>
|
<a class="button" href="#admin"><SpotIcon :icon="'config'" :text="lang.get('admin.config')" /></a>
|
||||||
<a class="button" href="#upload"><SpotIcon :icon="'upload'" :text="lang.get('admin.upload')" /></a>
|
<a class="button" href="#upload"><SpotIcon :icon="'upload'" :text="lang.get('admin.upload')" /></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Simplebar>
|
</Simplebar>
|
||||||
</div>
|
</div>
|
||||||
<div class="settings-footer">
|
<div class="settings-footer settings-box">
|
||||||
<a href="https://git.lutran.fr/franzz/spot" :title="lang.get('credits.git')" target="_blank" rel="noopener">
|
<a href="https://git.lutran.fr/franzz/spot" :title="lang.get('credits.git')" target="_blank" rel="noopener">
|
||||||
<SpotIcon :icon="'credits'" :text="lang.get('credits.project')" />
|
<SpotIcon :icon="'credits'" :text="lang.get('credits.project', consts.title)" />
|
||||||
</a>
|
</a>
|
||||||
<span> {{ lang.get('credits.license') }}</span>
|
<span> {{ lang.get('credits.license') }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 17 KiB |
@@ -1,9 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<browserconfig>
|
|
||||||
<msapplication>
|
|
||||||
<tile>
|
|
||||||
<square150x150logo src="/images/icons/mstile-150x150.png?v=GvmqYyKwbb"/>
|
|
||||||
<TileColor>#00a300</TileColor>
|
|
||||||
</tile>
|
|
||||||
</msapplication>
|
|
||||||
</browserconfig>
|
|
||||||
|
Before Width: | Height: | Size: 821 B |
|
Before Width: | Height: | Size: 1.3 KiB |
BIN
src/images/icons/favicon-96x96.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
1
src/images/icons/favicon.svg
Normal file
|
After Width: | Height: | Size: 449 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
@@ -1,32 +0,0 @@
|
|||||||
<?xml version="1.0" standalone="no"?>
|
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
|
||||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
|
||||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="700.000000pt" height="700.000000pt" viewBox="0 0 700.000000 700.000000"
|
|
||||||
preserveAspectRatio="xMidYMid meet">
|
|
||||||
<metadata>
|
|
||||||
Created by potrace 1.11, written by Peter Selinger 2001-2013
|
|
||||||
</metadata>
|
|
||||||
<g transform="translate(0.000000,700.000000) scale(0.100000,-0.100000)"
|
|
||||||
fill="#000000" stroke="none">
|
|
||||||
<path d="M5041 5784 c366 -384 572 -817 630 -1323 17 -156 7 -495 -20 -641
|
|
||||||
-78 -415 -250 -717 -1091 -1915 -108 -154 -338 -482 -510 -730 -172 -247 -328
|
|
||||||
-469 -346 -492 -21 -25 -56 -52 -91 -68 -48 -23 -66 -27 -127 -23 -46 2 -86
|
|
||||||
11 -113 24 l-42 21 36 -44 c47 -58 122 -116 191 -150 50 -25 68 -28 152 -28
|
|
||||||
88 0 100 2 163 34 80 40 167 121 254 236 102 137 967 1375 1158 1660 429 639
|
|
||||||
578 959 636 1365 20 140 17 485 -5 630 -37 237 -101 440 -205 655 -162 331
|
|
||||||
-404 620 -696 830 -33 24 -28 16 26 -41z"/>
|
|
||||||
<path d="M2750 5673 c-63 -22 -143 -75 -197 -131 -192 -196 -318 -616 -298
|
|
||||||
-990 9 -174 36 -314 118 -607 l34 -120 316 -3 317 -2 0 62 c1 81 22 199 49
|
|
||||||
265 11 29 42 87 69 130 143 230 186 366 185 588 -1 420 -140 736 -356 809 -60
|
|
||||||
20 -177 20 -237 -1z"/>
|
|
||||||
<path d="M4017 5056 c-174 -62 -301 -280 -348 -591 -19 -129 -17 -337 4 -425
|
|
||||||
32 -136 85 -257 159 -368 81 -119 127 -268 128 -410 l0 -62 317 2 316 3 34
|
|
||||||
120 c106 374 136 590 115 816 -22 225 -66 391 -153 566 -48 97 -74 138 -131
|
|
||||||
198 -39 42 -90 87 -115 102 -99 58 -241 79 -326 49z"/>
|
|
||||||
<path d="M2412 3548 c3 -109 7 -129 30 -173 120 -232 445 -231 559 0 28 58 32
|
|
||||||
76 37 180 l5 115 -318 0 -317 0 4 -122z"/>
|
|
||||||
<path d="M3960 2962 c0 -234 106 -368 300 -380 98 -5 168 20 233 83 75 75 91
|
|
||||||
119 95 263 l4 122 -316 0 -316 0 0 -88z"/>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -1,22 +1,21 @@
|
|||||||
{
|
{
|
||||||
"name": "Spotty",
|
"name": "LiveTrail",
|
||||||
"short_name": "Spotty",
|
"short_name": "LiveTrail",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "/images/icons/android-chrome-192x192.png?v=GvmqYyKwbb",
|
"src": "/images/icons/web-app-manifest-192x192.png?v=20260525",
|
||||||
"sizes": "192x192",
|
"sizes": "192x192",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "any maskable"
|
"purpose": "maskable"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "/images/icons/android-chrome-512x512.png?v=GvmqYyKwbb",
|
"src": "/images/icons/web-app-manifest-512x512.png?v=20260525",
|
||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "any maskable"
|
"purpose": "maskable"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"theme_color": "#ffffff",
|
"theme_color": "#081b19",
|
||||||
"background_color": "#ffffff",
|
"background_color": "#081b19",
|
||||||
"display": "browser",
|
"display": "standalone"
|
||||||
"orientation": "portrait"
|
|
||||||
}
|
}
|
||||||
BIN
src/images/icons/web-app-manifest-192x192.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
src/images/icons/web-app-manifest-512x512.png
Normal file
|
After Width: | Height: | Size: 170 KiB |
BIN
src/images/logo_title.png
Normal file
|
After Width: | Height: | Size: 304 KiB |
@@ -4,23 +4,21 @@
|
|||||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
<meta name="description" content="[#]lang:meta.page_og_desc[#]">
|
<meta name="description" content="[#]lang:meta.page_og_desc[#]">
|
||||||
<meta property="og:title" content="Spotty" />
|
<meta property="og:title" content="[#]title[#]" />
|
||||||
<meta property="og:description" content="[#]lang:meta.page_og_desc[#]" />
|
<meta property="og:description" content="[#]lang:meta.page_og_desc[#]" />
|
||||||
<meta property="og:type" content="website" />
|
<meta property="og:type" content="website" />
|
||||||
<meta property="og:url" content="[#]server[#]" />
|
<meta property="og:url" content="[#]server[#]" />
|
||||||
<meta property="og:image" content="images/ogp.png" />
|
<meta property="og:image" content="images/ogp.png" />
|
||||||
<meta property="og:locale" content="[#]lang:meta.locale[#]" />
|
<meta property="og:locale" content="[#]lang:meta.locale[#]" />
|
||||||
<link rel="apple-touch-icon" sizes="180x180" href="images/icons/apple-touch-icon.png?v=GvmqYyKwbb">
|
<link rel="icon" type="image/png" href="images/icons/favicon-96x96.png?v=20260525" sizes="96x96" />
|
||||||
<link rel="icon" type="image/png" sizes="32x32" href="images/icons/favicon-32x32.png?v=GvmqYyKwbb">
|
<link rel="icon" type="image/svg+xml" href="images/icons/favicon.svg?v=20260525" />
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="images/icons/favicon-16x16.png?v=GvmqYyKwbb">
|
<link rel="shortcut icon" href="images/icons/favicon.ico?v=20260525" />
|
||||||
<link rel="manifest" href="images/icons/site.webmanifest?v=GvmqYyKwbb">
|
<link rel="apple-touch-icon" sizes="180x180" href="images/icons/apple-touch-icon.png?v=20260525" />
|
||||||
<link rel="mask-icon" href="images/icons/safari-pinned-tab.svg?v=GvmqYyKwbb" color="#44d15a">
|
<meta name="apple-mobile-web-app-title" content="[#]title[#]" />
|
||||||
<link rel="shortcut icon" href="images/icons/favicon.ico?v=GvmqYyKwbb">
|
<link rel="manifest" href="images/icons/site.webmanifest?v=20260525" />
|
||||||
<meta name="msapplication-TileColor" content="#00a300">
|
<meta name="theme-color" content="#081b19">
|
||||||
<meta name="msapplication-config" content="images/icons/browserconfig.xml?v=GvmqYyKwbb">
|
|
||||||
<meta name="theme-color" content="#ffffff">
|
|
||||||
<script id="app-config" type="application/json">[#]app_config[#]</script>
|
<script id="app-config" type="application/json">[#]app_config[#]</script>
|
||||||
<title>Spotty</title>
|
<title>[#]title[#]</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="container"></div>
|
<div id="container"></div>
|
||||||
|
|||||||
@@ -37,7 +37,8 @@ $over-img-bg: color.adjust($default, $lightness: 70%, $alpha: -0.5, $space: hsl
|
|||||||
$over-img-shadow: rgba(0, 0, 0, 0.5);
|
$over-img-shadow: rgba(0, 0, 0, 0.5);
|
||||||
|
|
||||||
//Settings colors
|
//Settings colors
|
||||||
$title: $default;
|
$night: #061D19;
|
||||||
|
$title: $message;
|
||||||
$subtitle: #999;
|
$subtitle: #999;
|
||||||
$download-hover: #0078A8;
|
$download-hover: #0078A8;
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.archived {
|
.post-item {
|
||||||
background: color.$default-bg-light;
|
background: color.$default-bg-light;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,10 +34,6 @@ $panel-actual-width: min($panel-width, #{$panel-width-max});
|
|||||||
|
|
||||||
.map-container-left {
|
.map-container-left {
|
||||||
transform: translateX(0);
|
transform: translateX(0);
|
||||||
|
|
||||||
.map-panel {
|
|
||||||
box-shadow: 2px 2px var.$block-shadow 0px color.$over-img-shadow;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,13 +80,13 @@ $panel-actual-width: min($panel-width, #{$panel-width-max});
|
|||||||
color: color.$default-inv;
|
color: color.$default-inv;
|
||||||
|
|
||||||
&:hover, &:hover a, &:hover a:visited {
|
&:hover, &:hover a, &:hover a:visited {
|
||||||
background-color: color.$default-bg-light;
|
background-color: color.$default-bg;
|
||||||
color: color.$default;
|
color: color.$default;
|
||||||
}
|
}
|
||||||
|
|
||||||
a, a:visited {
|
a, a:visited {
|
||||||
background-color: color.$default;
|
background-color: color.$default-inv-bg;
|
||||||
color: color.$default-bg;
|
color: color.$default-inv;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +101,6 @@ $panel-actual-width: min($panel-width, #{$panel-width-max});
|
|||||||
margin: var.$block-spacing;
|
margin: var.$block-spacing;
|
||||||
border-radius: var.$block-radius;
|
border-radius: var.$block-radius;
|
||||||
color: color.$default;
|
color: color.$default;
|
||||||
background: color.$default-bg-trans;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
|
|||||||
@@ -4,48 +4,56 @@
|
|||||||
|
|
||||||
#settings {
|
#settings {
|
||||||
#settings-panel {
|
#settings-panel {
|
||||||
|
gap: var.$block-spacing;
|
||||||
|
|
||||||
|
.settings-box {
|
||||||
|
background: color.$default-bg;
|
||||||
|
border-radius: var.$block-radius;
|
||||||
|
box-shadow: 2px 2px var.$block-shadow 0px color.$over-img-shadow;
|
||||||
|
}
|
||||||
|
|
||||||
.settings-header {
|
.settings-header {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
flex: 0 1 auto;
|
|
||||||
|
|
||||||
.logo {
|
.logo {
|
||||||
background: color.$default-bg;
|
display: block;
|
||||||
padding: 2rem var.$block-spacing;
|
border-radius: var.$block-radius;
|
||||||
border-radius: var.$block-radius var.$block-radius 0 0;
|
background: color.$default-bg-light;
|
||||||
|
padding: var.$block-spacing;
|
||||||
|
|
||||||
|
&:has(+ .last_update) {
|
||||||
|
padding: 2 * var.$block-spacing;
|
||||||
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
width: 100%;
|
width: 65%;
|
||||||
height: auto;
|
|
||||||
max-width: 180px;
|
|
||||||
transform: translateX(-10%); //Center Text, not logo. logo width (40px) / image width (200px) = 20%. And centering: 20% / 2 = 10%
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#last_update {
|
.last_update {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
margin-top: -2em;
|
margin-top: -2 * var.$block-spacing;
|
||||||
|
line-height: 2 * var.$block-spacing;
|
||||||
padding: 0 var.$block-spacing;
|
padding: 0 var.$block-spacing;
|
||||||
width: calc(100% - 2rem);
|
width: calc(100% - 2 * var.$block-spacing);
|
||||||
|
|
||||||
p {
|
p {
|
||||||
text-align: center;
|
|
||||||
font-size: 0.8em;
|
font-size: 0.8em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: color.$subtitle;
|
color: color.$subtitle;
|
||||||
transform: translateX(calc(-0.5 * (12px + 0.5em))); //icon width + margin right
|
|
||||||
|
|
||||||
span {
|
span {
|
||||||
margin-right: 0.5em;
|
margin-right: var.$elem-spacing;
|
||||||
img {
|
img {
|
||||||
width: 12px;
|
width: 12px;
|
||||||
vertical-align: middle;
|
vertical-align: center;
|
||||||
animation: spotlogo 20s infinite;
|
animation: spotlogo 20s infinite;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
abbr {
|
abbr {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
vertical-align: middle;
|
vertical-align: center;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,8 +63,6 @@
|
|||||||
flex: 0 1 auto;
|
flex: 0 1 auto;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background: color.$default-bg;
|
|
||||||
border-radius: 0 0 var.$block-radius var.$block-radius;
|
|
||||||
font-size: 0.7em;
|
font-size: 0.7em;
|
||||||
padding: var.$text-spacing;
|
padding: var.$text-spacing;
|
||||||
color: color.$default;
|
color: color.$default;
|
||||||
@@ -74,6 +80,7 @@
|
|||||||
.settings-sections {
|
.settings-sections {
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
|
border-radius: var.$block-radius;
|
||||||
|
|
||||||
#settings-sections-scrollbox {
|
#settings-sections-scrollbox {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
@@ -82,20 +89,21 @@
|
|||||||
|
|
||||||
.settings-section {
|
.settings-section {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin: 2rem var.$block-spacing 0 var.$block-spacing;
|
margin-bottom: var.$block-spacing;
|
||||||
width: calc(100% - 2 * var.$block-spacing);
|
width: 100%;
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
margin-bottom: 2rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
margin: 0 0 var.$block-spacing;
|
margin: 0;
|
||||||
|
padding: var.$block-spacing;
|
||||||
|
border-radius: var.$block-radius var.$block-radius 0 0;
|
||||||
color: color.$title;
|
color: color.$title;
|
||||||
font-size: 1.5em;
|
font-size: 1.75em;
|
||||||
|
background: color.$default-bg-light;
|
||||||
}
|
}
|
||||||
|
|
||||||
.settings-section-body {
|
.settings-section-body {
|
||||||
|
padding: var.$block-spacing;
|
||||||
|
|
||||||
.radio {
|
.radio {
|
||||||
&:not(:first-child) {
|
&:not(:first-child) {
|
||||||
margin-top: var.$elem-spacing;
|
margin-top: var.$elem-spacing;
|
||||||
|
|||||||