diff --git a/README.md b/README.md
index 1a4cd07..1edd31a 100644
--- a/README.md
+++ b/README.md
@@ -23,15 +23,16 @@ A shell script at [media-prawo-jazdy](https://git.mandarynki.eu/netman/media-pra
- [x] exam (& results?) warning leave message on exit and timer end (and definitely on refresh)
- [x] add keybinds:
- S - start, D - next question, X - exam end, T/Y - yes, N - no, A - A, B - B, C - C
-- [ ] i18n - pl, en, de, ua (not all questions are available in ua, api handle)
+- [ ] i18n - pl, en, de, ua (not all questions are available in ua, api handle - already handled with sql)
- [ ] UI i18n
- [x] pl
- [x] en
- [x] de
- - [ ] ua
+ - [ ] ua
- [x] db: examstore add language field, api handle languages (questions lang)
-- [ ] nuxt3 -> nuxt4
+- [x] nuxt3 -> nuxt4 (hopefully working fine, seems to do so; so far)
- [ ] clean up js code in exam.vue and result.vue (currently a little bit of a mess)
+- [ ] daisyui is stuck on 5.2.5 - newer versions break UI, reason unknown - consider moving to nuxtUI and another tailwind integration with nuxt than nuxtjs/tailwind
## Some information about the project
diff --git a/app.vue b/app/app.vue
similarity index 100%
rename from app.vue
rename to app/app.vue
diff --git a/assets/main.css b/app/assets/css/tailwind.css
similarity index 100%
rename from assets/main.css
rename to app/assets/css/tailwind.css
diff --git a/components/CurrentQuestionCount.vue b/app/components/CurrentQuestionCount.vue
similarity index 100%
rename from components/CurrentQuestionCount.vue
rename to app/components/CurrentQuestionCount.vue
diff --git a/components/EndModal.vue b/app/components/EndModal.vue
similarity index 100%
rename from components/EndModal.vue
rename to app/components/EndModal.vue
diff --git a/app/components/LoadingScreen.vue b/app/components/LoadingScreen.vue
new file mode 100644
index 0000000..9b9a89c
--- /dev/null
+++ b/app/components/LoadingScreen.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
diff --git a/components/MediaBox.vue b/app/components/MediaBox.vue
similarity index 100%
rename from components/MediaBox.vue
rename to app/components/MediaBox.vue
diff --git a/components/ResultModal.vue b/app/components/ResultModal.vue
similarity index 100%
rename from components/ResultModal.vue
rename to app/components/ResultModal.vue
diff --git a/components/bar/Top.vue b/app/components/bar/Top.vue
similarity index 100%
rename from components/bar/Top.vue
rename to app/components/bar/Top.vue
diff --git a/components/bar/right/Exam.vue b/app/components/bar/right/Exam.vue
similarity index 100%
rename from components/bar/right/Exam.vue
rename to app/components/bar/right/Exam.vue
diff --git a/components/bar/right/Result.vue b/app/components/bar/right/Result.vue
similarity index 88%
rename from components/bar/right/Result.vue
rename to app/components/bar/right/Result.vue
index e795707..eca7d18 100644
--- a/components/bar/right/Result.vue
+++ b/app/components/bar/right/Result.vue
@@ -39,10 +39,10 @@ const emit = defineEmits<{
class="btn btn-md"
name="chooser"
:class="`${
- result.basic[num].chosen_answer == ''
+ result.basic[num]?.chosen_answer == ''
? 'btn-warning'
- : result.basic[num].question?.correct_answer ===
- result.basic[num].chosen_answer
+ : result.basic[num]?.question?.correct_answer ===
+ result.basic[num]?.chosen_answer
? 'btn-success'
: 'btn-error'
} ${now === 'basic' && countBasic === num ? 'outline-set-solid outline-2' : ''}`"
@@ -69,10 +69,10 @@ const emit = defineEmits<{
class="btn btn-md"
name="chooser"
:class="`${
- result.advanced[num].chosen_answer == ''
+ result.advanced[num]?.chosen_answer == ''
? 'btn-warning'
- : result.advanced[num].question?.correct_answer ===
- result.advanced[num].chosen_answer
+ : result.advanced[num]?.question?.correct_answer ===
+ result.advanced[num]?.chosen_answer
? 'btn-success'
: 'btn-error'
} ${now === 'advanced' && countAdvanced === num ? 'outline-set-solid outline-2' : ''}`"
diff --git a/components/question/Advanced.vue b/app/components/question/Advanced.vue
similarity index 100%
rename from components/question/Advanced.vue
rename to app/components/question/Advanced.vue
diff --git a/components/question/Basic.vue b/app/components/question/Basic.vue
similarity index 100%
rename from components/question/Basic.vue
rename to app/components/question/Basic.vue
diff --git a/middleware/exam.ts b/app/middleware/exam.ts
similarity index 100%
rename from middleware/exam.ts
rename to app/middleware/exam.ts
diff --git a/middleware/result.ts b/app/middleware/result.ts
similarity index 100%
rename from middleware/result.ts
rename to app/middleware/result.ts
diff --git a/pages/anomaly.vue b/app/pages/anomaly.vue
similarity index 100%
rename from pages/anomaly.vue
rename to app/pages/anomaly.vue
diff --git a/pages/exam.vue b/app/pages/exam.vue
similarity index 98%
rename from pages/exam.vue
rename to app/pages/exam.vue
index 0f4c44c..d7d0a00 100644
--- a/pages/exam.vue
+++ b/app/pages/exam.vue
@@ -1,7 +1,11 @@
+
+
+
+
+