mirror of
https://gitlab.com/MrFry/qmining-page
synced 2025-04-01 20:23:44 +02:00
Changed lotsa stuff 2
This commit is contained in:
parent
7bb7b919ae
commit
1f90e62ac3
10 changed files with 119 additions and 190 deletions
|
@ -1,4 +1,4 @@
|
||||||
import React, { PureComponent } from 'react'
|
import React from 'react'
|
||||||
|
|
||||||
import Questions from './Questions.js'
|
import Questions from './Questions.js'
|
||||||
|
|
||||||
|
@ -8,10 +8,7 @@ const countReducer = (acc, subj) => {
|
||||||
return acc + subj.Questions.length
|
return acc + subj.Questions.length
|
||||||
}
|
}
|
||||||
|
|
||||||
class QuestionSearchResult extends PureComponent {
|
export default function QuestionSearchResult({ data, searchTerm }) {
|
||||||
render() {
|
|
||||||
const { data, searchTerm } = this.props
|
|
||||||
|
|
||||||
let subjs = []
|
let subjs = []
|
||||||
let results = -1
|
let results = -1
|
||||||
|
|
||||||
|
@ -51,13 +48,11 @@ class QuestionSearchResult extends PureComponent {
|
||||||
<div>
|
<div>
|
||||||
<div>
|
<div>
|
||||||
{searchTerm ? '' : 'Kezdj el írni kereséshez! '}
|
{searchTerm ? '' : 'Kezdj el írni kereséshez! '}
|
||||||
{`${results} találat, ${subjs.length} tárgyból`}
|
{`${results} találat, ${subjs.length || data.length} tárgyból`}
|
||||||
</div>
|
</div>
|
||||||
{results === 0 && (
|
{results === 0 && (
|
||||||
<div>
|
<div>
|
||||||
{
|
{'Pontos egyezést keres a kereső, próbálj kisebb részletre keresni'}
|
||||||
'Pontos egyezést keres a kereső, próbálj kisebb részletre keresni'
|
|
||||||
}
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
@ -65,7 +60,14 @@ class QuestionSearchResult extends PureComponent {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (results > constants.maxQuestionsToRender) {
|
if (results > constants.maxQuestionsToRender) {
|
||||||
return renderCount()
|
return (
|
||||||
|
<div>
|
||||||
|
{renderCount()}
|
||||||
|
{searchTerm ? (
|
||||||
|
<div>Szűkítsd a keresést találatok megjelenítéséhez!</div>
|
||||||
|
) : null}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
} else {
|
} else {
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
|
@ -77,6 +79,3 @@ class QuestionSearchResult extends PureComponent {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
export default QuestionSearchResult
|
|
||||||
|
|
|
@ -192,13 +192,13 @@ export default function Layout({
|
||||||
) : null}
|
) : null}
|
||||||
</div>
|
</div>
|
||||||
{donateShowing ? (
|
{donateShowing ? (
|
||||||
<Layout
|
<Modal
|
||||||
closeClick={() => {
|
closeClick={() => {
|
||||||
setDonateShowing(false)
|
setDonateShowing(false)
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div>hi</div>
|
<div>hi</div>
|
||||||
</Layout>
|
</Modal>
|
||||||
) : null}
|
) : null}
|
||||||
{showMotdModal ? (
|
{showMotdModal ? (
|
||||||
<Modal
|
<Modal
|
||||||
|
|
|
@ -30,7 +30,7 @@ textarea {
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
background-color: var(--background-color);
|
background-color: var(--background-color);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
height: 120px;
|
height: 140px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border: 1px solid #666;
|
border: 1px solid #666;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
|
@ -39,10 +39,14 @@ textarea {
|
||||||
input {
|
input {
|
||||||
color: var(--text-color);
|
color: var(--text-color);
|
||||||
background-color: var(--background-color);
|
background-color: var(--background-color);
|
||||||
border: 1px solid #444;
|
border: 0px solid #444;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input:focus {
|
||||||
|
border: 0px solid #444;
|
||||||
|
}
|
||||||
|
|
||||||
.link {
|
.link {
|
||||||
margin: 20px;
|
margin: 20px;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
|
|
@ -6,6 +6,7 @@ import QuestionSearchResult from '../components/QuestionSearchResult.js'
|
||||||
import Subject from '../components/Subject.js'
|
import Subject from '../components/Subject.js'
|
||||||
import SubjectSelector from '../components/SubjectSelector.js'
|
import SubjectSelector from '../components/SubjectSelector.js'
|
||||||
import Sleep from '../components/sleep'
|
import Sleep from '../components/sleep'
|
||||||
|
import ExternalLinkIcon from '../components/externalLinkIcon'
|
||||||
|
|
||||||
import styles from './allQuestions.module.css'
|
import styles from './allQuestions.module.css'
|
||||||
|
|
||||||
|
@ -258,7 +259,6 @@ export default function AllQuestions({ router }) {
|
||||||
>
|
>
|
||||||
Tárgyak
|
Tárgyak
|
||||||
</div>
|
</div>
|
||||||
<div>
|
|
||||||
<a
|
<a
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (selectedDb === 'all') {
|
if (selectedDb === 'all') {
|
||||||
|
@ -270,12 +270,11 @@ export default function AllQuestions({ router }) {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
className={styles.button}
|
|
||||||
>
|
>
|
||||||
{'Kérdések letöltése'}
|
{'Kérdések letöltése'}
|
||||||
|
<ExternalLinkIcon size={15} />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
{fetchingData ? (
|
{fetchingData ? (
|
||||||
<LoadingIndicator />
|
<LoadingIndicator />
|
||||||
) : (
|
) : (
|
||||||
|
|
|
@ -11,7 +11,3 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
border: none;
|
border: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.activeTypeSelector {
|
|
||||||
background-color: #444;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
import React, { useState } from 'react'
|
import React from 'react'
|
||||||
import Head from 'next/head'
|
import Head from 'next/head'
|
||||||
|
|
||||||
|
import FeedbackArea from '../components/feedbackArea'
|
||||||
|
|
||||||
import styles from './contact.module.css'
|
import styles from './contact.module.css'
|
||||||
import constants from '../constants.json'
|
|
||||||
|
|
||||||
const contactMethods = {
|
const contactMethods = {
|
||||||
irc: {
|
irc: {
|
||||||
|
@ -21,74 +22,13 @@ const contactMethods = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
function submitFeedback(msg) {
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
fetch(constants.apiUrl + 'postfeedback', {
|
|
||||||
method: 'POST',
|
|
||||||
credentials: 'include',
|
|
||||||
headers: {
|
|
||||||
Accept: 'application/json',
|
|
||||||
'Content-Type': 'application/json',
|
|
||||||
},
|
|
||||||
body: JSON.stringify({
|
|
||||||
newTask: msg,
|
|
||||||
from: 'contribute',
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
.then((resp) => {
|
|
||||||
return resp.json()
|
|
||||||
})
|
|
||||||
.then((resp) => {
|
|
||||||
if (resp.success) {
|
|
||||||
resolve()
|
|
||||||
} else {
|
|
||||||
alert('Hiba küldés közben')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.catch((err) => {
|
|
||||||
alert('Hiba küldés közben')
|
|
||||||
console.error(err)
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function Contact() {
|
export default function Contact() {
|
||||||
const [feedback, setFeedback] = useState('')
|
|
||||||
|
|
||||||
const feedbackArea = () => {
|
|
||||||
return (
|
|
||||||
<div className={styles.inputArea}>
|
|
||||||
<textarea
|
|
||||||
onChange={(event) => setFeedback(event.target.value)}
|
|
||||||
value={feedback}
|
|
||||||
className={styles.feedback}
|
|
||||||
/>
|
|
||||||
<div className={'buttonContainer'}>
|
|
||||||
<div
|
|
||||||
onClick={() => {
|
|
||||||
if (feedback) {
|
|
||||||
submitFeedback(feedback).then(() => {
|
|
||||||
alert('Elküldve')
|
|
||||||
setFeedback('')
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
alert('Adj meg valami üzenetet ...')
|
|
||||||
}
|
|
||||||
}}
|
|
||||||
>
|
|
||||||
Küldés
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Head>
|
<Head>
|
||||||
<title>Kapcsolat - Qmining | Frylabs.net</title>
|
<title>Kapcsolat - Qmining | Frylabs.net</title>
|
||||||
</Head>
|
</Head>
|
||||||
{feedbackArea()}
|
<FeedbackArea from={'contact'} />
|
||||||
<div className={styles.contactsContainer}>
|
<div className={styles.contactsContainer}>
|
||||||
<div>Itt vannak hogy hogy lehet kontaktolni</div>
|
<div>Itt vannak hogy hogy lehet kontaktolni</div>
|
||||||
{Object.keys(contactMethods).map((key) => {
|
{Object.keys(contactMethods).map((key) => {
|
||||||
|
|
|
@ -23,16 +23,3 @@
|
||||||
.contactsContainer > div > div:nth-child(2) {
|
.contactsContainer > div > div:nth-child(2) {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.feedback {
|
|
||||||
color: var(--text-color);
|
|
||||||
background-color: var(--background-color);
|
|
||||||
font-size: 14px;
|
|
||||||
width: 100%;
|
|
||||||
box-sizing: border-box;
|
|
||||||
height: 60px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.inputArea {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ import Head from 'next/head'
|
||||||
|
|
||||||
import Sleep from '../components/sleep'
|
import Sleep from '../components/sleep'
|
||||||
import Todos from '../components/todoStuff/todos'
|
import Todos from '../components/todoStuff/todos'
|
||||||
|
import FeedbackArea from '../components/feedbackArea'
|
||||||
|
|
||||||
import constants from '../constants.json'
|
import constants from '../constants.json'
|
||||||
import styles from './contribute.module.css'
|
import styles from './contribute.module.css'
|
||||||
|
@ -37,6 +38,7 @@ export default function contribute() {
|
||||||
Itt írhatsz új todo-ra ötleteket, vagy jelezhetsz hogy egyikben
|
Itt írhatsz új todo-ra ötleteket, vagy jelezhetsz hogy egyikben
|
||||||
segítenél
|
segítenél
|
||||||
</div>
|
</div>
|
||||||
|
<FeedbackArea from={'contribute'} />
|
||||||
<hr />
|
<hr />
|
||||||
<Todos />
|
<Todos />
|
||||||
<Sleep />
|
<Sleep />
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
import React, { useState, useEffect } from 'react'
|
import React, { useState, useEffect } from 'react'
|
||||||
import fetch from 'unfetch'
|
import fetch from 'unfetch'
|
||||||
import Head from 'next/head'
|
import Head from 'next/head'
|
||||||
|
import Link from 'next/link'
|
||||||
|
|
||||||
import styles from './pwRequest.module.css'
|
import styles from './pwRequest.module.css'
|
||||||
import constants from '../constants.json'
|
import constants from '../constants.json'
|
||||||
|
|
||||||
export default function PwRequest(props) {
|
export default function PwRequest() {
|
||||||
const [result, setResult] = useState([])
|
const [result, setResult] = useState([])
|
||||||
const [remaining, setRemaining] = useState('...')
|
const [remaining, setRemaining] = useState('...')
|
||||||
const [requestedPWS, setRequestedPWS] = useState('...')
|
const [requestedPWS, setRequestedPWS] = useState('...')
|
||||||
|
@ -56,7 +57,7 @@ export default function PwRequest(props) {
|
||||||
setResult([...result, resp.pw])
|
setResult([...result, resp.pw])
|
||||||
setRemaining(resp.remaining)
|
setRemaining(resp.remaining)
|
||||||
setRequestedPWS(resp.requestedPWS)
|
setRequestedPWS(resp.requestedPWS)
|
||||||
} else if (resp.result === 'success') {
|
} else if (resp.result === 'nouser') {
|
||||||
setResult(['Nem vagy bejelentkezve!']) // this should never happpen
|
setResult(['Nem vagy bejelentkezve!']) // this should never happpen
|
||||||
} else {
|
} else {
|
||||||
setResult([
|
setResult([
|
||||||
|
@ -99,11 +100,11 @@ export default function PwRequest(props) {
|
||||||
egyet és add oda másnak, mint hogy közösen használjatok egyet, mert
|
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
|
egyszerre, egy felhasználó csak egy helyen, egy eszközön lehet
|
||||||
belépve, mindenhol máshol automatikusan kijelentkeztetésre kerül. A
|
belépve, mindenhol máshol automatikusan kijelentkeztetésre kerül. A
|
||||||
jelszavakról bővebben a Script használata oldal{' '}
|
jelszavakról bővebben a{' '}
|
||||||
<a href="/manual#pw" target="_blank">
|
<Link href="/faq">
|
||||||
vonatkozó részén
|
<a>GYIK</a>
|
||||||
</a>{' '}
|
</Link>
|
||||||
olvashatsz.
|
-ben olvashatsz.
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.text}>
|
<div className={styles.text}>
|
||||||
|
|
|
@ -13,12 +13,12 @@ export default function Script() {
|
||||||
</Head>
|
</Head>
|
||||||
<div className={'buttonContainer'}>
|
<div className={'buttonContainer'}>
|
||||||
<a href="https://www.tampermonkey.net/">
|
<a href="https://www.tampermonkey.net/">
|
||||||
Ajánlott userscript bővítmény
|
Ajánlott userscript kezelő bővítmény
|
||||||
<ExternalLinkIcon size={20} />
|
<ExternalLinkIcon size={15} />
|
||||||
</a>
|
</a>
|
||||||
<a href="/install">
|
<a href="/install">
|
||||||
Script telepítése
|
Script telepítése
|
||||||
<ExternalLinkIcon size={20} />
|
<ExternalLinkIcon size={15} />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<Sleep />
|
<Sleep />
|
||||||
|
@ -31,14 +31,14 @@ function renderManual() {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<center>
|
<center>
|
||||||
<h2 className={'subtitle'}>A userscript használata</h2>
|
<h2 className={'subtitle'}>A userscript telepítése, és használata</h2>
|
||||||
</center>
|
</center>
|
||||||
<div>
|
<div>
|
||||||
<p>
|
<p>
|
||||||
Ez a userscript Moodle/Elearnig/KMOOC tesztek megoldása során
|
Ez a userscript Moodle/Elearnig/KMOOC tesztek megoldása során
|
||||||
segítséget jelenít meg.
|
segítséget jelenít meg.
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ol>
|
||||||
<li>
|
<li>
|
||||||
Tölts le egy userscript futtató kiegészítőt a böngésződhöz: pl. a{' '}
|
Tölts le egy userscript futtató kiegészítőt a böngésződhöz: pl. a{' '}
|
||||||
<a
|
<a
|
||||||
|
@ -52,7 +52,7 @@ function renderManual() {
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
href="http://qmining.frylabs.net/install?man"
|
href="http://qmining.frylabs.net/install"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>
|
>
|
||||||
|
@ -61,24 +61,28 @@ function renderManual() {
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
A script ezt követően udvariasan megkér, hogy hadd beszélgessen a
|
A script ezt követően udvariasan megkér, hogy hadd beszélgessen a
|
||||||
szerverrel, mert mással nem tud, ezért ezt engedélyezd neki.
|
szerverrel, ezt engedélyezd neki. (Always allow domain)
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
A kitöltendő teszt oldalán a kérdésre a választ kell látnod felül
|
A támogatott oldalakon a script egy apró menü ablakot jelenít meg a
|
||||||
egy lebegő ablakban.
|
weboldal bal alsó részén
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
Ezután a kitöltendő teszt oldalán a kérdésre a választ kell látnod
|
||||||
|
felül egy lebegő ablakban.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Teszt ellenőrzés oldalon a script beküldi a szervernek a helyes
|
Teszt ellenőrzés oldalon a script beküldi a szervernek a helyes
|
||||||
válaszokat, az lementi az új kérdéseket, amik ezután azonnal
|
válaszokat, az lementi az új kérdéseket, amik ezután azonnal
|
||||||
elérhetők lesznek (neked, és másoknak is)
|
elérhetők lesznek (neked, és másoknak is)
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ol>
|
||||||
Egyéb fontos tudnivalók:
|
Egyéb fontos tudnivalók:
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
Ezt ments sokszor akár minden nap:{' '}
|
Ezt ments sokszor akár minden nap:{' '}
|
||||||
<a
|
<a
|
||||||
href="http://qmining.frylabs.net/allqr.txt?man"
|
href="http://qmining.frylabs.net/allqr.txt"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
rel="noreferrer"
|
rel="noreferrer"
|
||||||
>
|
>
|
||||||
|
@ -96,13 +100,10 @@ function renderManual() {
|
||||||
scripttel.
|
scripttel.
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div>
|
||||||
|
Ha útközben elakadsz, vagy hibát észlelsz, akkor oldalt a Kapcsolat
|
||||||
|
résznél sok elérhetőséget találsz, amin segítséget kérhetsz.
|
||||||
</div>
|
</div>
|
||||||
<div className={'rtfmImage'}>
|
|
||||||
<img
|
|
||||||
style={{ maxWidth: '100%', minWidth: '200px' }}
|
|
||||||
src="img/rtfm.jpg"
|
|
||||||
alt="img"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue