Several changes have been made to improve the user interface and enhance the user experience. This includes redesigning Auth buttons, modifying website layouts and routing, tweaking heading and text sizes for clarity, and revamping the marketing, documentation, and pricing pages. These changes collectively contribute to a cleaner, more concise and navigable interface.
37 lines
1.0 KiB
TypeScript
37 lines
1.0 KiB
TypeScript
import { getSupabaseServerComponentClient } from '@kit/supabase/server-component-client';
|
|
|
|
import { SiteFooter } from '~/(marketing)/_components/site-footer';
|
|
import { SiteHeader } from '~/(marketing)/_components/site-header';
|
|
import { withI18n } from '~/lib/i18n/with-i18n';
|
|
|
|
async function SiteLayout(props: React.PropsWithChildren) {
|
|
const user = await getUser();
|
|
|
|
return (
|
|
<div className={'flex flex-col'}>
|
|
<SiteHeader user={user} />
|
|
|
|
{props.children}
|
|
|
|
<SiteFooter />
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export default withI18n(SiteLayout);
|
|
|
|
async function getUser() {
|
|
const client = getSupabaseServerComponentClient();
|
|
|
|
// Supabase is going to be complaining about this line
|
|
// since we use getSession instead of getUser
|
|
// we don't quite care because we only need to know if the user is logged in
|
|
// to display the user menu in the header.
|
|
// There is no need to ping the server while navigating to marketing pages.
|
|
const {
|
|
data: { session },
|
|
} = await client.auth.getSession();
|
|
|
|
return session?.user;
|
|
}
|