From f753d1b16e99e1bea80757952ad9f17aca052dd1 Mon Sep 17 00:00:00 2001 From: Baoshuo Date: Tue, 21 Apr 2026 22:35:12 +0800 Subject: [PATCH] ui-next: restructure registry context --- packages/ui-next/api.ts | 12 ++++++++---- packages/ui-next/src/context/index.ts | 16 ---------------- packages/ui-next/src/main.tsx | 4 ++-- packages/ui-next/src/registry/index.tsx | 13 +++++++++++++ 4 files changed, 23 insertions(+), 22 deletions(-) delete mode 100644 packages/ui-next/src/context/index.ts diff --git a/packages/ui-next/api.ts b/packages/ui-next/api.ts index fa7071714..6bd00680e 100644 --- a/packages/ui-next/api.ts +++ b/packages/ui-next/api.ts @@ -1,4 +1,8 @@ -export type { Context } from './src/context'; -export { usePageData } from './src/context/pageData'; -export type { PageData } from './src/context/pageData'; -export type { ComponentName } from './src/registry'; +// Context +export { type PageData, usePageData } from './src/context/pageData'; + +// Hooks +export { useUrl } from './src/hooks/useUrl'; + +// Registry +export type { ComponentName, RegistryContext } from './src/registry'; diff --git a/packages/ui-next/src/context/index.ts b/packages/ui-next/src/context/index.ts deleted file mode 100644 index d4d567513..000000000 --- a/packages/ui-next/src/context/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { - after, before, Component, patch, -} from '../registry'; - -export interface Context { - before: typeof before; - after: typeof after; - patch: typeof patch; - register: typeof Component; -} - -export function createContext(): Context { - return { - before, after, patch, register: Component, - }; -} diff --git a/packages/ui-next/src/main.tsx b/packages/ui-next/src/main.tsx index 36857e167..e5e7298a3 100644 --- a/packages/ui-next/src/main.tsx +++ b/packages/ui-next/src/main.tsx @@ -2,10 +2,10 @@ import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import plugins from 'virtual:hydro-plugins'; import App from './App'; -import { createContext } from './context'; import { type PageData, PageDataProvider } from './context/pageData'; +import { createRegistryContext } from './registry'; -const ctx = createContext(); +const ctx = createRegistryContext(); for (const plugin of plugins) { plugin.apply(ctx); } diff --git a/packages/ui-next/src/registry/index.tsx b/packages/ui-next/src/registry/index.tsx index 99105f9ba..d280f3b39 100644 --- a/packages/ui-next/src/registry/index.tsx +++ b/packages/ui-next/src/registry/index.tsx @@ -74,3 +74,16 @@ export function patch(name: ComponentName, cb: (props: any) => any, id?: string) const list = registry.patch[name] ??= []; upsert(list, { id: id ?? genId(), cb }); } + +export interface RegistryContext { + before: typeof before; + after: typeof after; + patch: typeof patch; + register: typeof Component; +} + +export function createRegistryContext(): RegistryContext { + return { + before, after, patch, register: Component, + }; +}