1
0
Fork 0
mirror of https://gitlab.com/MrFry/qmining-page synced 2025-04-01 20:23:44 +02:00
qmining-page/src/pages/contribute.js
2020-11-28 17:02:29 +01:00

96 lines
2.4 KiB
JavaScript

import React, { useState } from 'react'
import Head from 'next/head'
import Sleep from '../components/sleep'
import Todos from '../components/todoStuff/todos'
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>
<Todos />
<div className={styles.description}>Itt írhatsz todo-ra ötleteket </div>
{renderNewTaskArea()}
<Sleep />
<hr />
<div className={styles.title}>Git repos</div>
<hr />
<hr />
<div className={styles.repos}>
<ul>
{Object.keys(repos.repos).map((key) => {
let repo = repos.repos[key]
return (
<li key={key}>
<a href={repo.href}>{repo.description}</a>
</li>
)
})}
</ul>
</div>
</div>
)
}