Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
2
2021-155
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
2021-155
2021-155
Commits
b07f65fd
Commit
b07f65fd
authored
Jul 02, 2021
by
Kamal Thennakoon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
next.js theme configs
parent
b5d62d07
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
86 additions
and
18 deletions
+86
-18
client/pages/_app.js
client/pages/_app.js
+39
-16
client/pages/_document.js
client/pages/_document.js
+25
-2
client/themes/theme.js
client/themes/theme.js
+22
-0
No files found.
client/pages/_app.js
View file @
b07f65fd
...
...
@@ -15,6 +15,9 @@ import '../styles/variables.css'
import
'
../styles/nprogress.css
'
import
'
react-tagsinput/react-tagsinput.css
'
import
'
../styles/app.css
'
import
Head
from
'
next/head
'
import
{
ThemeProvider
}
from
'
@material-ui/styles
'
import
theme
from
'
../themes/theme
'
Router
.
events
.
on
(
'
routeChangeStart
'
,
()
=>
NProgress
.
start
())
Router
.
events
.
on
(
'
routeChangeComplete
'
,
()
=>
NProgress
.
done
())
...
...
@@ -34,23 +37,43 @@ function MyApp({ Component, pageProps }) {
setAuthScreen
(
authScreen
)
}
React
.
useEffect
(()
=>
{
// Remove the server-side injected CSS.
const
jssStyles
=
document
.
querySelector
(
'
#jss-server-side
'
)
if
(
jssStyles
)
{
jssStyles
.
parentElement
.
removeChild
(
jssStyles
)
}
},
[])
return
(
<
ModalContext
.
Provider
value
=
{{
ref
,
handleComponentVisible
,
setIsComponentVisible
}}
>
<
AuthProvider
>
<
FetchProvider
>
<
TagProvider
>
<
Component
{...
pageProps
}
/
>
{
isComponentVisible
&&
(
<
Modal
>
<
AuthForms
screen
=
{
authScreen
}
/
>
<
/Modal
>
)}
<
/TagProvider
>
<
/FetchProvider
>
<
/AuthProvider
>
<
/ModalContext.Provider
>
<
React
.
Fragment
>
<
Head
>
<
title
>
ProbExpert
<
/title
>
<
meta
name
=
"
viewport
"
content
=
"
minimum-scale=1, initial-scale=1, width=device-width
"
/>
<
/Head
>
<
ThemeProvider
theme
=
{
theme
}
>
<
ModalContext
.
Provider
value
=
{{
ref
,
handleComponentVisible
,
setIsComponentVisible
}}
>
<
AuthProvider
>
<
FetchProvider
>
<
TagProvider
>
<
Component
{...
pageProps
}
/
>
{
isComponentVisible
&&
(
<
Modal
>
<
AuthForms
screen
=
{
authScreen
}
/
>
<
/Modal
>
)}
<
/TagProvider
>
<
/FetchProvider
>
<
/AuthProvider
>
<
/ModalContext.Provider
>
<
/ThemeProvider
>
<
/React.Fragment
>
)
}
...
...
client/pages/_document.js
View file @
b07f65fd
import
{
ServerStyleSheets
}
from
'
@material-ui/styles
'
import
Document
,
{
Html
,
Head
,
Main
,
NextScript
}
from
'
next/document
'
import
React
from
'
react
'
import
SiteConfig
from
'
../site.config
'
import
theme
from
'
../themes/theme
'
class
MyDocument
extends
Document
{
static
async
getInitialProps
(
ctx
)
{
//const initialProps = await Document.getInitialProps(ctx)
//return { ...initialProps }
const
sheets
=
new
ServerStyleSheets
()
const
originalRenderPage
=
ctx
.
renderPage
ctx
.
renderPage
=
()
=>
originalRenderPage
({
enhanceApp
:
(
App
)
=>
(
props
)
=>
sheets
.
collect
(
<
App
{...
props
}
/>
)
})
const
initialProps
=
await
Document
.
getInitialProps
(
ctx
)
return
{
...
initialProps
}
return
{
...
initialProps
,
// Styles fragment is rendered after the app and page rendering finish.
styles
:
[
...
React
.
Children
.
toArray
(
initialProps
.
styles
),
sheets
.
getStyleElement
()
]
}
}
render
()
{
...
...
@@ -17,7 +38,7 @@ class MyDocument extends Document {
<
meta
httpEquiv
=
"
x-ua-compatible
"
content
=
"
ie=edge
"
/>
<
meta
name
=
"
viewport
"
content
=
"
width=device-width, initial-scale=1
"
/>
<
meta
name
=
"
description
"
content
=
{
SiteConfig
.
description
}
/
>
<
meta
name
=
"
theme-color
"
content
=
{
theme
.
palette
.
primary
.
main
}
/
>
{
/* facebook */
}
<
meta
property
=
"
og:url
"
content
=
{
SiteConfig
.
siteUrl
}
/
>
<
meta
property
=
"
og:type
"
content
=
"
website
"
/>
...
...
@@ -48,6 +69,8 @@ class MyDocument extends Document {
{
/* favicon */
}
<
link
rel
=
"
shortcut icon
"
href
=
"
/images/logo.svg
"
/>
{
/* icons (Fonts Icons) */
}
<
link
rel
=
"
stylesheet
"
href
=
"
https://fonts.googleapis.com/icon?family=Material+Icons
"
/>
<
/Head
>
<
body
>
<
Main
/>
...
...
client/themes/theme.js
0 → 100644
View file @
b07f65fd
import
{
createMuiTheme
}
from
'
@material-ui/core/styles
'
;
import
{
red
}
from
'
@material-ui/core/colors
'
;
// Create a theme instance.
const
theme
=
createMuiTheme
({
palette
:
{
primary
:
{
main
:
'
#556cd6
'
,
},
secondary
:
{
main
:
'
#19857b
'
,
},
error
:
{
main
:
red
.
A400
,
},
background
:
{
default
:
'
#fff
'
,
},
},
});
export
default
theme
;
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment