Website Structure

This commit is contained in:
supalerk-ar66 2026-01-13 10:46:40 +07:00
parent 62812f2090
commit 71f0676a62
22365 changed files with 4265753 additions and 791 deletions

View file

@ -0,0 +1,4 @@
import type { NuxtDevtoolsHostClient } from '@nuxt/devtools-kit/types';
import type { Ref } from 'vue';
export declare function onDevtoolsHostClientConnected(fn: (client: NuxtDevtoolsHostClient) => void): (() => void) | undefined;
export declare function useDevtoolsHostClient(): Ref<NuxtDevtoolsHostClient | undefined>;

View file

@ -0,0 +1,34 @@
import { shallowRef } from "vue";
let clientRef;
const fns = [];
export function onDevtoolsHostClientConnected(fn) {
fns.push(fn);
if (typeof window === "undefined")
return;
if (window.__NUXT_DEVTOOLS_HOST__) {
fns.forEach((fn2) => fn2(window.__NUXT_DEVTOOLS_HOST__));
}
Object.defineProperty(window, "__NUXT_DEVTOOLS_HOST__", {
set(value) {
if (value)
fns.forEach((fn2) => fn2(value));
},
get() {
return clientRef.value;
},
configurable: true
});
return () => {
fns.splice(fns.indexOf(fn), 1);
};
}
export function useDevtoolsHostClient() {
if (!clientRef) {
clientRef = shallowRef();
onDevtoolsHostClientConnected(setup);
}
function setup(client) {
clientRef.value = client;
}
return clientRef;
}

View file

@ -0,0 +1,4 @@
import type { Ref } from 'vue';
import type { NuxtDevtoolsIframeClient } from '../types';
export declare function onDevtoolsClientConnected(fn: (client: NuxtDevtoolsIframeClient) => void): (() => void) | undefined;
export declare function useDevtoolsClient(): Ref<NuxtDevtoolsIframeClient | undefined, NuxtDevtoolsIframeClient | undefined>;

View file

@ -0,0 +1,44 @@
import { shallowRef, triggerRef } from "vue";
let clientRef;
const hasSetup = false;
const fns = [];
export function onDevtoolsClientConnected(fn) {
fns.push(fn);
if (hasSetup)
return;
if (typeof window === "undefined")
return;
if (window.__NUXT_DEVTOOLS__) {
fns.forEach((fn2) => fn2(window.__NUXT_DEVTOOLS__));
}
Object.defineProperty(window, "__NUXT_DEVTOOLS__", {
set(value) {
if (value)
fns.forEach((fn2) => fn2(value));
},
get() {
return clientRef.value;
},
configurable: true
});
return () => {
fns.splice(fns.indexOf(fn), 1);
};
}
export function useDevtoolsClient() {
if (!clientRef) {
clientRef = shallowRef();
onDevtoolsClientConnected(setup);
}
function onUpdateReactivity() {
if (clientRef) {
triggerRef(clientRef);
}
}
function setup(client) {
clientRef.value = client;
if (client.host)
client.host.hooks.hook("host:update:reactivity", onUpdateReactivity);
}
return clientRef;
}