2023-01-10 09:33:54 +01:00
/* eslint-disable react/no-danger */
2022-12-19 19:08:58 +01:00
import { Html , Head , Main , NextScript } from 'next/document' ;
2023-01-10 09:33:54 +01:00
import { readFileSync } from 'fs' ;
import { join } from 'path' ;
2023-01-12 03:26:54 +01:00
import { HtmlComment } from '../components/common/HtmlComment/HtmlComment' ;
2023-01-10 09:33:54 +01:00
class InlineStylesHead extends Head {
getCssLinks : Head [ 'getCssLinks' ] = ( { allFiles } ) = > {
const { assetPrefix } = this . context ;
if ( ! allFiles || allFiles . length === 0 ) return null ;
return allFiles
. filter ( ( file : any ) = > /\.css$/ . test ( file ) )
. map ( ( file : any ) = > (
< style
key = { file }
nonce = { this . props . nonce }
data - href = { ` ${ assetPrefix } /_next/ ${ file } ` }
dangerouslySetInnerHTML = { {
__html : readFileSync ( join ( process . cwd ( ) , '.next' , file ) , 'utf-8' ) ,
} }
/ >
) ) ;
} ;
}
2022-12-19 19:08:58 +01:00
export default function Document() {
return (
< Html lang = "en" >
2023-01-12 03:26:54 +01:00
< HtmlComment text = "If you're reading this we'd love your help with Owncast! Visit https://owncast.online/help to see how you can contribute to make independent, open source live streaming better with your help." / >
2023-01-10 09:33:54 +01:00
< InlineStylesHead / >
2022-12-19 19:08:58 +01:00
< body >
< Main / >
< NextScript / >
< / body >
< / Html >
) ;
}