Убрал длинное тире из BANNER_SLOGAN
This commit is contained in:
+1
-1
@@ -3,7 +3,7 @@ VITE_APP_TITLE=Генератор QR-кодов
|
|||||||
|
|
||||||
# Плашка внизу: бренд, слоган и ссылка
|
# Плашка внизу: бренд, слоган и ссылка
|
||||||
VITE_BANNER_BRAND=iQR
|
VITE_BANNER_BRAND=iQR
|
||||||
VITE_BANNER_SLOGAN=— qr-код без излишеств
|
VITE_BANNER_SLOGAN=qr-код без излишеств
|
||||||
VITE_BANNER_URL=https://github.com/IliaMiheev/iQR
|
VITE_BANNER_URL=https://github.com/IliaMiheev/iQR
|
||||||
|
|
||||||
# Акцентный цвет (hex, rgb или css-имя)
|
# Акцентный цвет (hex, rgb или css-имя)
|
||||||
|
|||||||
+2
-2
@@ -8,8 +8,8 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
APP_TITLE: "Генератор QR-кодов"
|
APP_TITLE: "Генератор QR-кодов"
|
||||||
BANNER_BRAND: "iQR"
|
BANNER_BRAND: "iQR"
|
||||||
BANNER_SLOGAN: "— qr-код без излишеств"
|
BANNER_SLOGAN: "qr-код без излишеств"
|
||||||
BANNER_URL: "https://github.com/IliaMiheev/iQR"
|
BANNER_URL: "https://git.imiheev.online/admin/iQR"
|
||||||
ACCENT_COLOR: "#ff4500"
|
ACCENT_COLOR: "#ff4500"
|
||||||
DEFAULT_THEME: "dark"
|
DEFAULT_THEME: "dark"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
APP_TITLE="${APP_TITLE:-Генератор QR-кодов}"
|
APP_TITLE="${APP_TITLE:-Генератор QR-кодов}"
|
||||||
BANNER_BRAND="${BANNER_BRAND:-iQR}"
|
BANNER_BRAND="${BANNER_BRAND-iQR}"
|
||||||
BANNER_SLOGAN="${BANNER_SLOGAN:-— qr-код без излишеств}"
|
BANNER_SLOGAN="${BANNER_SLOGAN-qr-код без излишеств}"
|
||||||
BANNER_URL="${BANNER_URL:-https://github.com/IliaMiheev/iQR}"
|
BANNER_URL="${BANNER_URL:-https://github.com/IliaMiheev/iQR}"
|
||||||
ACCENT_COLOR="${ACCENT_COLOR:-#ff4500}"
|
ACCENT_COLOR="${ACCENT_COLOR:-#ff4500}"
|
||||||
DEFAULT_THEME="${DEFAULT_THEME:-dark}"
|
DEFAULT_THEME="${DEFAULT_THEME:-dark}"
|
||||||
@@ -24,7 +24,7 @@ printf ' ───────────────────────
|
|||||||
printf ' iQR · готов к работе\n'
|
printf ' iQR · готов к работе\n'
|
||||||
printf ' ──────────────────────────────────────\n'
|
printf ' ──────────────────────────────────────\n'
|
||||||
printf ' Заголовок : %s\n' "$APP_TITLE"
|
printf ' Заголовок : %s\n' "$APP_TITLE"
|
||||||
printf ' Бренд : %s %s\n' "$BANNER_BRAND" "$BANNER_SLOGAN"
|
printf ' Бренд : %s %s\n' "$BANNER_BRAND" — "$BANNER_SLOGAN"
|
||||||
printf ' Ссылка : %s\n' "$BANNER_URL"
|
printf ' Ссылка : %s\n' "$BANNER_URL"
|
||||||
printf ' Акцент : %s\n' "$ACCENT_COLOR"
|
printf ' Акцент : %s\n' "$ACCENT_COLOR"
|
||||||
printf ' Тема : %s\n' "$DEFAULT_THEME"
|
printf ' Тема : %s\n' "$DEFAULT_THEME"
|
||||||
|
|||||||
+8
-1
@@ -29,6 +29,12 @@ const statusClass = computed(() =>
|
|||||||
errorColor.value === 'green' ? 'status--success' : 'status--error',
|
errorColor.value === 'green' ? 'status--success' : 'status--error',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const showBanner = computed(() => {
|
||||||
|
const brand = String(config.bannerBrand ?? '').trim()
|
||||||
|
const slogan = String(config.bannerSlogan ?? '').trim()
|
||||||
|
return Boolean(brand && slogan)
|
||||||
|
})
|
||||||
|
|
||||||
function onKeydown(event) {
|
function onKeydown(event) {
|
||||||
if (event.key === 'Escape' && showModal.value) {
|
if (event.key === 'Escape' && showModal.value) {
|
||||||
closeQrModal()
|
closeQrModal()
|
||||||
@@ -118,6 +124,7 @@ onUnmounted(() => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<a
|
<a
|
||||||
|
v-if="showBanner"
|
||||||
:href="config.bannerUrl"
|
:href="config.bannerUrl"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
@@ -125,7 +132,7 @@ onUnmounted(() => {
|
|||||||
:title="config.bannerBrand"
|
:title="config.bannerBrand"
|
||||||
>
|
>
|
||||||
<span class="site-banner__brand">{{ config.bannerBrand }}</span>
|
<span class="site-banner__brand">{{ config.bannerBrand }}</span>
|
||||||
<span class="site-banner__slogan">{{ config.bannerSlogan }}</span>
|
<span class="site-banner__slogan">— {{ config.bannerSlogan }}</span>
|
||||||
</a>
|
</a>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
export const defaultConfig = {
|
export const defaultConfig = {
|
||||||
title: 'Генератор QR-кодов',
|
title: 'Генератор QR-кодов',
|
||||||
bannerBrand: 'iQR',
|
bannerBrand: 'iQR',
|
||||||
bannerSlogan: '— qr-код без излишеств',
|
bannerSlogan: 'qr-код без излишеств',
|
||||||
bannerUrl: 'https://github.com/IliaMiheev/iQR',
|
bannerUrl: 'https://github.com/IliaMiheev/iQR',
|
||||||
accentColor: '#ff4500',
|
accentColor: '#ff4500',
|
||||||
defaultTheme: 'dark',
|
defaultTheme: 'dark',
|
||||||
|
|||||||
@@ -3,14 +3,17 @@ import { defaultConfig, normalizeTheme } from './defaults'
|
|||||||
function fromBuildEnv() {
|
function fromBuildEnv() {
|
||||||
const env = import.meta.env
|
const env = import.meta.env
|
||||||
|
|
||||||
return pickDefined({
|
const config = pickDefined({
|
||||||
title: env.VITE_APP_TITLE,
|
title: env.VITE_APP_TITLE,
|
||||||
bannerBrand: env.VITE_BANNER_BRAND,
|
|
||||||
bannerSlogan: env.VITE_BANNER_SLOGAN,
|
|
||||||
bannerUrl: env.VITE_BANNER_URL,
|
bannerUrl: env.VITE_BANNER_URL,
|
||||||
accentColor: env.VITE_ACCENT_COLOR,
|
accentColor: env.VITE_ACCENT_COLOR,
|
||||||
defaultTheme: env.VITE_DEFAULT_THEME,
|
defaultTheme: env.VITE_DEFAULT_THEME,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
assignIfDefined(config, 'bannerBrand', env.VITE_BANNER_BRAND)
|
||||||
|
assignIfDefined(config, 'bannerSlogan', env.VITE_BANNER_SLOGAN)
|
||||||
|
|
||||||
|
return config
|
||||||
}
|
}
|
||||||
|
|
||||||
function pickDefined(source) {
|
function pickDefined(source) {
|
||||||
@@ -19,6 +22,11 @@ function pickDefined(source) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function assignIfDefined(target, key, value) {
|
||||||
|
if (value === undefined) return
|
||||||
|
target[key] = value
|
||||||
|
}
|
||||||
|
|
||||||
export async function loadConfig() {
|
export async function loadConfig() {
|
||||||
let runtime = {}
|
let runtime = {}
|
||||||
|
|
||||||
@@ -45,6 +53,8 @@ export async function loadConfig() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
config.bannerBrand = String(config.bannerBrand ?? '').trim()
|
||||||
|
config.bannerSlogan = String(config.bannerSlogan ?? '').trim()
|
||||||
config.defaultTheme = normalizeTheme(config.defaultTheme)
|
config.defaultTheme = normalizeTheme(config.defaultTheme)
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|||||||
Reference in New Issue
Block a user