import { default as NativebaseDocument } from "@native-base/next-adapter/document";
import NextDocument, { Html, Head, Main, NextScript } from "next/document";
export { default as ExpoDocument } from "@expo/next-adapter/document";
import EntypoFont from "react-native-vector-icons/Fonts/Entypo.ttf";
import AntDesignFont from "react-native-vector-icons/Fonts/AntDesign.ttf";
import EvilIconsFont from "react-native-vector-icons/Fonts/EvilIcons.ttf";
import FeatherFont from "react-native-vector-icons/Fonts/Feather.ttf";
import FontAwesomeFont from "react-native-vector-icons/Fonts/FontAwesome.ttf";
import FontistoFont from "react-native-vector-icons/Fonts/Fontisto.ttf";
import FoundationFont from "react-native-vector-icons/Fonts/Foundation.ttf";
import IoniconsFont from "react-native-vector-icons/Fonts/Ionicons.ttf";
import MaterialCommunityIconsFont from "react-native-vector-icons/Fonts/MaterialCommunityIcons.ttf";
import MaterialIconsFont from "react-native-vector-icons/Fonts/MaterialIcons.ttf";
import OcticonsFont from "react-native-vector-icons/Fonts/Octicons.ttf";
import SimpleLineIconsFont from "react-native-vector-icons/Fonts/SimpleLineIcons.ttf";
import ZocialFont from "react-native-vector-icons/Fonts/Zocial.ttf";
import * as React from "react";
import { AppRegistry } from "react-native";
class Document extends NativebaseDocument {
render() {
return (
<Html style={{ height: "100%" }}>
<Head />
<body style={{ height: "100%", overflow: "hidden" }}>
<Main />
<NextScript />
</body>
</Html>
);
}
}
export const style =
html, body, #__next {
width: 100%;
-webkit-overflow-scrolling: touch;
margin: 0px;
padding: 0px;
min-height: 100%;
}
@font-face {
src: url(${EntypoFont});
font-family: Entypo;
}
@font-face {
src: url(${EvilIconsFont});
font-family: EvilIcons;
}
@font-face {
src: url(${FontAwesomeFont});
font-family: FontAwesome;
}
@font-face {
src: url(${FeatherFont});
font-family: Feather;
}
@font-face {
src: url(${IoniconsFont});
font-family: Ionicons;
}
@font-face {
src: url(${FoundationFont});
font-family: Foundation;
}
@font-face {
src: url(${MaterialIconsFont});
font-family: MaterialIcons;
}
@font-face {
src: url(${MaterialCommunityIconsFont});
font-family: MaterialCommunityIcons;
}
@font-face {
src: url(${ZocialFont});
font-family: Zocial;
}
@font-face {
src: url(${SimpleLineIconsFont});
font-family: SimpleLineIcons;
}
@font-face {
src: url(${OcticonsFont});
font-family: Octicons;
}
@font-face {
src: url(${FontistoFont});
font-family: Fontisto;
}
@font-face {
src: url(${AntDesignFont});
font-family: AntDesign;
}
#__next { id=__next-
flex-shrink: 0;
flex-basis: auto;
flex-direction: column;
flex-grow: 1;
display: flex;
flex: 1;
}
html {
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
height: 100%;
}
body {
display: flex;
overflow-y: auto;
overscroll-behavior-y: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
-ms-overflow-style: scrollbar;
}
;
export async function getInitialProps({ renderPage }) {
AppRegistry.registerComponent("Main", () => Main);
const { getStyleElement } = AppRegistry.getApplication("Main");
const page = await renderPage();
const styles = [
<style dangerouslySetInnerHTML={{ __html: style }} />,
getStyleElement(),
];
return { ...page, styles: React.Children.toArray(styles) };
}
Document.getInitialProps = getInitialProps;
export default Document;