Added voting. Improved comments.
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
// import { renderToString as renderToString_ } from '@vue/server-renderer';
|
||||
import { renderToNodeStream } from '@vue/server-renderer';
|
||||
import { escapeInject } from 'vite-plugin-ssr/server';
|
||||
import { RenderErrorPage } from 'vite-plugin-ssr/RenderErrorPage';
|
||||
|
||||
import { createApp } from './app';
|
||||
import { useUser } from '../stores/user';
|
||||
@@ -45,16 +46,30 @@ async function render(pageContext) {
|
||||
}
|
||||
|
||||
async function onBeforeRender(pageContext) {
|
||||
const pageData = await pageContext.exports.getPageData?.(pageContext, pageContext.session);
|
||||
try {
|
||||
const pageData = await pageContext.exports.getPageData?.(pageContext, pageContext.session);
|
||||
|
||||
return {
|
||||
pageContext: {
|
||||
// initialState: store.state.value,
|
||||
pageData,
|
||||
user: pageContext.session.user,
|
||||
now: new Date(),
|
||||
},
|
||||
};
|
||||
return {
|
||||
pageContext: {
|
||||
// initialState: store.state.value,
|
||||
pageData,
|
||||
me: pageContext.session.user,
|
||||
now: new Date(),
|
||||
},
|
||||
};
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
|
||||
throw RenderErrorPage({
|
||||
pageContext: {
|
||||
pageProps: {
|
||||
errorInfo: error.statusMessage,
|
||||
},
|
||||
me: pageContext.session.user,
|
||||
now: new Date(),
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export {
|
||||
@@ -62,4 +77,4 @@ export {
|
||||
onBeforeRender,
|
||||
};
|
||||
|
||||
export const passToClient = ['urlPathname', 'initialState', 'pageData', 'pageProps', 'routeParams', 'user', 'now'];
|
||||
export const passToClient = ['urlPathname', 'initialState', 'pageData', 'pageProps', 'routeParams', 'me', 'now'];
|
||||
|
||||
@@ -19,10 +19,10 @@
|
||||
</div>
|
||||
|
||||
<span
|
||||
v-if="user"
|
||||
v-if="me"
|
||||
class="userpanel"
|
||||
@click="logout"
|
||||
>{{ user.username }}</span>
|
||||
>{{ me.username }}</span>
|
||||
</header>
|
||||
|
||||
<div class="content-container">
|
||||
@@ -35,14 +35,15 @@
|
||||
<script setup>
|
||||
import logo from '../assets/img/logo.svg?raw'; // eslint-disable-line import/no-unresolved
|
||||
import { del } from '../assets/js/api';
|
||||
import { navigate } from '../assets/js/navigate';
|
||||
import { usePageContext } from './usePageContext';
|
||||
|
||||
const { user } = usePageContext();
|
||||
const { me } = usePageContext();
|
||||
const version = CLIENT_VERSION;
|
||||
|
||||
async function logout() {
|
||||
await del('/api/session');
|
||||
window.location.href = '/account/login';
|
||||
await del('/session');
|
||||
navigate('/account/login');
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user