//_document.tsx
// Dependencies
import Document, {DocumentContext, Head, Html, Main, NextScript } from "next/document";
import { ServerStyles, createStylesServer } from '@mantine/next';
// RTL Cache
import { rtlCache } from '@/rtl-cache';
// Styles Server
const stylesServer = createStylesServer(rtlCache);
export default class _Document extends Document {
static async getInitialProps(ctx: DocumentContext) {
const initialProps = await Document.getInitialProps(ctx);
return {
...initialProps,
styles: (
<>
{initialProps.styles}
<ServerStyles html={initialProps.html} server={stylesServer} />
</>
),
};
}
render() {
return (
<Html>
<Head />
<body>
<Main />
<NextScript />
</body>
</Html>
);
}
}
#Mantine - NextJS 13
5 messages · Page 1 of 1 (latest)
//rtl-cache.ts
// Dependencies
import rtlPlugin from 'stylis-plugin-rtl';
import { createEmotionCache } from '@mantine/core';
export const rtlCache = createEmotionCache({
key: 'mantine-rtl',
prepend: true,
stylisPlugins: [rtlPlugin],
});
//_app.tsx
// Dependencies
import React from 'react';
import { AppProps } from 'next/app';
import { Metadata } from 'next';
import Head from 'next/head';
import { MantineProvider } from '@mantine/core';
import { Notifications } from '@mantine/notifications';
import useSWRImmutable from "swr/immutable";
import { SessionProvider } from "next-auth/react";
// RTL Cache
import { rtlCache } from '@/rtl-cache';
// Components
import RouterTransition from '@/src/components/Common/RouterTransition';
// Component
export default function App(props: AppProps) {
const { Component, pageProps } = props;
return (
<>
<Head>
<link rel="apple-touch-icon" href="/favicon.ico" />
</Head>
<div dir="rtl">
<MantineProvider
withGlobalStyles
withNormalizeCSS
theme={{
dir: "rtl",
colorScheme: "dark"
}}
emotionCache={rtlCache}
>
<Notifications>
<SessionProvider
session={pageProps?.session}
refetchOnWindowFocus={true}
refetchInterval={5 * 60}
>
<RouterTransition />
<Component {...pageProps} />
</SessionProvider>
</Notifications>
</MantineProvider>
</div>
</>
);
};
It's not loading the component, I'm trying to console.log("Hello World!") in my homepage, however, it's not returning.
I removed the Notifications provider and it started to work