Showing
9 changed files
with
79 additions
and
31 deletions
.prettierignore
0 → 100644
| 1 | { | 1 | { | 
| 2 | "semi": true, | 2 | "semi": true, | 
| 3 | "trailingComma": "all", | 3 | "trailingComma": "all", | 
| 4 | - "singleQuote": true, | 4 | + "singleQuote": false, | 
| 5 | "printWidth": 120, | 5 | "printWidth": 120, | 
| 6 | "arrowParens": "always", | 6 | "arrowParens": "always", | 
| 7 | "useTabs": false, | 7 | "useTabs": false, | 
| 8 | "tabWidth": 2 | 8 | "tabWidth": 2 | 
| 9 | -} | 9 | +} | 
| 1 | +0.1.2: | ||
| 2 | +- Ajout fichier .prettierignore. | ||
| 3 | +- Installation module vuetify + modif script lint dans package.json. | ||
| 4 | +- Installation de lucide-vue-next pour librairie d'icônes. | ||
| 5 | +- Ajout composable tMDB. | ||
| 6 | + | ||
| 1 | 0.1.1: | 7 | 0.1.1: | 
| 2 | - Installation et configuration d'eslint et prettier. | 8 | - Installation et configuration d'eslint et prettier. | 
| 3 | - Ajout de variables dans le runtimeConfig du fichier nuxt.config. | 9 | - Ajout de variables dans le runtimeConfig du fichier nuxt.config. | 
composables/tMDB.ts
0 → 100644
| 1 | +import type { RuntimeConfig } from "nuxt/schema"; | ||
| 2 | + | ||
| 3 | +export const useTMDB = function() { | ||
| 4 | + const runtimeconfig: RuntimeConfig = useRuntimeConfig(); | ||
| 5 | + | ||
| 6 | + const apiUrl = runtimeconfig.public.apiTMDBUrl; | ||
| 7 | + const apiKey = runtimeconfig.public.apiTMDBSecret; | ||
| 8 | + | ||
| 9 | + return {apiUrl, apiKey} | ||
| 10 | +} | 
| 1 | // https://nuxt.com/docs/api/configuration/nuxt-config | 1 | // https://nuxt.com/docs/api/configuration/nuxt-config | 
| 2 | export default defineNuxtConfig({ | 2 | export default defineNuxtConfig({ | 
| 3 | - compatibilityDate: '2024-11-01', | 3 | + compatibilityDate: "2024-11-01", | 
| 4 | devtools: { enabled: true }, | 4 | devtools: { enabled: true }, | 
| 5 | 5 | ||
| 6 | app: { | 6 | app: { | 
| 7 | head: { | 7 | head: { | 
| 8 | - title: 'TMDB Movie App', | 8 | + title: "TMDB Movie App", | 
| 9 | htmlAttrs: { | 9 | htmlAttrs: { | 
| 10 | lang: "fr", | 10 | lang: "fr", | 
| 11 | }, | 11 | }, | 
| 12 | meta: [ | 12 | meta: [ | 
| 13 | - { charset: 'utf-8' }, | 13 | + { charset: "utf-8" }, | 
| 14 | - { name: 'viewport', content: 'width=device-width, initial-scale=1' }, | 14 | + { name: "viewport", content: "width=device-width, initial-scale=1" }, | 
| 15 | - { name: 'description', content: 'Application de films utilisant l\'API TMDB' }, | 15 | + { name: "description", content: "Application de films utilisant l'API TMDB" }, | 
| 16 | { name: "format-detection", content: "telephone=no" }, | 16 | { name: "format-detection", content: "telephone=no" }, | 
| 17 | ], | 17 | ], | 
| 18 | - link: [ | 18 | + link: [{ rel: "icon", type: "image/x-icon", href: "/favicon.ico" }], | 
| 19 | - { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } | 19 | + }, | 
| 20 | - ] | ||
| 21 | - } | ||
| 22 | }, | 20 | }, | 
| 23 | 21 | ||
| 24 | // css: ['~/assets/css/main.scss'], | 22 | // css: ['~/assets/css/main.scss'], | 
| 25 | 23 | ||
| 26 | modules: [ | 24 | modules: [ | 
| 27 | - '@nuxt/eslint', | 25 | + "@nuxt/eslint", | 
| 28 | - '@nuxt/icon', | 26 | + "@nuxt/icon", | 
| 29 | - '@nuxt/image', | 27 | + "@nuxt/image", | 
| 30 | [ | 28 | [ | 
| 31 | "@pinia/nuxt", | 29 | "@pinia/nuxt", | 
| 32 | { | 30 | { | 
| @@ -37,18 +35,19 @@ export default defineNuxtConfig({ | @@ -37,18 +35,19 @@ export default defineNuxtConfig({ | ||
| 37 | ], | 35 | ], | 
| 38 | }, | 36 | }, | 
| 39 | ], | 37 | ], | 
| 40 | - 'pinia-plugin-persistedstate/nuxt', | 38 | + "pinia-plugin-persistedstate/nuxt", | 
| 41 | - '@nuxt/scripts', | 39 | + "@nuxt/scripts", | 
| 42 | - '@nuxt/test-utils', | 40 | + "@nuxt/test-utils", | 
| 43 | - '@nuxt/ui', | 41 | + "@nuxt/ui", | 
| 44 | - '@nuxtjs/tailwindcss', | 42 | + "@nuxtjs/tailwindcss", | 
| 45 | - '@vueuse/nuxt', | 43 | + "@vueuse/nuxt", | 
| 44 | + "vuetify-nuxt-module", | ||
| 46 | ], | 45 | ], | 
| 47 | // Persisted state config. | 46 | // Persisted state config. | 
| 48 | piniaPluginPersistedstate: { | 47 | piniaPluginPersistedstate: { | 
| 49 | - storage: 'localStorage', | 48 | + storage: "localStorage", | 
| 50 | cookieOptions: { | 49 | cookieOptions: { | 
| 51 | - sameSite: 'lax', | 50 | + sameSite: "lax", | 
| 52 | }, | 51 | }, | 
| 53 | debug: true, | 52 | debug: true, | 
| 54 | }, | 53 | }, | 
| @@ -63,4 +62,13 @@ export default defineNuxtConfig({ | @@ -63,4 +62,13 @@ export default defineNuxtConfig({ | ||
| 63 | apiTMDBUrl: process.env.NUXT_ENV_TMDB_URL, | 62 | apiTMDBUrl: process.env.NUXT_ENV_TMDB_URL, | 
| 64 | }, | 63 | }, | 
| 65 | }, | 64 | }, | 
| 66 | -}) | 65 | + | 
| 66 | + vuetify: { | ||
| 67 | + moduleOptions: { | ||
| 68 | + /* module specific options */ | ||
| 69 | + }, | ||
| 70 | + vuetifyOptions: { | ||
| 71 | + /* vuetify options */ | ||
| 72 | + }, | ||
| 73 | + }, | ||
| 74 | +}); | 
This diff is collapsed. Click to expand it.
| @@ -9,7 +9,9 @@ | @@ -9,7 +9,9 @@ | ||
| 9 | "generate": "nuxt generate", | 9 | "generate": "nuxt generate", | 
| 10 | "preview": "nuxt preview", | 10 | "preview": "nuxt preview", | 
| 11 | "postinstall": "nuxt prepare", | 11 | "postinstall": "nuxt prepare", | 
| 12 | - "lint": "eslint .", | 12 | + "lint:js": "eslint --ext \".ts,.vue\" .", | 
| 13 | + "lint:prettier": "prettier --write .", | ||
| 14 | + "lint": "npm run lint:js && npm run lint:prettier", | ||
| 13 | "format": "prettier --write \"{components,pages,plugins,middleware,layouts,composables,assets}/**/*.{js,jsx,ts,tsx,vue,html,css,scss,json,md}\"" | 15 | "format": "prettier --write \"{components,pages,plugins,middleware,layouts,composables,assets}/**/*.{js,jsx,ts,tsx,vue,html,css,scss,json,md}\"" | 
| 14 | }, | 16 | }, | 
| 15 | "dependencies": { | 17 | "dependencies": { | 
| @@ -24,11 +26,13 @@ | @@ -24,11 +26,13 @@ | ||
| 24 | "@vueuse/core": "^13.1.0", | 26 | "@vueuse/core": "^13.1.0", | 
| 25 | "@vueuse/nuxt": "^13.1.0", | 27 | "@vueuse/nuxt": "^13.1.0", | 
| 26 | "eslint": "^9.25.1", | 28 | "eslint": "^9.25.1", | 
| 29 | + "lucide-vue-next": "^0.503.0", | ||
| 27 | "nuxt": "^3.16.2", | 30 | "nuxt": "^3.16.2", | 
| 28 | "pinia": "^3.0.2", | 31 | "pinia": "^3.0.2", | 
| 29 | "pinia-plugin-persistedstate": "^4.2.0", | 32 | "pinia-plugin-persistedstate": "^4.2.0", | 
| 30 | "vue": "^3.5.13", | 33 | "vue": "^3.5.13", | 
| 31 | - "vue-router": "^4.5.0" | 34 | + "vue-router": "^4.5.0", | 
| 35 | + "vuetify-nuxt-module": "^0.18.6" | ||
| 32 | }, | 36 | }, | 
| 33 | "devDependencies": { | 37 | "devDependencies": { | 
| 34 | "@nuxtjs/tailwindcss": "^6.13.2", | 38 | "@nuxtjs/tailwindcss": "^6.13.2", | 
- 
Please register or login to post a comment