Added tabs.json

This commit is contained in:
MrFry 2020-03-08 12:16:14 +01:00
parent b7dcc360bc
commit 8a1149d223
5 changed files with 39 additions and 40 deletions

View file

@ -1,5 +1,7 @@
import Link from 'next/link' import Link from 'next/link'
import tabs from '../data/tabs.json'
// TODO: activelink prop to set link to active // TODO: activelink prop to set link to active
export default function Layout (props) { export default function Layout (props) {
const { currPageName } = props const { currPageName } = props
@ -17,26 +19,16 @@ export default function Layout (props) {
Frylabs Frylabs
</div> </div>
</div> </div>
<Link href='/' > {Object.keys(tabs).map((key) => {
<a const item = tabs[key]
className={currPageName === 'index' ? 'active' : ''} return (
>home</a> <Link href={item.href} key={key} >
</Link> <a
<Link href='/manual' > className={currPageName === key ? 'active' : ''}
<a >{item.text}</a>
className={currPageName === 'manual' ? 'active' : ''} </Link>
>manual</a> )
</Link> })}
<Link href='/allQuestions' >
<a
className={currPageName === 'allQuestions' ? 'active' : ''}
>AllQuestions</a>
</Link>
<Link href='/userQuestions' >
<a
className={currPageName === 'userQuestions' ? 'active' : ''}
>userQuestions</a>
</Link>
</div> </div>
<div className='content'> <div className='content'>
{props.children} {props.children}

18
src/data/tabs.json Normal file
View file

@ -0,0 +1,18 @@
{
"index": {
"href": "/",
"text": "Home"
},
"manual": {
"href": "/manual",
"text": "Manual"
},
"allQuestions": {
"href": "/allQuestions",
"text": "All question"
},
"userQuestions": {
"href": "/userQuestions",
"text": "User Questions"
}
}

View file

@ -10,11 +10,9 @@ import constants from '../constants.json'
export default function AllQuestions (props) { export default function AllQuestions (props) {
const [data, setData] = useState(null) const [data, setData] = useState(null)
const [loaded, setLoaded] = useState(false)
const [activeSubjName, setActiveSubjName] = useState('') const [activeSubjName, setActiveSubjName] = useState('')
const [searchTerm, setSearchTerm] = useState('') const [searchTerm, setSearchTerm] = useState('')
// TODO: fetches twice
useEffect(() => { useEffect(() => {
console.info('Fetching data') console.info('Fetching data')
fetch(`${constants.serverUrl}data.json`) fetch(`${constants.serverUrl}data.json`)
@ -23,11 +21,10 @@ export default function AllQuestions (props) {
}) })
.then((data) => { .then((data) => {
setData(data) setData(data)
setLoaded(true)
}) })
}, [loaded]) }, [])
if (loaded) { if (data) {
let currSubj = data.Subjects.find((subj) => { let currSubj = data.Subjects.find((subj) => {
return subj.Name === activeSubjName return subj.Name === activeSubjName
}) })

View file

@ -1,13 +1,7 @@
import React, { PureComponent } from 'react' export default function Feedback (props) {
return (
class Feedback extends PureComponent { <div>
render () {
return (
<div>
hello Feedback hello Feedback
</div> </div>
) )
}
} }
export default Feedback

View file

@ -6,7 +6,6 @@ import Layout from '../components/layout'
import constants from '../constants.json' import constants from '../constants.json'
export default function UserQuestions (props) { export default function UserQuestions (props) {
const [loaded, setLoaded] = useState(false)
const [qa, setQa] = useState(null) const [qa, setQa] = useState(null)
useEffect(() => { useEffect(() => {
@ -17,11 +16,10 @@ export default function UserQuestions (props) {
}) })
.then((data) => { .then((data) => {
setQa(data) setQa(data)
setLoaded(true)
}) })
}, [loaded]) }, [])
if (loaded) { if (qa) {
let questions = Object.keys(qa).map((key, i) => { let questions = Object.keys(qa).map((key, i) => {
let q = qa[key] let q = qa[key]
return ( return (