From d500031f34dbe9b4f36ae20a6320f7ff3e2780ad Mon Sep 17 00:00:00 2001 From: NetMan <13informatyka14@gmail.com> Date: Tue, 15 Apr 2025 19:51:13 +0200 Subject: [PATCH] major DB overhaul, api changes, lint --- README.md | 9 +- app.vue | 2 +- components/AdvancedQuestionBlock.vue | 85 - components/BasicQuestionBlock.vue | 31 - components/CurrentQuestionCount.vue | 10 + components/Loading.vue | 2 +- components/Media.vue | 31 +- components/ResultModal.vue | 58 +- components/RightBarResult.vue | 105 - components/{TopBar.vue => bar/Top.vue} | 15 +- .../{RightBarExam.vue => bar/right/Exam.vue} | 64 +- components/bar/right/Result.vue | 85 + components/question/Advanced.vue | 57 + components/question/Basic.vue | 40 + drizzle.config.ts | 12 +- eslint.config.mjs | 8 + middleware/exam.ts | 9 +- middleware/result.ts | 4 +- nuxt.config.ts | 28 +- package.json | 33 +- pages/exam.vue | 189 +- pages/index.vue | 33 +- pages/result.vue | 109 +- plugins/vue-final-modal.ts | 7 - pnpm-lock.yaml | 1981 +++++++++++++++-- prettier.config.mjs | 12 + server/api/advanced.get.ts | 160 +- server/api/basic.get.ts | 130 +- src/db/schema.ts | 61 +- store/examStore.ts | 8 +- tailwind.config.ts | 4 +- types/index.ts | 35 +- 32 files changed, 2468 insertions(+), 949 deletions(-) delete mode 100644 components/AdvancedQuestionBlock.vue delete mode 100644 components/BasicQuestionBlock.vue create mode 100644 components/CurrentQuestionCount.vue delete mode 100644 components/RightBarResult.vue rename components/{TopBar.vue => bar/Top.vue} (73%) rename components/{RightBarExam.vue => bar/right/Exam.vue} (55%) create mode 100644 components/bar/right/Result.vue create mode 100644 components/question/Advanced.vue create mode 100644 components/question/Basic.vue create mode 100644 eslint.config.mjs delete mode 100644 plugins/vue-final-modal.ts create mode 100644 prettier.config.mjs diff --git a/README.md b/README.md index 7713fe5..7aa879d 100644 --- a/README.md +++ b/README.md @@ -4,17 +4,20 @@ This project utilizes `pnpm`, thus it is recommended +Also use [db-prawo-jazdy](https://git.mandarynki.eu/netman/db-prawo-jazdy) for running this project + ```bash pnpm install ``` # To-do: -- [ ] re-forge database structure, script for processing, share appropriate files -- [ ] choose category +- [x] re-forge database structure (good for now) +- [ ] db: script for processing, share appropriate files +- [x] choose category (good for now) - [ ] beautify website - [ ] better answer click recognition -- [ ] come up with how to show results appropriately +- [x] come up with how to show results appropriately - [ ] i18n - pl, en, de, ua (not all questions are not available in ua, api handle) - [ ] exam (maybe also results?) warning leave message on exit (refresh) - [ ] lazy loading diff --git a/app.vue b/app.vue index 6cd7ce9..6701a98 100644 --- a/app.vue +++ b/app.vue @@ -1,5 +1,5 @@ diff --git a/components/Media.vue b/components/Media.vue index d3a7519..c4a573a 100644 --- a/components/Media.vue +++ b/components/Media.vue @@ -2,13 +2,15 @@ const runtimeConfig = useRuntimeConfig(); const cdnUrl = runtimeConfig.public.cdn_url; -defineProps<{ - media: { - fileName: string | undefined; - fileType: string | undefined; - ogName: string | null | undefined; - }; +const props = defineProps<{ + media: string | null | undefined; }>(); + +const mediaSplit = computed(() => { + const dotSplit = props.media?.split('.'); + const extension = dotSplit?.pop()?.toLowerCase(); + return [dotSplit?.join('.'), extension]; +});