import React, { useState, useEffect } from 'react'
import fetch from 'unfetch'
import Head from 'next/head'
import Link from 'next/link'
import LoadingIndicator from '../components/LoadingIndicator'
import Sleep from '../components/sleep'
import DbSelector from '../components/dbSelector.js'
import styles from './index.module.css'
import constants from '../constants.json'
const links = {
install: {
href: '/install',
text: 'Install',
},
irc: {
href: '/irc',
text: 'IRC chat',
},
}
export default function Index(props) {
const [news, setNews] = useState(null)
const [allQrSelector, setAllQrSelector] = useState(null)
const motd = props.globalData.motd
// const userSpecificMotd = props.globalData.userSpecificMotd
useEffect(() => {
console.info('Fetching news.json')
fetch(`${constants.apiUrl}news.json`, {
credentials: 'include',
})
.then((resp) => {
return resp.json()
})
.then((data) => {
setNews(data)
})
}, [])
const renderQAItem = (newsItem, key) => {
return (
)
}
const renderNewsItem = (newsItem, key) => {
return (
)
}
const renderNews = () => {
if (news) {
let questions = Object.keys(news)
.map((key) => {
let newsItem = news[key]
if (newsItem.q) {
return (
{renderQAItem(newsItem, key)}
)
} else {
return (
{renderNewsItem(newsItem, key)}
)
}
})
.reverse()
return (
)
} else {
return
}
}
const renderMotd = () => {
return (
MOTD
{motd ? (
) : (
...
)}
)
}
// const renderUserSpecificMotd = () => {
// return (
//
//
//
Üzenet admintól:
// {userSpecificMotd ? (
//
// ) : (
//
...
// )}
//
// )
// }
const renderDbSelector = () => {
if (allQrSelector) {
return (
{
setAllQrSelector(null)
}}
onDbSelect={(selectedDb) => {
if (allQrSelector === 'txt') {
if (selectedDb === 'all') {
window.open(`${constants.apiUrl}allqr.txt`, '_blank')
} else {
window.open(
`${constants.apiUrl}allqr.txt?db=${selectedDb.name}`,
'_blank'
)
}
} else if (allQrSelector === 'json') {
window.open(`${constants.apiUrl}${selectedDb.path}`, '_blank')
}
}}
/>
)
} else {
return null
}
}
return (
Qmining | Frylabs.net
{renderMotd()}
{/*{userSpecificMotd && renderUserSpecificMotd()} */}
{renderNews()}
{renderDbSelector()}
)
}