diff --git a/src/pages/pwRequest.js b/src/pages/pwRequest.js index b52705a..5c83107 100644 --- a/src/pages/pwRequest.js +++ b/src/pages/pwRequest.js @@ -7,41 +7,23 @@ import Sleep from '../components/sleep' import styles from './pwRequest.module.css' import constants from '../constants.json' -export default function PwRequest() { - 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') +function fetchAvailablePWS() { + return new Promise((resolve) => { 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) + .then((res) => { + resolve(res) }) - }, []) + }) +} - const handleSubmit = async () => { - const rawResponse = await fetch(constants.apiUrl + 'getpw', { +function requestPw() { + return new Promise((resolve) => { + fetch(constants.apiUrl + 'getpw', { method: 'POST', credentials: 'include', headers: { @@ -50,33 +32,47 @@ export default function PwRequest() { }, 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 === 'nouser') { - 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) - } - } + .then((res) => { + return res.json() + }) + .then((res) => { + resolve(res) + }) + }) +} + +export default function PwRequest({ globalData }) { + const userId = globalData.userId || '...' + const [result, setResult] = useState([]) + const [data, setData] = useState({ + userCreated: '...', + availablePWS: '...', + requestedPWS: '...', + maxPWCount: '...', + daysAfterUserGetsPWs: '...', + addPWPerDay: '...', + addPWCount: '...', + dayDiff: '...', + userCount: '...', + }) + + const { + userCreated, + availablePWS, + requestedPWS, + maxPWCount, + daysAfterUserGetsPWs, + addPWPerDay, + addPWCount, + dayDiff, + userCount, + } = data + + useEffect(() => { + fetchAvailablePWS().then((data) => { + setData(data) + }) + }, []) return ( // TODO: a generált jelszó modal-on való megjelenítésének kivitelezése. @@ -93,16 +89,9 @@ export default function PwRequest() {

- 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) -
- 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{' '} + Minden felhasználó egyedi jelszót kap. Ne használjatok többen egy + jelszót, mert egy idő után kidob a rendszer. A jelszavakról bővebben + a jelszavakról bővebben a{' '} GYIK @@ -110,41 +99,70 @@ export default function PwRequest() {

- Az új felhasználóknak - {' ' + daysAfterUserGetsPWs + ' '} - napot kell várniuk, míg jelszó generálási lehetőséget kapnak. -
- Egy felhasználó egyszerre, egymás után - {' ' + maxPWCount + ' '} - jelszót generálhat. Összességében korlátlan mennyiségben kérhetők le - jelszavak, de - {' ' + maxPWCount + ' '}db után el kell telnie{' '} - {' ' + addPwPerDay + ' '} napnak, hogy ismét jelszót - generálhass. -
- Ebből eddig + Jelszó kérési lehetőségeit minden + {' ' + addPWPerDay + '. '} + nap a következő logika alapján növekednek: + + Eddig {' ' + requestedPWS + ' '} - lehetőséget használtál fel, tehát még{' '} - {remaining - requestedPWS} db jelszót kérhetsz le, - mielőtt elérnéd a {' ' + maxPWCount + ' '} darabos - kvótát.
-
A jelenleg bejelentkezett felhasználó létrehozva: - {' ' + dayDiff} napja,{' ' + createDate} - -kor. -
+ jelszót kértél. Jelenleg + {' ' + (availablePWS - requestedPWS) + ' '} + db jelszót kérhetsz. +
A jelenleg bejelentkezett felhasználó ( + {' #' + userId + ' '}){' ' + dayDiff + ' '} + napos,{' '} + + {userCreated ? new Date(userCreated).toLocaleString() : '...'} + + -kor lett létrehozva.
+ Az oldalnak eddig + {' ' + userCount + ' '} + felhasználója van
-
Jelszó kérése
+
{ + requestPw().then((res) => { + setData(res) + if (res.success) { + setResult([...result, res.pw]) + } else { + setResult([ + ...result, + 'Jelszó kérési lehetőségeid elfogytak, nézz vissza később', + ]) + } + }) + }} + > + Jelszó kérése +
{result ? (
- {result.map((r, i) => { + {result.map((res, i) => { return (
- {i + 1}.: {r} + {i + 1}.: {res}
) })} diff --git a/src/pages/pwRequest.module.css b/src/pages/pwRequest.module.css index 3c172a8..e29649e 100644 --- a/src/pages/pwRequest.module.css +++ b/src/pages/pwRequest.module.css @@ -1,5 +1,4 @@ .text { - text-align: center; font-size: 18px; color: white; padding: 10px;