{{ question?.text }}
diff --git a/nuxt.config.ts b/nuxt.config.ts
index 69540c9..083ba47 100644
--- a/nuxt.config.ts
+++ b/nuxt.config.ts
@@ -7,16 +7,14 @@ export default defineNuxtConfig({
'@nuxt/fonts',
'@pinia/nuxt',
'@nuxt/eslint',
+ '@nuxt/image',
],
ssr: true,
imports: {
dirs: ['types/*.ts', 'store/*.ts', 'types/**/*.ts'],
},
devtools: { enabled: true },
- // Transition (later)
- // app: {
- // pageTransition: { name: "page", mode: "out-in" },
- // },
+ css: ['~/assets/main.css'],
runtimeConfig: {
public: {
cdn_url: process.env.CDN_URL,
@@ -36,4 +34,16 @@ export default defineNuxtConfig({
},
},
},
+ image: {
+ providers: {
+ selfhost: {
+ name: 'selfhost',
+ provider: '~/providers/selfhost.ts',
+ options: {
+ baseUrl: process.env.CDN_URL,
+ },
+ },
+ },
+ provider: 'selfhost',
+ },
});
diff --git a/package.json b/package.json
index d8e17e8..c78da12 100644
--- a/package.json
+++ b/package.json
@@ -15,10 +15,11 @@
},
"dependencies": {
"@nuxt/fonts": "0.11.1",
+ "@nuxt/image": "1.10.0",
"@nuxtjs/tailwindcss": "6.13.2",
"@pinia/nuxt": "0.11.0",
"array-shuffle": "^3.0.0",
- "daisyui": "^5.0.20",
+ "daisyui": "^5.0.27",
"date-fns": "^4.1.0",
"dotenv": "^16.5.0",
"drizzle-kit": "^0.31.0",
@@ -28,6 +29,7 @@
"nuxt": "~3.16.2",
"pg": "^8.14.1",
"pinia": "^3.0.2",
+ "ufo": "^1.6.1",
"vue": "latest",
"vue-router": "latest"
},
diff --git a/pages/exam.vue b/pages/exam.vue
index bff0dfb..ba93497 100644
--- a/pages/exam.vue
+++ b/pages/exam.vue
@@ -27,6 +27,13 @@ onMounted(() => {
endExam();
}
}, 1000);
+
+ watchEffect(() => {
+ if (now.value === 'basic')
+ useHead({ title: `Pytanie ${countBasic.value + 1}/20` });
+ if (now.value === 'advanced')
+ useHead({ title: `Pytanie ${countAdvanced.value + 1}/12` });
+ });
});
const examStore = useExamStore();
@@ -78,34 +85,26 @@ const result: Ref
= ref({
});
async function next() {
- function pushVal() {
- if (now.value === 'basic' || now.value === 'advanced') {
- result.value[now.value].push({
- question: question.value,
- chosen_answer: answer.value,
- chosen_is_correct: answer.value === question.value?.correct_answer,
- });
- }
- answer.value = '';
+ if (now.value === 'basic' || now.value === 'advanced') {
+ result.value[now.value].push({
+ question: question.value,
+ chosen_answer: answer.value,
+ chosen_is_correct: answer.value === question.value?.correct_answer,
+ });
}
+ answer.value = '';
if (now.value === 'basic') {
- pushVal();
- countBasic.value++;
- useHead({
- title: `Pytanie ${countBasic.value + 1}/20`,
- });
- if (countBasic.value >= 20) {
+ if (countBasic.value < 19) {
+ countBasic.value++;
+ } else {
now.value = 'advanced';
- countBasic.value--;
countAdvanced.value++;
}
} else if (now.value === 'advanced') {
- pushVal();
- countAdvanced.value++;
- useHead({
- title: `Pytanie ${countAdvanced.value + 1}/12`,
- });
+ if (countAdvanced.value < 11) {
+ countAdvanced.value++;
+ }
if (countAdvanced.value >= 11) {
ending.value = true;
}
@@ -133,16 +132,16 @@ const loading = ref(false);
-
+
-
+
-
+
An API error occurred: {{ errorBasic }} {{ errorAdvanced }}
-
+
diff --git a/pages/index.vue b/pages/index.vue
index 63bee6d..5770abd 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -1,22 +1,11 @@