shack/renderer/app.js

31 lines
641 B
JavaScript

import { createSSRApp, h } from 'vue';
import { createPinia } from 'pinia';
import Container from './container.vue';
import { setPageContext } from './usePageContext';
import '../assets/css/style.css';
function createApp(pageContext) {
const PageWithLayout = {
render() {
return h(Container, {}, {
default() {
return h(pageContext.Page, pageContext.pageData || {});
},
});
},
};
const app = createSSRApp(PageWithLayout);
const store = createPinia();
app.use(store);
// We make pageContext available from any Vue component
setPageContext(app, pageContext);
return { app, store };
}
export { createApp };