import { Ref, computed, ref, watch, onMounted, onUnmounted } from 'vue';
function isHTMLElement(arg: unknown): arg is HTMLElement {
return !!arg && arg instanceof HTMLElement;
}
function useCSSVariable(
variable: string,
el: HTMLElement | Ref<HTMLElement> = document.documentElement
) {
if (!variable.startsWith('--')) variable = `--${variable}`;
if (!isHTMLElement(el)) watch(el, value => (el = value), { immediate: true });
const prev = ref();
let timeoutId: number;
const interval = () => {
const current = isHTMLElement(el)
? getComputedStyle(el).getPropertyValue(variable)
: null;
if (current !== prev.value) prev.value = current;
timeoutId = window.setTimeout(interval, 100);
};
onMounted(() => {
interval();
});
onUnmounted(() => {
clearTimeout(timeoutId);
});
return computed<string>({
set(value) {
let current: null | string = null;
if (isHTMLElement(el)) {
el.style.setProperty(variable, value);
current = el.style.getPropertyValue(variable);
}
if (prev.value !== current) prev.value = current;
},
get() {
return prev.value;
}
});
}
<template>
<input class="hover--red"/>
</template>
<style>
.hover--red:hover {
color: #f00
}
</style>
<script setup>
// ...
const hoverColor = '#f00'
</script>
<template>
<input :style="{'--hover-color': hoverColor}"/>
</template>
<style>
input:hover {
color: var(--hover-color)
}
</style>
v-bind
в <style>
:<script setup>
// ...
const hoverColor = '#f00'
</script>
<template>
<input />
</template>
<style>
input:hover {
color: v-bind(hoverColor)
}
</style>
healthcheck
проверки доступности базы в backend и бэкенда во frontend... или простой docker compose -f путь/до/docker-compose.yaml stop
, т.е. просто остановить все сервисы. server {
listen [::]:80;
listen 80;
server_name api.example.com;
return 301 https://$host$request_uri;
}
server {
listen [::]:443 ssl;
listen 443 ssl;
http2 on;
server_name api.example.com;
ssl_certificate путь_к_серту_для_api.example.com;
ssl_certificate_key путь_к_ключу_для_api.example.com;
location / {
proxy_pass 127.0.0.1:порт_вашего_приложения;
........
........
}
}
Владелец сайта и (или) страницы сайта в сети "Интернет", и (или) информационной системы, и (или) программы для электронных вычислительных машин, являющийся российским юридическим лицом или гражданином Российской Федерации и осуществляющий свою деятельность в сети "Интернет" на территории Российской Федерации, в случае, если доступ к информации, размещенной на его сайте и (или) странице сайта в сети "Интернет", и (или) в его информационной системе, и (или) программе для электронных вычислительных машин, предоставляется пользователям, прошедшим авторизацию, обязан проводить ее в отношении пользователей, находящихся на территории Российской Федерации, одним из следующих способов: ...
- <Form @submit="onSubmit" :validation-schema="schema">
+ <Form @submit="onSubmit" :validation-schema="schema" validate-on-mount>