mirror of
https://gitlab.com/MrFry/qmining-page
synced 2026-04-28 03:07:36 +02:00
154 lines
5.3 KiB
JavaScript
154 lines
5.3 KiB
JavaScript
import React, { useState, useEffect } from 'react'
|
|
import fetch from 'unfetch'
|
|
import Head from 'next/head'
|
|
|
|
import styles from './pwRequest.module.css'
|
|
import constants from '../constants.json'
|
|
|
|
export default function PwRequest(props) {
|
|
const [result, setResult] = useState([])
|
|
const [remaining, setRemaining] = useState('...')
|
|
const [requestedPWS, setRequestedPWS] = useState('...')
|
|
const [createDate, setCreateDate] = useState('...')
|
|
|
|
const [addPwPerDay, setAddPwPerDay] = useState('...')
|
|
const [daysAfterUserGetsPWs, setDaysAfterUserGetsPWs] = useState('...')
|
|
const [maxPWCount, setMaxPWCount] = useState('...')
|
|
const [addPWCount, setAddPWCount] = useState('...')
|
|
const [dayDiff, setDayDiff] = useState('...')
|
|
|
|
useEffect(() => {
|
|
console.info('Fetching avaible pws')
|
|
fetch(`${constants.apiUrl}avaiblePWS`, {
|
|
credentials: 'include',
|
|
})
|
|
.then((resp) => {
|
|
return resp.json()
|
|
})
|
|
.then((data) => {
|
|
setRemaining(data.avaiblePWS)
|
|
setCreateDate(data.userCreated)
|
|
setRequestedPWS(data.requestedPWS)
|
|
|
|
setAddPwPerDay(data.addPWPerDay)
|
|
setAddPWCount(data.addPWCount)
|
|
setDaysAfterUserGetsPWs(data.daysAfterUserGetsPWs)
|
|
setMaxPWCount(data.maxPWCount)
|
|
setDayDiff(data.dayDiff)
|
|
})
|
|
}, [])
|
|
|
|
const handleSubmit = async () => {
|
|
const rawResponse = await fetch(constants.apiUrl + 'getpw', {
|
|
method: 'POST',
|
|
credentials: 'include',
|
|
headers: {
|
|
Accept: 'application/json',
|
|
'Content-Type': 'application/json',
|
|
},
|
|
body: JSON.stringify({}),
|
|
})
|
|
try {
|
|
rawResponse
|
|
.json()
|
|
.then((resp) => {
|
|
if (resp.result === 'success') {
|
|
setResult([...result, resp.pw])
|
|
setRemaining(resp.remaining)
|
|
setRequestedPWS(resp.requestedPWS)
|
|
} else if (resp.result === 'success') {
|
|
setResult(['Nem vagy bejelentkezve!']) // this should never happpen
|
|
} else {
|
|
setResult([
|
|
...result,
|
|
'Jelszó kérési lehetőségeid elfogytak, nézz vissza később',
|
|
])
|
|
setRemaining(0)
|
|
}
|
|
})
|
|
.catch((e) => {
|
|
setResult([...result, 'Szerver oldali hiba! :('])
|
|
console.error(e)
|
|
})
|
|
} catch (e) {
|
|
setResult([...result, 'Szerver oldali hiba! :('])
|
|
console.error(e)
|
|
}
|
|
}
|
|
|
|
return (
|
|
// TODO: a generált jelszó modal-on való megjelenítésének kivitelezése.
|
|
/* TODO: <span>{' ' + createDate}</span>-kor. rész után az oldal összes jelenlegi
|
|
felhasználójának darabszámának megjelenítése.*/
|
|
<div>
|
|
<Head>
|
|
<title>Jelszó generálás - Qmining | Frylabs.net</title>
|
|
</Head>
|
|
<div className={'pageHeader'}>
|
|
<h1>Jelszó generálás</h1>
|
|
</div>
|
|
<div id="form">
|
|
<div className={styles.text}>
|
|
<p className={styles.descrip}>
|
|
Ezen az oldalon lehetőséged van lekérni jelszavakat, hogy új
|
|
felhasználókat hívhass meg az oldalra, vagy elfelejtett jelszavadat
|
|
pótold, amennyiben még be vagy jelentkezve a régivel. (Konkrét
|
|
elfelejtett jelszó funkció még nincsen)
|
|
<br />
|
|
Minden felhasználó saját és különböző jelszót kap. Inkább generálj
|
|
egyet és add oda másnak, mint hogy közösen használjatok egyet, mert
|
|
egyszerre, egy felhasználó csak egy helyen, egy eszközön lehet
|
|
belépve, mindenhol máshol automatikusan kijelentkeztetésre kerül. A
|
|
jelszavakról bővebben a Script használata oldal{' '}
|
|
<a href="/manual#pw" target="_blank">
|
|
vonatkozó részén
|
|
</a>{' '}
|
|
olvashatsz.
|
|
</p>
|
|
</div>
|
|
<div className={styles.text}>
|
|
Az új felhasználóknak
|
|
<span>{' ' + daysAfterUserGetsPWs + ' '}</span>
|
|
napot kell várniuk, míg jelszó generálási lehetőséget kapnak.
|
|
<br />
|
|
Egy felhasználó egyszerre
|
|
<span>{' ' + addPWCount + ' '}</span>
|
|
jelszót generálhat, a jelszókérések közt
|
|
<span>{' ' + addPwPerDay + ' '}</span>
|
|
napnak kell eltelnie, hogy újabb jelszót kérhess le.
|
|
<br />
|
|
Egy felhasználó összesen
|
|
<span>{' ' + maxPWCount + ' '}</span>
|
|
jelszót generálhat.
|
|
<br />
|
|
Ebből eddig
|
|
<span>{' ' + requestedPWS + ' '}</span>
|
|
lehetőséget használtál fel, tehát még
|
|
<span>{' ' + remaining}</span> db jelszót kérhetsz le. <br />
|
|
<br /> A jelenleg bejelentkezett felhasználó létrehozva:
|
|
<span>{' ' + dayDiff}</span> napja,<span>{' ' + createDate}</span>
|
|
-kor.
|
|
<br />
|
|
<br />
|
|
</div>
|
|
<div className={styles.buttonContainer}>
|
|
<div onClick={handleSubmit} className={styles.button}>
|
|
Jelszó kérése
|
|
</div>
|
|
</div>
|
|
{result ? (
|
|
<div className={styles.pwContainer}>
|
|
{result.map((r, i) => {
|
|
return (
|
|
<div key={i} className={styles.pw}>
|
|
{i + 1}.: {r}
|
|
</div>
|
|
)
|
|
})}
|
|
</div>
|
|
) : null}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|