From 625c1013da96e443528c3e1fabaeecd3d9589e9b Mon Sep 17 00:00:00 2001
From: NetMan <13informatyka14@gmail.com>
Date: Wed, 17 Dec 2025 21:33:36 +0100
Subject: [PATCH] Nuxt3=>4, spa-loader, css shenanigans...:
...css shenanigans: daisyui may have had a breaking change at 5.3.0, it wrecks the ui here, as tailwind forces its own styles over daisyuis overrides, for now staying at ~5.2.5, for good measure also @nuxtjs/tailwindcss stays at ^6.13.2 (6.13.2 in pnpmlock) - this may be, because (but i'm not sure) @nuxtjs/tailwind is tailwind3 and not tailwind4?
Nuxt3=>4 migration:
also changed nuxtimage settings, as the docs have been fixed, path changes, etc
---
README.md | 7 +-
app.vue => app/app.vue | 0
.../main.css => app/assets/css/tailwind.css | 0
.../components}/CurrentQuestionCount.vue | 0
{components => app/components}/EndModal.vue | 0
app/components/LoadingScreen.vue | 55 +
{components => app/components}/MediaBox.vue | 0
.../components}/ResultModal.vue | 0
{components => app/components}/bar/Top.vue | 0
.../components}/bar/right/Exam.vue | 0
.../components}/bar/right/Result.vue | 12 +-
.../components}/question/Advanced.vue | 0
.../components}/question/Basic.vue | 0
{middleware => app/middleware}/exam.ts | 0
{middleware => app/middleware}/result.ts | 0
{pages => app/pages}/anomaly.vue | 0
{pages => app/pages}/exam.vue | 6 +-
{pages => app/pages}/index.vue | 6 +-
{pages => app/pages}/result.vue | 0
app/spa-loading-template.html | 60 +
{store => app/stores}/examStore.ts | 0
{store => app/stores}/themeStore.ts | 0
components/LoadingScreen.vue | 8 -
nuxt.config.ts | 10 +-
package.json | 44 +-
pnpm-lock.yaml | 6414 +++++++++--------
providers/selfhost.ts | 24 +-
server/api/advanced.get.ts | 10 +-
server/api/basic.get.ts | 6 +-
{types => shared/types}/index.ts | 0
tailwind.config.js | 2 -
31 files changed, 3514 insertions(+), 3150 deletions(-)
rename app.vue => app/app.vue (100%)
rename assets/main.css => app/assets/css/tailwind.css (100%)
rename {components => app/components}/CurrentQuestionCount.vue (100%)
rename {components => app/components}/EndModal.vue (100%)
create mode 100644 app/components/LoadingScreen.vue
rename {components => app/components}/MediaBox.vue (100%)
rename {components => app/components}/ResultModal.vue (100%)
rename {components => app/components}/bar/Top.vue (100%)
rename {components => app/components}/bar/right/Exam.vue (100%)
rename {components => app/components}/bar/right/Result.vue (88%)
rename {components => app/components}/question/Advanced.vue (100%)
rename {components => app/components}/question/Basic.vue (100%)
rename {middleware => app/middleware}/exam.ts (100%)
rename {middleware => app/middleware}/result.ts (100%)
rename {pages => app/pages}/anomaly.vue (100%)
rename {pages => app/pages}/exam.vue (98%)
rename {pages => app/pages}/index.vue (96%)
rename {pages => app/pages}/result.vue (100%)
create mode 100644 app/spa-loading-template.html
rename {store => app/stores}/examStore.ts (100%)
rename {store => app/stores}/themeStore.ts (100%)
delete mode 100644 components/LoadingScreen.vue
rename {types => shared/types}/index.ts (100%)
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 @@
+
+
+
+