diff --git a/README.md b/README.md index 3c901da..5ab6b50 100644 --- a/README.md +++ b/README.md @@ -77,9 +77,9 @@ npm run deploy ## ⚙️ Personalización -### 1. Información Personal +### 1. Información Profile -Edita `src/composables/useKnowledgeBase.js`: +Edita `src/composables/useKnowledgeBase.ts`: \`\`\`javascript const knowledgeBase = ref({ @@ -148,10 +148,10 @@ ai-portfolio-chat/ │ │ ├── TechStack.vue │ │ └── AppFooter.vue │ ├── composables/ # Lógica reutilizable -│ │ ├── useKnowledgeBase.js -│ │ └── useChat.js +│ │ ├── useKnowledgeBase.ts +│ │ └── useChat.ts │ ├── App.vue # Componente principal -│ ├── main.js # Punto de entrada +│ ├── main.ts # Punto de entrada │ └── style.css # Estilos globales ├── public/ # Archivos estáticos ├── .github/workflows/ # GitHub Actions diff --git a/app.vue b/app.vue deleted file mode 100644 index a561885..0000000 --- a/app.vue +++ /dev/null @@ -1,475 +0,0 @@ - - - - - diff --git a/index.html b/index.html index 594c82b..dc9f0f6 100644 --- a/index.html +++ b/index.html @@ -2,30 +2,25 @@ - + - + - - + + + + + - - - - + + + - - - - - - - - Portfolio AI Chat - Desarrollador Full Stack + Portfolio | Pablot TJ
- + diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..fcd2c37 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,11 @@ +server { + listen 80; + server_name localhost; + + root /usr/share/nginx/html; + index index.html; + + location / { + try_files $uri $uri/ /index.html; + } +} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 1e7c522..a844b24 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,11 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "vue": "^3.4.21" + "vue": "^3.4.21", + "vue-loading-overlay": "^6.0.6", + "vue-preloader": "^1.1.4", + "vue-typer": "^1.2.0", + "vue3-typer": "^1.0.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", @@ -1855,6 +1859,12 @@ "node": ">=8" } }, + "node_modules/lodash.split": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.split/-/lodash.split-4.4.2.tgz", + "integrity": "sha512-kn1IDX0aHfg0FsnPIyxCHTamZXt3YK3aExRH1LW8YhzP6+sCldTm8+E4aIg+nSmM6R4eqdWGrXWtfYI961bwIw==", + "license": "MIT" + }, "node_modules/lru-cache": { "version": "10.4.3", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", @@ -2929,6 +2939,52 @@ } } }, + "node_modules/vue-loading-overlay": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-6.0.6.tgz", + "integrity": "sha512-ZPrWawjCoNKGbCG9z4nePgbs/K9KXPa1j1oAJXP6T8FQho3NO+/chhjx4MLYFzfpwr+xkiQ8SNrV1kUG1bZPAw==", + "license": "MIT", + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-preloader": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/vue-preloader/-/vue-preloader-1.1.4.tgz", + "integrity": "sha512-XvBS4rzhPDJ/Ya+FOMVfkMK4maZuEn6/CED/Y94NTJiKnU/ASikixB2dYGgHfYhosRPdAVXIZJfetWnPbHgdJA==", + "license": "MIT", + "dependencies": { + "vue": "^3.3.4" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/vue-typer": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vue-typer/-/vue-typer-1.2.0.tgz", + "integrity": "sha512-o0n2F9yOnbdQak1OiPFbZonIzysL5jiS1OPgaEX0KnMlKqXRKi808QHRdoMuqw44oYQM/vtxCt3AaNb9OzKH1Q==", + "license": "MIT", + "dependencies": { + "lodash.split": "^4.4.2" + } + }, + "node_modules/vue3-typer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vue3-typer/-/vue3-typer-1.0.0.tgz", + "integrity": "sha512-XliYAfNxPdu3D2zgiKzzr6I7TJR/Qs4tqmn5RbPxvn8Me3AjAabX90U1oizGlFrH/9qNEsyX0NMyDB0Z/NkqPQ==", + "license": "MIT", + "dependencies": { + "lodash.split": "^4.4.2", + "vue": "^3.2.37" + }, + "peerDependencies": { + "vue": "^3.2" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/package.json b/package.json index 5d3d55d..865ae91 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,11 @@ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs --fix --ignore-path .gitignore" }, "dependencies": { - "vue": "^3.4.21" + "vue": "^3.4.21", + "vue-loading-overlay": "^6.0.6", + "vue-preloader": "^1.1.4", + "vue-typer": "^1.2.0", + "vue3-typer": "^1.0.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", diff --git a/public/avatar-bot.png b/public/avatar-bot.png new file mode 100644 index 0000000..615a8a3 Binary files /dev/null and b/public/avatar-bot.png differ diff --git a/public/manifest.json b/public/manifest.json new file mode 100644 index 0000000..d4f47ad --- /dev/null +++ b/public/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "Pablo TJ", + "name": "Pablot TJ", + "icons": [ + { + "src": "avatar-bot.png", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "avatar-bot.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "avatar-bot.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#3b1070", + "background_color": "#3b1070" +} diff --git a/src/App.vue b/src/App.vue index 0bb5722..17bcf6a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,69 +1,10 @@ - - - + + + \ No newline at end of file diff --git a/src/components/AppFooter.vue b/src/components/AppFooter.vue deleted file mode 100644 index 30e1874..0000000 --- a/src/components/AppFooter.vue +++ /dev/null @@ -1,44 +0,0 @@ - - - diff --git a/src/components/AppHeader.vue b/src/components/AppHeader.vue deleted file mode 100644 index 866104f..0000000 --- a/src/components/AppHeader.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - diff --git a/src/components/ChatInput.vue b/src/components/ChatInput.vue deleted file mode 100644 index 1221f3f..0000000 --- a/src/components/ChatInput.vue +++ /dev/null @@ -1,65 +0,0 @@ - - - diff --git a/src/components/ChatMessages.vue b/src/components/ChatMessages.vue deleted file mode 100644 index 6b6a002..0000000 --- a/src/components/ChatMessages.vue +++ /dev/null @@ -1,92 +0,0 @@ - - - diff --git a/src/components/TechStack.vue b/src/components/TechStack.vue deleted file mode 100644 index ac60ca4..0000000 --- a/src/components/TechStack.vue +++ /dev/null @@ -1,26 +0,0 @@ - - - diff --git a/src/components/WelcomeSection.vue b/src/components/WelcomeSection.vue deleted file mode 100644 index 9db08cd..0000000 --- a/src/components/WelcomeSection.vue +++ /dev/null @@ -1,64 +0,0 @@ - - - diff --git a/src/components/chat/ChatFloatingButton.vue b/src/components/chat/ChatFloatingButton.vue index 423514e..207e623 100644 --- a/src/components/chat/ChatFloatingButton.vue +++ b/src/components/chat/ChatFloatingButton.vue @@ -1,3 +1,9 @@ + + - diff --git a/src/components/chat/ChatPopup.vue b/src/components/chat/ChatPopup.vue index 7ab7b6d..f69abd5 100644 --- a/src/components/chat/ChatPopup.vue +++ b/src/components/chat/ChatPopup.vue @@ -1,3 +1,55 @@ + + - - + \ No newline at end of file diff --git a/src/components/layout/AppFooter.vue b/src/components/layout/AppFooter.vue index 53de7f3..f50932a 100644 --- a/src/components/layout/AppFooter.vue +++ b/src/components/layout/AppFooter.vue @@ -1,22 +1,44 @@ + + - diff --git a/src/components/layout/AppNavigation.vue b/src/components/layout/AppNavigation.vue index 27c60e7..b373772 100644 --- a/src/components/layout/AppNavigation.vue +++ b/src/components/layout/AppNavigation.vue @@ -1,3 +1,27 @@ + + - diff --git a/src/components/sections/AboutSection.vue b/src/components/sections/AboutSection.vue index 7b8d41e..d4f1198 100644 --- a/src/components/sections/AboutSection.vue +++ b/src/components/sections/AboutSection.vue @@ -1,3 +1,15 @@ + + - diff --git a/src/components/sections/CertificationSection.vue b/src/components/sections/CertificationSection.vue new file mode 100644 index 0000000..b02700b --- /dev/null +++ b/src/components/sections/CertificationSection.vue @@ -0,0 +1,74 @@ + + + + diff --git a/src/components/sections/ContactSection.vue b/src/components/sections/ContactSection.vue index 61e76da..89af111 100644 --- a/src/components/sections/ContactSection.vue +++ b/src/components/sections/ContactSection.vue @@ -1,3 +1,52 @@ + +