bump
This commit is contained in:
12
snippets/routes-app/app.ts
Normal file
12
snippets/routes-app/app.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import type { Page } from '@kevisual/store/page';
|
||||
import type { QueryRouterServer } from '@kevisual/router';
|
||||
export const page = useContextKey('page', () => {
|
||||
return new window.Page({
|
||||
basename: '',
|
||||
}) as unknown as Page;
|
||||
});
|
||||
|
||||
export const app = useContextKey('app', () => {
|
||||
console.error('app not found');
|
||||
return null as unknown as QueryRouterServer;
|
||||
});
|
||||
39
snippets/routes-app/main.ts
Normal file
39
snippets/routes-app/main.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { page, app } from './app.ts';
|
||||
export const render = ({ renderRoot }) => {
|
||||
renderRoot.innerHTML = `
|
||||
<h1>Hello, World!</h1>
|
||||
`;
|
||||
};
|
||||
|
||||
if (page) {
|
||||
page.addPage('/app-template', 'home');
|
||||
page.subscribe('home', () => {
|
||||
render({
|
||||
renderRoot: document.getElementById('ai-root'),
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
if (app) {
|
||||
app
|
||||
.route({
|
||||
path: 'app-template',
|
||||
key: 'render',
|
||||
})
|
||||
.define(async (ctx) => {
|
||||
let { renderRoot } = ctx.query;
|
||||
if (!renderRoot) {
|
||||
ctx.throw(404, 'renderRoot is required');
|
||||
}
|
||||
if (typeof renderRoot === 'string') {
|
||||
renderRoot = document.querySelector(renderRoot);
|
||||
}
|
||||
if (!renderRoot) {
|
||||
ctx.throw(404, 'renderRoot not found');
|
||||
}
|
||||
render({
|
||||
renderRoot,
|
||||
});
|
||||
})
|
||||
.addTo(app);
|
||||
}
|
||||
Reference in New Issue
Block a user