Files
qmining-page/src/pages/contribute.js
T
2020-11-26 13:44:13 +01:00

111 lines
3.2 KiB
JavaScript

import React, { useState } from 'react'
import Head from 'next/head'
import Button from '../components/Button.js'
import Sleep from '../components/sleep'
import TodoTable from '../components/todoStuff/todoTable'
import constants from '../constants.json'
import styles from './contribute.module.css'
import repos from '../data/repos.json'
export default function contribute() {
const [newTask, setNewTask] = useState('')
const submitNewTask = async () => {
if (!newTask) {
return
}
fetch(constants.apiUrl + 'postfeedback', {
method: 'POST',
credentials: 'include',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
newTask: newTask,
from: 'contribute',
}),
})
.then((resp) => {
return resp.json()
})
.then((resp) => {
if (resp.success) {
alert('Elküldve')
setNewTask('')
} else {
alert('Hiba küldés közben')
}
})
.catch((err) => {
alert('Hiba küldés közben')
console.error(err)
})
}
const renderNewTaskArea = () => {
return (
<div className={styles.inputArea}>
<textarea
onChange={(event) => setNewTask(event.target.value)}
value={newTask || ''}
className={styles.feedback}
/>
<button className={styles.button} onClick={submitNewTask}>
Küldés
</button>
</div>
)
}
return (
<div>
<Head>
<title>Qmining - Contribute / Todos</title>
</Head>
<div className={styles.description}>
Egy kártyára kattintva szavazhatsz. Minél több szavazat érkezik egy
kártyára, annál magasabb lesz a pioritása. Jobb alsó szám minél több,
annál nehezebb a feladat. Tartsd egeret kártyán részletesebb leírásért
(ha van hozzá)
</div>
<TodoTable />
<div className={styles.description}>Itt írhatsz todo-ra ötleteket </div>
{renderNewTaskArea()}
<Sleep />
<hr />
<div className={styles.description}>
Csak álnévvel commitolj git repókhoz!
</div>
<div className={styles.repos}>
<div>Git repo links</div>
{Object.keys(repos.repos).map((key) => {
let repo = repos.repos[key]
return (
<div key={key}>
<a href={repo.href}>{repo.description}</a>
</div>
)
})}
</div>
<hr />
<div className={styles.description}>
IRC chat: egy IRC chatszoba van létrehozva egy random szerveren, ahol
tudsz azonnal üzenni, és ha épp fent vagyok akkor azonnal válaszolok
</div>
<Button text="IRC chat" href="/irc" />
<hr />
<div className={styles.description}>
Kérdés szerkesztő: Ezen az oldalon lehet szerkeszteni az összes kérdést,
duplikációkat eltávolítani vagy helytelen válaszokat kijavítani kézzel.
Ha van hozzá jelszavad, akkor ezt azonnal el tudod menteni, ha nincs és
úgy érzed szeretnél akkor kattints a fenti IRC chat gombra!
</div>
<Button text="Data Editor" href="/dataeditor" />
</div>
)
}