FAQ / script update

This commit is contained in:
mrfry 2021-05-18 11:10:57 +02:00
parent 9d71b64e92
commit 98deeb1706
5 changed files with 287 additions and 235 deletions

View file

@ -17,7 +17,12 @@ body {
} }
img { img {
margin: 10px; margin: 5px;
max-width: 90%;
}
.manual_img {
padding: 2px 2px;
border: 2px solid white; border: 2px solid white;
} }
@ -270,11 +275,6 @@ input:focus {
font-size: 14px; font-size: 14px;
} }
.manual_img {
padding: 2px 2px;
max-width: 90%;
}
.subtitle { .subtitle {
color: var(--text-color); color: var(--text-color);
font-size: 23px; font-size: 23px;

View file

@ -64,154 +64,87 @@ function PasswordSection() {
function FAQSection() { function FAQSection() {
return ( return (
<> <div className={'manualBody'}>
<div className={'manualBody'}> <ul>
<ul> <li>
<li> <b>
<b> Lehet-e valahol szerkeszteni, törölni, illetve manuálisan hozzáadni
Hogy kell a scriptet telepíteni, milyen oldalakon működik és hogy a meglévő kérdésekhez?
működik? </b>
</b> Igen,{' '}
<Link href="/script"> <a
<a>Ezen az oldalon van leírva</a> href={`${constants.siteUrl}dataeditor`}
</Link>{' '} target="_blank"
</li> rel="noreferrer"
<li> >
<b> ezen az oldalon
Lehet-e valahol szerkeszteni, törölni, illetve manuálisan </a>{' '}
hozzáadni a meglévő kéréseket? van lehetőség erre.
</b> </li>
Igen,{' '} <li>
<a <b>
href={`${constants.siteUrl}dataeditor`} Mennyire anonymus a weboldal/script, és kiderülhet-e hogy használom?
target="_blank" </b>
rel="noreferrer" A weboldal teljesen anonymus, mindenki csak egy számként van
> nyilvántartva (ami a user ID), random generált uuidv4 jelszavak vannak
ezen az oldalon (így nicknevek sem kellenek), és még IP cím sincs sehol letárolva
</a>{' '} szerver oldalon.
van lehetőség erre. <br />
</li> Több infó a{' '}
<li> <Link href="/faq?tab=risk">
<b> <a>kockázatok résznél</a>
A teszt ellenőrző oldal nem elérhető. Ilyenkor lehet valamit </Link>
tenni, hogy mégis el legyenek mentve a válaszok? .
</b> </li>
A{' '} <li>
<a <b>Ki és miért csinálja ezt a weboldalt?</b>
href={`${constants.siteUrl}dataeditor`} Az egész projektet (szerver, weboldal és script) egy személy
target="_blank" fejlesztette (oldalon id-ja: #1). A weboldal designját #1677
rel="noreferrer" készítette, illetve egy pár apróbb hozzájárulás (fejlesztésben és
> hardverben) is érkezett a projekthez.
dataeditor <br />
</a>{' '} Az egész projekt egy hobby, csupán azért csinálom (#1) mert
oldal erre is , a <i>Kitöltetlen tesztek</i> részhez a script időtöltés, és szeretem az ilyen kihívásokat.
automatikusan feltölti a kérdéseket még megoldás közben. Ehhez nincs </li>
lementve helyes válasz, de ezt te utólag bejelölheted, és </ul>
beküldheted. </div>
</li>
<li>
<b>
Mennyire anonymus a weboldal/script, és kiderülhet-e hogy
használom?
</b>
A weboldal teljesen anonymus, mindenki csak egy számként van
nyilvántartva (ami a user ID), random generált uuidv4 jelszavak
vannak (így nicknevek sem kellenek), és még IP cím sincs sehol
letárolva szerver oldalon.
<br />
Több infó a kockázatok résznél ezen az oldalon.
</li>
<li>
<b>
Olyan helyeken fut le a script, ahol nem kellene, vagy
ideiglenesen ki akarom kapcsolni
</b>
Tampermonkey bővítmény ikon böngészőben -{'>'} click -{'>'} a
scriptet kapcsold ki. Csak ne felejtsd el visszakapcsolni ;)
</li>
<li>
<b>
Túl nagy a kérdést és a választ megjelenítő ablak, nem tudok a
válaszra kattintani
</b>
A felugró ablakot ha minden jól megy akkor a szélénél fogva tudod
mozgatni, vagy egeret rajtatartva a görgővel tudod állítani az
áttetszőségét, vagy be tudod zárni jobb felül X-el, vagy egér
középső gombbal.
</li>
<li>
<b>Script felugró ablakon szereplő adatok és gombok értelmezése</b>
<img className={'manual_img'} src="img/script-3.png" alt="img" />
<ul>
<li>
Felső középső szöveg:
<br />
[Talált kérdés tárgya] - [Talált kérdés adatbázisának neve]
</li>
<li>
Jobb oldalt nyilak:
<br />
Ha több kérdés van egy oldalon, akkor azzal lehet váltogatni
</li>
<li>
Bal oldalt felső szám (3./1.)
<br />
Azt jelöli, hogy éppen hanyadik kérdés válasza van megjelenítve.
Itt a 3./1. azt jelenti, hogy a tesztben a 3. kérdés 1. talált
válasza.
</li>
<li>
Bal oldalt %
<br />A szerver szerint hány százalékban egyezik a talált válasz
azzal, amit tényleg keresni kell
</li>
<li>
Középen
<br />
Első sorban kérdés, másodikban válasz (ha a sor hosszú, akkor
megtörhet)
</li>
</ul>
<img className={'manual_img'} src="img/script-1.png" alt="img" />
<ul>
<li>
Alul nyilak:
<br />
Itt egy kérdésre több találat van, így közöttük neked kell
eldönteni, hogy mi a helyes válasz. Ez akkor van, ha a kérdés
szövege ugyan az, de más válasz is lehet. A nyilak segítségével
válogathatsz a válaszok között.
</li>
<li>
Bal oldalt felső szám (1./3.)
<br />
Itt az 1. azt jelenti hogy az oldalon az első kérdéshez van
megjelenítve a válasz, a 3. pedig azt, hogy a sok talált
válaszok közül a 3.
</li>
<li>
A kérdés mellett lévő [0]
<br />A teszt kérdésben itt épp egy kép van, és azt jelenti a
szögletes zárójelben lévő szám. A tesztben lévő képnél is
megjelenik ez a [0] azonosító, hogy könnyen párosítani lehessen.
<br />
Ez akkor hasznos, ha képekhez tartozik a válasz. Ekkor figyelni
kell, mert a képek nem biztos hogy sorrendben vannak a
tesztben a talált válaszhoz képest, de a []-ben lévő azonosítók
segítenek.
</li>
</ul>
</li>
</ul>
</div>
</>
) )
} }
function RiskSection() { function RiskSection() {
return ( return (
<> <>
Itt {'"én"'} alatt a szerver, weboldal és script egyedüli üzemeltetője
értendő, az egyetlen személy, aki hozzáfér akármilyen szolgáltatással
kapcsolatos adathoz, pl.: szerver statisztikák, szerver operációs
rendszere, beküldött fájlok. A weboldalon a felhasználó azonosítója:{' '}
<i>#1</i>
<ul> <ul>
<li>
<b>Beküldött fájlok kezelése</b>A beküldött fájlokban szerepelhet
személyes adat, pl.: név. Ha ilyen információval találkozok, akkor azt
ki szoktam törölni. Ezekhez a fájlokhoz és információkhoz csak én
férek hozzá, és sehova sincs kiadva. Ezek az információk nincsenek
sehol gyűjtve.
</li>
<li>
<b>
Ha esetleg {'"'}lebukik{'"'} a szerver, és tárolt személyes infók
</b>
Semmi személyes információ nincs eltárolva szerveren. Egyedüli
információ amit egyáltalán ki tudnék deríteni az amúgy is az IP címed,
de az nincs letárolva. Ha nagyon gonosz lennék, akkor a script el
tudná küldeni a neved és talán még 1-2 adatot a szervernek, de ezt nem
teszi.
<p />
Bizonyíték? A script, weboldal és szerver teljesen nyílt forráskódú,{' '}
<Link href="/contribute#gitrepo">
<a>ezek repository-ja publikus</a>
</Link>{' '}
(contribute oldal alja), és akármikor felülvizsgálható. A script a te
böngésződben fut, tampermonkey bővítmény menüjében megtekinthető
milyen kód fut pontosan.
</li>
<li> <li>
<b>Bármikor észrevehetik hogy használod a scriptet</b>A weboldalt már <b>Bármikor észrevehetik hogy használod a scriptet</b>A weboldalt már
kevésbé, de úgy nem menti el a kérdéseket a script, mert nem fut.{' '} kevésbé, de úgy nem menti el a kérdéseket a script, mert nem fut.{' '}
@ -248,24 +181,6 @@ function RiskSection() {
<b>Akármelyik válasz rossz lehet</b> <b>Akármelyik válasz rossz lehet</b>
Pl.: ha a script rosszul menti le, vagy rossz kérdésre ad választ Pl.: ha a script rosszul menti le, vagy rossz kérdésre ad választ
</li> </li>
<li>
<b>
Ha esetleg {'"'}lebukik{'"'} a szerver, és személyes infók
</b>
Semmi személyes információ nincs eltárolva szerveren. Egyedüli
információ amit egyáltalán ki tudnék deríteni az amúgy is az IP címed,
de az nincs letárolva. Ha nagyon gonosz lennék, akkor a script el
tudná küldeni a neved és talán még 1-2 adatot a szervernek, de ezt nem
teszi.
<p />
Bizonyíték? A script, weboldal és szerver teljesen nyílt forráskódú,{' '}
<Link href="/contribute#gitrepo">
<a>ezek repository-ja publikus</a>
</Link>{' '}
(contribute oldal alja), és akármikor felülvizsgálható. A script a te
böngésződben fut, tampermonkey bővítmény menüjében megtekinthető
milyen kód fut pontosan.
</li>
</ul> </ul>
</> </>
) )
@ -275,23 +190,45 @@ function WebsiteSaveSection() {
return ( return (
<> <>
<p> <p>
Ha hibát észlesz, kérlek jelents. Hogy a hibákat a saját gépemen Ha hibát találsz, kérlek jelents. Hogy a hibákat a saját gépemen
reprodukálni tudjam, és könnyen ki bírjam javítani, sokszor jól jön, ha reprodukálni tudjam, és könnyen ki bírjam javítani, sokszor jól jön, ha
egy lementett weboldalt megkapok, amin a hiba történik. Így lehet egy lementett weboldalt megkapok, amin a hiba történik. Így lehet
menteni egy oldalt: menteni egy oldalt:
</p> </p>
<center> <ul>
<img <li>
style={{ maxWidth: '90%' }} Lementett oldalon jobb klikk, oldal mentése
src="img/websitesave.png" <br />
alt="img" <img
className={'manual_img'} src="img/faq/sitesave-1.jpg"
/> alt="img"
<br /> className={'manual_img'}
<a href="/contact" rel="noreferrer"> />
Ide tudod feltölteni </li>
</a> <li>
</center> A lementett oldal egy fájlból és mappából áll.
<br />
<img
src="img/faq/sitesave-2.jpg"
alt="img"
className={'manual_img'}
/>
</li>
<li>
A fájlt nyisd meg szövegszerkesztővel (notepad), és keress a
nevedre, majd (csak a neved, ne a sort) töröld ki, és mentsd el. Nem
szoktam megnézni a neveket, nem is tudok velük mit kezdeni, és nem is
adom ki soha. Amit beküldesz, azt csak én látom.{' '}
<Link href="/faq?tab=risk">
<a>Több infó itt</a>
</Link>{' '}
</li>
<li>
<Link href="/contact">
<a>Ide tudod feltölteni</a>
</Link>{' '}
</li>
</ul>
<p> <p>
Mivel nincs hozzáférésem semmilyen egyetemi oldalhoz, így csak így tudom Mivel nincs hozzáférésem semmilyen egyetemi oldalhoz, így csak így tudom
hatékonyan tesztelni a scriptet. Ezért hatalmas segítség ha feltöltöd hatékonyan tesztelni a scriptet. Ezért hatalmas segítség ha feltöltöd
@ -301,45 +238,150 @@ function WebsiteSaveSection() {
) )
} }
function ScriptReinstallSection() { function ScriptSection() {
return ( return (
<> <div className={'manualBody'}>
<p>
Jelenleg két helyről lehet telepíteni a scriptet: greasyforkról és a
weboldalról. A greasyforkos telepítési lehetőség megszűnt, így ha onnan
telepítetted, akkor nem lesznek frissítések elérhetők (amik nagyon
fontosak (de tényleg)). Ezért a következő rövid manővert kellene
végrehajtani, hogy minden zökkenőmentesen menjen:
</p>
<ul> <ul>
<li>Böngésző bővítményeidnél kattints a tampermonkey-ra</li>
<li>Válaszd ki alulról második opciót, ami dashboard néven fut</li>
<li> <li>
Ekkor új tabban felugranak telepített scriptjeid. Keresd meg a <b>Hogy kell a scriptet telepíteni, és milyen oldalakon működik? </b>
Moodle/Elearning/KMOOC test help-et, és a sor végén kattints a kuka <Link href="/script">
gombra <a>Ezen az oldalon van leírva</a>
</Link>{' '}
</li> </li>
<li>Ha megkérdezi mondd neki, hogy biztos törölni akarod</li>
<li> <li>
Ezután simán kattints{' '} <b>Hogyan működik a script?</b>
<ul>
<li>
Az egész folyamat a teszt ellenőrzés oldalon kezdődik, a script
onnan beolvassa, és szervernek beküldi a helyes válaszokat
</li>
<li>
Ezután ha újból kitöltöd a tesztet, vagy ugyanazzal a kérdéssel
találkozol másik tesztben (pl.: gyakorló teszt után zh/vizsga)
akkor ott megjeleníti a választ
</li>
<li>
Más felhasználóknak köszönhetően már valószínűleg lesznek
megoldások a tesztjeidhez.{' '}
<Link href="/allQuestions">
<a>Itt</a>
</Link>{' '}
meg tudod tekinteni, hogy vannak-e válaszok a tárgyadhoz.
</li>
<li>
Ha teszt ellenőrzés oldal nem elérhető, vagy nem egyértelműen
kitalálható a helyes válasz, akkor a script nem tud mit csinálni,
nem ment le semmit
</li>
</ul>
</li>
<li>
<b>
A teszt ellenőrző oldal nem elérhető. Ilyenkor lehet valamit tenni,
hogy mégis el legyenek mentve a válaszok?
</b>
A{' '}
<a <a
href="http://qmining.frylabs.net/install?man" href={`${constants.siteUrl}dataeditor`}
target="_blank" target="_blank"
rel="noreferrer" rel="noreferrer"
> >
ide dataeditor
</a>{' '} </a>{' '}
a script újratelepítéséhez a weboldalról. oldal erre is , a <i>Kitöltetlen tesztek</i> részhez a script
automatikusan feltölti a kérdéseket még megoldás közben. Ehhez nincs
lementve helyes válasz, de ezt te utólag bejelölheted, és beküldheted.
</li> </li>
<li> <li>
Kész! Lehet megkérdezi újra, hogy elérheti-e a szervert, de azt csak <b>
egyszer. Szokásos módon engedélyezd, hogy le bírja kérni a helyes Olyan helyeken fut le a script, ahol nem kellene, vagy ideiglenesen
válaszokat ki akarom kapcsolni
</b>
Tampermonkey bővítmény ikon böngészőben -{'>'} click -{'>'} a scriptet
kapcsold ki. Csak ne felejtsd el visszakapcsolni {';)'}
</li>
<li>
<b>
Túl nagy a kérdést és a választ megjelenítő ablak, nem tudok a
válaszra kattintani
</b>
A felugró ablakot ha minden jól megy akkor a szélénél fogva tudod
mozgatni, vagy egeret rajtatartva a görgővel tudod állítani az
áttetszőségét, vagy be tudod zárni jobb felül X-el, vagy egér középső
gombbal.
</li>
<li>
<b>Script felugró ablakon szereplő adatok és gombok értelmezése</b>
<img
className={'manual_img'}
src="img/scriptimg/script-3.jpg"
alt="img"
/>
<ul>
<li>
Felső középső szöveg:
<br />
[Talált kérdés tárgya] - [Talált kérdés adatbázisának neve]
</li>
<li>
Jobb oldalt nyilak:
<br />
Ha több kérdés van egy oldalon, akkor azzal lehet váltogatni
</li>
<li>
Bal oldalt felső szám (5./1.)
<br />
Azt jelöli, hogy éppen hányadik kérdés válasza van megjelenítve.
Itt a 5./1. azt jelenti, hogy a tesztben a 5. kérdés 1. talált
válasza.
</li>
<li>
Bal oldalt %
<br />A szerver szerint hány százalékban egyezik a talált válasz
azzal, amit tényleg keresni kell
</li>
<li>
Középen
<br />
Első sorban kérdés, másodikban válasz (ha a sor hosszú, akkor
megtörhet)
</li>
</ul>
<img
className={'manual_img'}
src="img/scriptimg/script-4.jpg"
alt="img"
/>
<ul>
<li>
Alul nyilak:
<br />
Itt egy kérdésre több találat van, így közöttük neked kell
eldönteni, hogy mi a helyes válasz. Ez akkor van, ha a kérdés
szövege ugyan az, de más válasz is lehet. A nyilak segítségével
válogathatsz a válaszok között.
</li>
<li>
Bal oldalt felső szám (1./3.)
<br />
Itt az 1. azt jelenti hogy az oldalon az első kérdéshez van
megjelenítve a válasz, a 3. pedig azt, hogy a sok talált válaszok
közül a 3.
</li>
<li>
A kérdés mellett lévő [0]
<br />A teszt kérdésben itt épp egy kép van, és azt jelenti a
szögletes zárójelben lévő szám. A tesztben lévő képnél is
megjelenik ez a [0] azonosító, hogy könnyen párosítani lehessen.
<br />
Ez akkor hasznos, ha képekhez tartozik a válasz. Ekkor figyelni
kell, mert a képek nem biztos hogy sorrendben vannak a tesztben
a talált válaszhoz képest, de a []-ben lévő azonosítók segítenek.
</li>
</ul>
</li> </li>
</ul> </ul>
Ezzel semmi adat nem vész el, régi jelszó ugyanolyan marad (csak ne </div>
felejtsd azt el)
</>
) )
} }
@ -372,19 +414,19 @@ function AddSite() {
</li> </li>
<li> <li>
Böngészőben nyisd meg a Tampermonkey bővítményt <br /> Böngészőben nyisd meg a Tampermonkey bővítményt <br />
<img className={'manual_img'} src={`img/siteadd/1.png`} /> <img className={'manual_img'} src={`img/faq/siteadd-1.png`} />
<br /> <br />
Itt kattints a Dashboard-ra. Itt kattints a Dashboard-ra.
</li> </li>
<li> <li>
Keresd meg a scriptet, majd kattints : Keresd meg a scriptet, majd kattints :
<br /> <br />
<img className={'manual_img'} src={`img/siteadd/2.png`} /> <img className={'manual_img'} src={`img/faq/siteadd-2.png`} />
</li> </li>
<li> <li>
A felugró szerkesztőben keresd meg a következő sorokat: A felugró szerkesztőben keresd meg a következő sorokat:
<br /> <br />
<img className={'manual_img'} src={`img/siteadd/3.png`} /> <img className={'manual_img'} src={`img/faq/siteadd-3.png`} />
</li> </li>
<li> <li>
Itt az egyik <i>@require ...</i> sor után egy új sorban írd be az Itt az egyik <i>@require ...</i> sor után egy új sorban írd be az
@ -399,7 +441,7 @@ function AddSite() {
rajta. Ezek után azon az oldalon amit beírtál meg kell jelennie a rajta. Ezek után azon az oldalon amit beírtál meg kell jelennie a
Tampermonkey menüjében is: Tampermonkey menüjében is:
<br /> <br />
<img className={'manual_img'} src={`img/siteadd/4.png`} /> <img className={'manual_img'} src={`img/faq/siteadd-4.png`} />
</li> </li>
<li> <li>
Ha a tesztek közben mégsem megy, akkor ellenőrizd, hogy a beírt moodle Ha a tesztek közben mégsem megy, akkor ellenőrizd, hogy a beírt moodle
@ -417,16 +459,19 @@ function AddSite() {
const pages = { const pages = {
faq: { name: 'Vegyes általános kérdések', component: FAQSection }, faq: { name: 'Vegyes általános kérdések', component: FAQSection },
script: {
name: 'Script specifikus kérdések',
component: ScriptSection,
},
pw: { name: 'Infó jelszavakról', component: PasswordSection }, pw: { name: 'Infó jelszavakról', component: PasswordSection },
risk: { name: 'Kockázatok', component: RiskSection }, risk: {
name: 'Kockázatok, személyes infók kezelése',
component: RiskSection,
},
websitedl: { websitedl: {
name: 'Teszt közbeni hiba jelentése', name: 'Teszt közbeni hiba jelentése',
component: WebsiteSaveSection, component: WebsiteSaveSection,
}, },
reinstall: {
name: 'Script újratelepítése',
component: ScriptReinstallSection,
},
addsite: { addsite: {
name: 'Futtatás (még) nem támogatott oldalon', name: 'Futtatás (még) nem támogatott oldalon',
component: AddSite, component: AddSite,

View file

@ -1,3 +1,7 @@
.content {
text-align: justify;
}
.content b { .content b {
color: #fff; color: #fff;
display: block; display: block;

View file

@ -8,7 +8,7 @@ import ExternalLinkIcon from '../components/externalLinkIcon'
import styles from './script.module.css' import styles from './script.module.css'
function fetchSupportedSites(from) { function fetchSupportedSites() {
return new Promise((resolve) => { return new Promise((resolve) => {
fetch(`${constants.apiUrl}supportedSites`, { fetch(`${constants.apiUrl}supportedSites`, {
credentials: 'include', credentials: 'include',
@ -114,29 +114,33 @@ export default function Script() {
</Link> </Link>
</li> </li>
</ol> </ol>
<b>Script működési elve:</b> <b>Példa felugró ablakokra:</b>
<ul> <ul>
<li> <li>
Az egész folyamat a teszt ellenőrzés oldalon kezdődik, a script Menü bejelentkezés előtt / után:
onnan beolvassa, és szervernek beküldi a helyes válaszokat <br />
<img src="img/scriptimg/script-2.jpg" alt="img" />
<img src="img/scriptimg/script-1.jpg" alt="img" />
</li> </li>
<li> <li>
Ezután ha újból kitöltöd a tesztet, vagy ugyanazzal a kérdéssel Teszt közben felugró ablak a kérdéssel és válasszal:
találkozol másik tesztben (pl.: zh/vizsga) akkor ott megjeleníti a <br />
választ <img src="img/scriptimg/script-3.jpg" alt="img" />
</li>
</ul>
<b>Amiket az ablakokkal lehet csinálni:</b>
<ul>
<li>
Görgővel lehet az ablakok áttetszőségét állítani (menü / felugró
ablakét külön)
</li> </li>
<li> <li>
Más felhasználóknak köszönhetően már valószínűleg lesznek megoldások Az felső üzenet ablakot meg lehet fogni és mozgatni a szélénél (ahol
a tesztjeidhez.{' '} a kurzor átvált)
<Link href="/allQuestions">
<a>Itt</a>
</Link>{' '}
meg tudod tekinteni, hogy vannak-e válaszok a tárgyadhoz.
</li> </li>
<li> <li>
Ha teszt ellenőrzés oldal nem elérhető, vagy nem egyértelműen Jobb felső X gombbal be lehet zárni az ablakot, illetve ahol lehet
kitalálható a helyes válasz, akkor a script nem tud mit csinálni, mozgatni ott középső egér gombra be is zárul{' '}
nem ment le semmit
</li> </li>
</ul> </ul>
<b>Egyéb fontos tudnivalók:</b> <b>Egyéb fontos tudnivalók:</b>
@ -158,11 +162,6 @@ export default function Script() {
ha esetleg nem lenne elérhető a szerver, vagy bármi hiba történne ha esetleg nem lenne elérhető a szerver, vagy bármi hiba történne
</li> </li>
</ul> </ul>
<b>Példa felugró ablakokra:</b>
<br />
<img className={'manual_img'} src="img/script-3.png" alt="img" />
<br />
<img className={'manual_img'} src="img/script-2.png" alt="img" />
</div> </div>
</div> </div>
) )

View file

@ -1,5 +1,6 @@
import React, { useState, useEffect } from 'react' import React, { useState, useEffect } from 'react'
import Head from 'next/head' import Head from 'next/head'
import Link from 'next/link'
import LoadingIndicator from '../components/LoadingIndicator' import LoadingIndicator from '../components/LoadingIndicator'
import Modal from '../components/modal' import Modal from '../components/modal'
@ -440,8 +441,11 @@ export default function UserFiles({ router, globalData }) {
hibás információért, vírusokért és hasonlókért semmi felelősség hibás információért, vírusokért és hasonlókért semmi felelősség
vállalás nincs. vállalás nincs.
</b>{' '} </b>{' '}
Ha valami nem idevalót látsz, azt a Kapcsolat oldalon jelezd kérlek. Ha valami nem idevalót látsz, azt a{' '}
Tudatos károkozásért ban jár. <Link href="/contact">
<a>Kapcsolat</a>
</Link>{' '}
oldalon jelezd kérlek. Tudatos károkozásért ban jár.
</div> </div>
)} )}
<hr /> <hr />