Skip to content

Instantly share code, notes, and snippets.

@vladdof
vladdof / Dockerfile
Created June 12, 2024 19:43 — forked from Maxim-Kolmogorov/Dockerfile
Nuxt 3 Docker example
FROM node:18.16.0
ENV APP_ROOT /web
WORKDIR ${APP_ROOT}
ADD . ${APP_ROOT}
RUN npm ci
RUN npm run build
add_action('admin_menu', 'custom_webhook_trigger_menu');
function custom_webhook_trigger_menu() {
add_menu_page('Custom Webhook Trigger', 'Webhook Trigger', 'manage_options', 'custom-webhook-trigger', 'custom_webhook_trigger_page');
}
function custom_webhook_trigger_page() {
?>
<div class="wrap">
<h2>Trigger Webhook</h2>
@vladdof
vladdof / use-click-outside.js
Created December 27, 2023 08:33
onClickOutside for Vue
import { onMounted, onUnmounted } from "vue";
import type { Ref } from "vue";
export const clickOutside = <T extends HTMLElement>(
ref: Ref<T | null>,
callback = () => {}
): void => {
const handleClickOutside = (event: MouseEvent) => {
if (ref?.value && !ref.value.contains(event.target as Node)) {
<script setup>
import { computed } from "vue";
import { getImageUrl, getSvgIcon } from "@/app/utils/icons";
const props = defineProps({
name: {
type: String,
default: "",
},
size: {
@vladdof
vladdof / README.md
Last active November 11, 2023 14:26
Анимация переходов между страницами, использование router-view и transition

В данном примере мы получаем компонент, который рендерится внутри (в нашем случае — корневого). Затем передаём этот компонент внутрь , который будет вызывать анимацию при смене компонента.

Если вы откроете приложение в браузере и попробуете перейти по страницам, ничего не произойдёт, ведь пока что у не добавлена анимация. Давайте это исправим. Добавим к атрибут name и укажем стили.

@vladdof
vladdof / detect-unused-css-selectors.js
Created November 6, 2020 12:59 — forked from victor-homyakov/detect-unused-css-selectors.js
Detect unused CSS selectors. Show possible CSS duplicates. Monitor realtime CSS usage.
/* eslint-disable no-var,no-console */
// detect unused CSS selectors
(function() {
var parsedRules = parseCssRules();
console.log('Parsed CSS rules:', parsedRules);
detectDuplicateSelectors(parsedRules);
var selectorsToTrack = getSelectorsToTrack(parsedRules);
window.selectorStats = { unused: [], added: [], removed: [] };
console.log('Tracking style usage (inspect window.selectorStats for details)...');
@vladdof
vladdof / Preferences.sublime-settings
Last active June 17, 2020 06:24
Настройки для Sublime
{
"copy_with_empty_selection": false,
"drag_text": false,
"ensure_newline_at_eof_on_save": true,
"font_options":
[
"gdi"
],
"font_size": 14,
"ignored_packages":