Skip to content

Commit

Permalink
fix safari, fix křivý tlačítka
Browse files Browse the repository at this point in the history
  • Loading branch information
Firu115 committed Dec 13, 2024
1 parent 91bd827 commit c9b1347
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 41 deletions.
4 changes: 0 additions & 4 deletions backend/databaze/prikazy.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
// V tomto souboru jsou příkazy do databáze které buď SELECTujou data z databáze, nebo data v databázi upravují.
// Největší dokumentace je jméno funkcí samotných.
package databaze

import (
Expand Down Expand Up @@ -110,7 +108,6 @@ type (
}
)

// vybírá jméno pro uživatele který se zaregistroval přes google
func volbaJmena(celeJmeno string) (string, error) {
celeJmeno = godiacritics.Normalize(celeJmeno)
var jmeno []string = strings.Fields(celeJmeno) // rozdělim na jmeno a prijimeni
Expand Down Expand Up @@ -149,7 +146,6 @@ func volbaJmena(celeJmeno string) (string, error) {
return "", errors.New("konec sveta nenašel jsem jméno")
}

// z googlu vrací email, jmeno, error
func GoogleTokenNaData(token string) (string, string, error) {
res, err := http.Get(fmt.Sprintf("https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=%v", token))
if err != nil {
Expand Down
62 changes: 31 additions & 31 deletions frontend/src/components/Psani.vue
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,8 @@ function klik(e: Event) {
if (!(e instanceof InputEvent)) return // typescript je sus, nemůžu dát do parametru rovnou InputEvent https://github.com/microsoft/TypeScript/issues/39925
if (e.data == "") return
// kvůli linuxu ->
if (e.inputType == "insertText" || (e.inputType == "insertCompositionText" && !e.isComposing)) {
// kvůli macos -> kvůli linuxu ->
if (e.inputType == "insertText" || e.inputType == "insertFromComposition" || (e.inputType == "insertCompositionText" && !e.isComposing)) {
if (e.data === aktivniPismeno.value.znak) {
if (zvukyZaply.value) zvuky[Math.floor(Math.random() * 2)].play()
if (aktivniPismeno.value.spatne === 1) {
Expand Down Expand Up @@ -386,7 +385,7 @@ watch(fullHideKlavesnice, () => {
localStorage.setItem("pavouk_hide_klavesnice", JSON.stringify(fullHideKlavesnice.value))
})
function loadHideKlavesnci() {
async function loadHideKlavesnci() {
let x = localStorage.getItem("pavouk_hide_klavesnice")
if (x == null) {
localStorage.setItem("pavouk_hide_klavesnice", JSON.stringify(fullHideKlavesnice.value))
Expand Down Expand Up @@ -418,8 +417,12 @@ defineExpose({ restart, aktivniPismeno, fullHideKlavesnice, focusInput })
<div id="fade">
<div id="text" ref="textElem" data-nosnippet>
<div class="slovo" v-for="s, i in textViditelny" :key="i">
<div v-for="p in s" :key="p.id" class="pismeno" :id="'p' + p.id"
:class="{ podtrzeni: p.id === aktivniPismeno.id, 'spatne-pismeno': p.spatne === 1 && aktivniPismeno.id > p.id, 'opravene-pismeno': p.spatne === 2 && aktivniPismeno.id > p.id, 'spravne-pismeno': (!p.spatne && aktivniPismeno.id > p.id) || !p.psat }">
<div v-for="p in s" :key="p.id" class="pismeno" :id="'p' + p.id" :class="{
'podtrzeni': p.id === aktivniPismeno.id,
'spatne-pismeno': p.spatne === 1 && aktivniPismeno.id > p.id,
'opravene-pismeno': p.spatne === 2 && aktivniPismeno.id > p.id,
'spravne-pismeno': (!p.spatne && aktivniPismeno.id > p.id) || !p.psat
}">

{{ (p.znak !== " " ? p.znak : p.spatne && p.id < aktivniPismeno.id ? "_" : "&nbsp;") }} </div>
</div>
Expand All @@ -433,30 +436,29 @@ defineExpose({ restart, aktivniPismeno, fullHideKlavesnice, focusInput })
<input type="text" ref="input" id="input" @input="klik">

<Transition>
<Klavesnice v-if="klavesnice != ''" :typ="klavesnice" :aktivniPismeno="aktivniPismeno.znak" :rozmazat="hideKlavesnice || prestalPsat"
:cekame="(aktivniPismeno.id == 0 || aktivniPismeno.id == -1) && cass == 0" :full-hide="fullHideKlavesnice" />
</Transition>
<Transition>
<Tooltip v-if="klavesnice != '' && props.resetBtn" zprava="Restart cvičení <span class='klavesa-v-textu-mensi'>Delete</span>"
:sirka="120" :vzdalenost="6" :xOffset="385" :yOffset="-154">
<div id="reset-btn" @click="resetTlacitko(); animace(); input?.focus();" :class="{ schovat: route.fullPath == '/prvni-psani' }">
<img :style="{ transform: rotace }" src="../assets/icony/reset.svg" alt="Restart">
<div v-show="klavesnice != ''">
<Klavesnice :typ="klavesnice" :aktivniPismeno="aktivniPismeno.znak" :rozmazat="hideKlavesnice || prestalPsat"
:cekame="(aktivniPismeno.id == 0 || aktivniPismeno.id == -1) && cass == 0" :full-hide="fullHideKlavesnice" />
<Tooltip v-if="props.resetBtn" zprava="Restart cvičení <span class='klavesa-v-textu-mensi'>Delete</span>" :sirka="120"
:vzdalenost="6" :xOffset="385" :yOffset="-154">
<div id="reset-btn" @click="resetTlacitko(); animace(); input?.focus();"
:class="{ schovat: route.fullPath == '/prvni-psani' }">
<img :style="{ transform: rotace }" src="../assets/icony/reset.svg" alt="Restart">
</div>
</Tooltip>
<div v-if="props.resetBtn" id="hide-btn" @click="fullHideKlavesnice = !fullHideKlavesnice; input?.focus()"
:class="{ schovat: route.fullPath == '/prvni-psani' }"
:style="{ top: route.fullPath.split('/')[1] == 'lekce' ? '-140px' : '-70px' }">
<img v-if="!fullHideKlavesnice" src="../assets/icony/oko.svg" alt="Schovat" width="34">
<img v-else src="../assets/icony/okoSkrtnuty.svg" alt="Schovat" width="34">
</div>

<div id="zvuk-btn" @click="toggleZvuk(); input?.focus()">
<img v-if="zvukyZaply" style="margin-top: 1px;" class="zvuk-icon" src="../assets/icony/zvukOn.svg" alt="Zvuky jsou zapnuté">
<img v-else style="margin-left: 1px;" class="zvuk-icon" src="../assets/icony/zvukOff.svg" alt="Zvuky jsou vypnuté">
</div>
</Tooltip>
</Transition>
<Transition>
<div v-if="klavesnice != '' && props.resetBtn" id="hide-btn" @click="fullHideKlavesnice = !fullHideKlavesnice; input?.focus()"
:class="{ schovat: route.fullPath == '/prvni-psani' }"
:style="{ top: route.fullPath.split('/')[1] == 'lekce' ? '-140px' : '-70px' }">
<img v-if="!fullHideKlavesnice" src="../assets/icony/oko.svg" alt="Schovat" width="34">
<img v-else src="../assets/icony/okoSkrtnuty.svg" alt="Schovat" width="34">
</div>
</Transition>

<div id="zvuk-btn" @click="toggleZvuk(); input?.focus()">
<img v-if="zvukyZaply" style="margin-top: 1px;" class="zvuk-icon" src="../assets/icony/zvukOn.svg" alt="Zvuky jsou zapnuté">
<img v-else style="margin-left: 1px;" class="zvuk-icon" src="../assets/icony/zvukOff.svg" alt="Zvuky jsou vypnuté">
</div>
<Transition>
<div id="nepise" v-if="prestalPsat"
:style="{ boxShadow: fullHideKlavesnice ? 'none' : '0px 0px 10px 2px rgba(0, 0, 0, 0.75)', top: (route.fullPath == '/prvni-psani' || route.fullPath.split('/')[1] == 'prace') ? '370px' : '403px' }">
Expand Down Expand Up @@ -499,7 +501,7 @@ span.unfocused {
display: flex;
align-items: center;
justify-content: center;
left: 385px;
left: 695px;
cursor: pointer;
transition: background-color 0.1s;
user-select: none;
Expand Down Expand Up @@ -579,16 +581,14 @@ span.unfocused {
display: flex;
align-items: center;
justify-content: center;
/* left: 385px; */
/* top: -154px; */
cursor: pointer;
transition: background-color 0.1s;
user-select: none;
}
#reset-btn img {
width: 30px;
padding-bottom: 1px;
height: 30px;
transition-duration: 0.2s;
transition-timing-function: ease-out;
}
Expand Down
11 changes: 6 additions & 5 deletions frontend/src/components/Vysledek.vue
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ function e1(e: KeyboardEvent) {
<div v-if="nejcastejsiChyby.size !== 0">
<ol>
<li v-for="znak in nejcastejsiChybyTop3" :key="znak.znak">
<span :style="{ fontSize: znak.znak == ' ' ? '10px' : 'auto' }">{{ znak.znak == " " ? "┗━┛" : znak.znak }}</span>
<span :style="{ fontSize: znak.znak == ' ' ? '10px' : 'auto' }">{{ znak.znak == " " ? "┗━┛" : znak.znak }}</span>
</li>
</ol>
<ul>
Expand Down Expand Up @@ -239,14 +239,15 @@ function e1(e: KeyboardEvent) {
<button v-if="props.cislo == 'prvni-psani'" class="tlacitko" @click="router.push('/registrace')">Vytvořit účet</button>
<button v-if="props.pismena == 'pracepraceprace'" class="tlacitko" @click="router.push('/trida')">Zpět do třídy</button>

<Tooltip zprava="Také pomocí klávesy <span class='klavesa-v-textu-mensi'>Delete</span>" :sirka="130">
<button v-if="props.cislo != 'prvni-psani' && props.pismena != 'pracepraceprace'" class="tlacitko" @click="reset">Zkusit znovu</button>
<Tooltip v-if="props.cislo != 'prvni-psani' && props.pismena != 'pracepraceprace'"
zprava="Také pomocí klávesy <span class='klavesa-v-textu-mensi'>Delete</span>" :sirka="130">
<button class="tlacitko" @click="reset">Zkusit znovu</button>
</Tooltip>

<Tooltip
<Tooltip v-if="route.path.split('/')[1] == 'lekce'"
zprava="Také pomocí klávesy <span class='klavesa-v-textu-mensi'><img src='/src/assets/icony/sipkaL.svg' alt='Šipka' class='klav-sipka' style='transform: scaleX(-1) translateY(2px) translateX(-1px);'></span>"
:sirka="130">
<button v-if="route.path.split('/')[1] == 'lekce'" class="tlacitko" @click="dalsi()">Pokračovat</button>
<button class="tlacitko" @click="dalsi()">Pokračovat</button>
</Tooltip>
</div>

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/views/TestPsani.vue
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ let textBezDiakritiky = [] as { id: number, znak: string, spatne: number, psat:
let textMalym = [] as { id: number, znak: string, spatne: number, psat: boolean }[][]
let textOboje = [] as { id: number, znak: string, spatne: number, psat: boolean }[][]
function toggleDiakritikaAVelkaPismena() {
async function toggleDiakritikaAVelkaPismena() {
if (!menuRef.value.diakritika && !menuRef.value.velkaPismena) {
text.value = clone(textOboje)
} else if (!menuRef.value.diakritika) {
Expand Down

0 comments on commit c9b1347

Please sign in to comment.