ci(Frontend): create vuetify proyect.
This commit is contained in:
		
							
								
								
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -327,3 +327,9 @@ pip-selfcheck.json | |||||||
|  |  | ||||||
| # End of https://www.toptal.com/developers/gitignore/api/emacs,python,django,venv | # End of https://www.toptal.com/developers/gitignore/api/emacs,python,django,venv | ||||||
|  |  | ||||||
|  | /tienda_ilusion/don_confiao/static/frontend/ | ||||||
|  | /tienda_ilusion/don_confiao/frontend/don-confiao/.vite/ | ||||||
|  | /tienda_ilusion/don_confiao/frontend/don-confiao/.eslintrc.js | ||||||
|  | /tienda_ilusion/don_confiao/frontend/don-confiao/.eslintrc-auto-import.json | ||||||
|  | /tienda_ilusion/don_confiao/frontend/don-confiao/.editorconfig | ||||||
|  | /tienda_ilusion/don_confiao/frontend/don-confiao/.browserslistrc | ||||||
|   | |||||||
							
								
								
									
										22
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,22 @@ | |||||||
|  | .DS_Store | ||||||
|  | node_modules | ||||||
|  | /dist | ||||||
|  |  | ||||||
|  | # local env files | ||||||
|  | .env.local | ||||||
|  | .env.*.local | ||||||
|  |  | ||||||
|  | # Log files | ||||||
|  | npm-debug.log* | ||||||
|  | yarn-debug.log* | ||||||
|  | yarn-error.log* | ||||||
|  | pnpm-debug.log* | ||||||
|  |  | ||||||
|  | # Editor directories and files | ||||||
|  | .idea | ||||||
|  | .vscode | ||||||
|  | *.suo | ||||||
|  | *.ntvs* | ||||||
|  | *.njsproj | ||||||
|  | *.sln | ||||||
|  | *.sw? | ||||||
							
								
								
									
										79
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,79 @@ | |||||||
|  | # Vuetify (Default) | ||||||
|  |  | ||||||
|  | This is the official scaffolding tool for Vuetify, designed to give you a head start in building your new Vuetify application. It sets up a base template with all the necessary configurations and standard directory structure, enabling you to begin development without the hassle of setting up the project from scratch. | ||||||
|  |  | ||||||
|  | ## ❗️ Important Links | ||||||
|  |  | ||||||
|  | - 📄 [Docs](https://vuetifyjs.com/) | ||||||
|  | - 🚨 [Issues](https://issues.vuetifyjs.com/) | ||||||
|  | - 🏬 [Store](https://store.vuetifyjs.com/) | ||||||
|  | - 🎮 [Playground](https://play.vuetifyjs.com/) | ||||||
|  | - 💬 [Discord](https://community.vuetifyjs.com) | ||||||
|  |  | ||||||
|  | ## 💿 Install | ||||||
|  |  | ||||||
|  | Set up your project using your preferred package manager. Use the corresponding command to install the dependencies: | ||||||
|  |  | ||||||
|  | | Package Manager                                                | Command        | | ||||||
|  | |---------------------------------------------------------------|----------------| | ||||||
|  | | [yarn](https://yarnpkg.com/getting-started)                   | `yarn install` | | ||||||
|  | | [npm](https://docs.npmjs.com/cli/v7/commands/npm-install)     | `npm install`  | | ||||||
|  | | [pnpm](https://pnpm.io/installation)                          | `pnpm install` | | ||||||
|  | | [bun](https://bun.sh/#getting-started)                        | `bun install`  | | ||||||
|  |  | ||||||
|  | After completing the installation, your environment is ready for Vuetify development. | ||||||
|  |  | ||||||
|  | ## ✨ Features | ||||||
|  |  | ||||||
|  | - 🖼️ **Optimized Front-End Stack**: Leverage the latest Vue 3 and Vuetify 3 for a modern, reactive UI development experience. [Vue 3](https://v3.vuejs.org/) | [Vuetify 3](https://vuetifyjs.com/en/) | ||||||
|  | - 🗃️ **State Management**: Integrated with [Pinia](https://pinia.vuejs.org/), the intuitive, modular state management solution for Vue. | ||||||
|  | - 🚦 **Routing and Layouts**: Utilizes Vue Router for SPA navigation and vite-plugin-vue-layouts for organizing Vue file layouts. [Vue Router](https://router.vuejs.org/) | [vite-plugin-vue-layouts](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) | ||||||
|  | - ⚡ **Next-Gen Tooling**: Powered by Vite, experience fast cold starts and instant HMR (Hot Module Replacement). [Vite](https://vitejs.dev/) | ||||||
|  | - 🧩 **Automated Component Importing**: Streamline your workflow with unplugin-vue-components, automatically importing components as you use them. [unplugin-vue-components](https://github.com/antfu/unplugin-vue-components) | ||||||
|  |  | ||||||
|  | These features are curated to provide a seamless development experience from setup to deployment, ensuring that your Vuetify application is both powerful and maintainable. | ||||||
|  |  | ||||||
|  | ## 💡 Usage | ||||||
|  |  | ||||||
|  | This section covers how to start the development server and build your project for production. | ||||||
|  |  | ||||||
|  | ### Starting the Development Server | ||||||
|  |  | ||||||
|  | To start the development server with hot-reload, run the following command. The server will be accessible at [http://localhost:3000](http://localhost:3000): | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | yarn dev | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | (Repeat for npm, pnpm, and bun with respective commands.) | ||||||
|  |  | ||||||
|  | > Add NODE_OPTIONS='--no-warnings' to suppress the JSON import warnings that happen as part of the Vuetify import mapping. If you are on Node [v21.3.0](https://nodejs.org/en/blog/release/v21.3.0) or higher, you can change this to NODE_OPTIONS='--disable-warning=5401'. If you don't mind the warning, you can remove this from your package.json dev script. | ||||||
|  |  | ||||||
|  | ### Building for Production | ||||||
|  |  | ||||||
|  | To build your project for production, use: | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | yarn build | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | (Repeat for npm, pnpm, and bun with respective commands.) | ||||||
|  |  | ||||||
|  | Once the build process is completed, your application will be ready for deployment in a production environment. | ||||||
|  |  | ||||||
|  | ## 💪 Support Vuetify Development | ||||||
|  |  | ||||||
|  | This project is built with [Vuetify](https://vuetifyjs.com/en/), a UI Library with a comprehensive collection of Vue components. Vuetify is an MIT licensed Open Source project that has been made possible due to the generous contributions by our [sponsors and backers](https://vuetifyjs.com/introduction/sponsors-and-backers/). If you are interested in supporting this project, please consider: | ||||||
|  |  | ||||||
|  | - [Requesting Enterprise Support](https://support.vuetifyjs.com/) | ||||||
|  | - [Sponsoring John on Github](https://github.com/users/johnleider/sponsorship) | ||||||
|  | - [Sponsoring Kael on Github](https://github.com/users/kaelwd/sponsorship) | ||||||
|  | - [Supporting the team on Open Collective](https://opencollective.com/vuetify) | ||||||
|  | - [Becoming a sponsor on Patreon](https://www.patreon.com/vuetify) | ||||||
|  | - [Becoming a subscriber on Tidelift](https://tidelift.com/subscription/npm/vuetify) | ||||||
|  | - [Making a one-time donation with Paypal](https://paypal.me/vuetify) | ||||||
|  |  | ||||||
|  | ## 📑 License | ||||||
|  | [MIT](http://opensource.org/licenses/MIT) | ||||||
|  |  | ||||||
|  | Copyright (c) 2016-present Vuetify, LLC | ||||||
							
								
								
									
										16
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/index.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | |||||||
|  | <!DOCTYPE html> | ||||||
|  | <html lang="en"> | ||||||
|  |  | ||||||
|  | <head> | ||||||
|  |   <meta charset="UTF-8" /> | ||||||
|  |   <link rel="icon" href="/favicon.ico" /> | ||||||
|  |   <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | ||||||
|  |   <title>Welcome to Vuetify 3</title> | ||||||
|  | </head> | ||||||
|  |  | ||||||
|  | <body> | ||||||
|  |   <div id="app"></div> | ||||||
|  |   <script type="module" src="/src/main.js"></script> | ||||||
|  | </body> | ||||||
|  |  | ||||||
|  | </html> | ||||||
| @@ -0,0 +1,20 @@ | |||||||
|  | { | ||||||
|  |   "compilerOptions": { | ||||||
|  |     "allowJs": true, | ||||||
|  |     "target": "es5", | ||||||
|  |     "module": "esnext", | ||||||
|  |     "baseUrl": "./", | ||||||
|  |     "moduleResolution": "bundler", | ||||||
|  |     "paths": { | ||||||
|  |       "@/*": [ | ||||||
|  |         "src/*" | ||||||
|  |       ] | ||||||
|  |     }, | ||||||
|  |     "lib": [ | ||||||
|  |       "esnext", | ||||||
|  |       "dom", | ||||||
|  |       "dom.iterable", | ||||||
|  |       "scripthost" | ||||||
|  |     ] | ||||||
|  |   } | ||||||
|  | } | ||||||
							
								
								
									
										5406
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										5406
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/package-lock.json
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										38
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/package.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/package.json
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | |||||||
|  | { | ||||||
|  |   "name": "don-confiao", | ||||||
|  |   "version": "0.0.0", | ||||||
|  |   "scripts": { | ||||||
|  |     "dev": "vite", | ||||||
|  |     "build": "vite build", | ||||||
|  |     "preview": "vite preview", | ||||||
|  |     "lint": "eslint . --fix --ignore-path .gitignore" | ||||||
|  |   }, | ||||||
|  |   "dependencies": { | ||||||
|  |     "@mdi/font": "7.4.47", | ||||||
|  |     "core-js": "^3.37.1", | ||||||
|  |     "roboto-fontface": "*", | ||||||
|  |     "vue": "^3.4.31", | ||||||
|  |     "vuetify": "^3.6.11" | ||||||
|  |   }, | ||||||
|  |   "devDependencies": { | ||||||
|  |     "@vitejs/plugin-vue": "^5.0.5", | ||||||
|  |     "eslint": "^8.57.0", | ||||||
|  |     "eslint-config-standard": "^17.1.0", | ||||||
|  |     "eslint-config-vuetify": "^1.0.0", | ||||||
|  |     "eslint-plugin-import": "^2.29.1", | ||||||
|  |     "eslint-plugin-n": "^16.6.2", | ||||||
|  |     "eslint-plugin-node": "^11.1.0", | ||||||
|  |     "eslint-plugin-promise": "^6.4.0", | ||||||
|  |     "eslint-plugin-vue": "^9.27.0", | ||||||
|  |     "pinia": "^2.1.7", | ||||||
|  |     "sass": "1.77.6", | ||||||
|  |     "unplugin-auto-import": "^0.17.6", | ||||||
|  |     "unplugin-fonts": "^1.1.1", | ||||||
|  |     "unplugin-vue-components": "^0.27.2", | ||||||
|  |     "unplugin-vue-router": "^0.10.0", | ||||||
|  |     "vite": "^5.3.3", | ||||||
|  |     "vite-plugin-vue-layouts": "^0.11.0", | ||||||
|  |     "vite-plugin-vuetify": "^2.0.3", | ||||||
|  |     "vue-router": "^4.4.0" | ||||||
|  |   } | ||||||
|  | } | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 15 KiB | 
							
								
								
									
										11
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/src/App.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/src/App.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | |||||||
|  | <template> | ||||||
|  |   <v-app> | ||||||
|  |     <v-main> | ||||||
|  |       <router-view /> | ||||||
|  |     </v-main> | ||||||
|  |   </v-app> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script setup> | ||||||
|  |   // | ||||||
|  | </script> | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 12 KiB | 
| @@ -0,0 +1,6 @@ | |||||||
|  | <svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg"> | ||||||
|  | <path d="M261.126 140.65L164.624 307.732L256.001 466L377.028 256.5L498.001 47H315.192L261.126 140.65Z" fill="#1697F6"/> | ||||||
|  | <path d="M135.027 256.5L141.365 267.518L231.64 111.178L268.731 47H256H14L135.027 256.5Z" fill="#AEDDFF"/> | ||||||
|  | <path d="M315.191 47C360.935 197.446 256 466 256 466L164.624 307.732L315.191 47Z" fill="#1867C0"/> | ||||||
|  | <path d="M268.731 47C76.0026 47 141.366 267.518 141.366 267.518L268.731 47Z" fill="#7BC6FF"/> | ||||||
|  | </svg> | ||||||
| After Width: | Height: | Size: 526 B | 
| @@ -0,0 +1,79 @@ | |||||||
|  | <template> | ||||||
|  |   <v-footer height="40" app> | ||||||
|  |     <a | ||||||
|  |       v-for="item in items" | ||||||
|  |       :key="item.title" | ||||||
|  |       :href="item.href" | ||||||
|  |       :title="item.title" | ||||||
|  |       class="d-inline-block mx-2 social-link" | ||||||
|  |       rel="noopener noreferrer" | ||||||
|  |       target="_blank" | ||||||
|  |     > | ||||||
|  |       <v-icon | ||||||
|  |         :icon="item.icon" | ||||||
|  |         :size="item.icon === '$vuetify' ? 24 : 16" | ||||||
|  |       /> | ||||||
|  |     </a> | ||||||
|  |  | ||||||
|  |     <div | ||||||
|  |       class="text-caption text-disabled" | ||||||
|  |       style="position: absolute; right: 16px;" | ||||||
|  |     > | ||||||
|  |       © 2016-{{ (new Date()).getFullYear() }} <span class="d-none d-sm-inline-block">Vuetify, LLC</span> | ||||||
|  |       — | ||||||
|  |       <a | ||||||
|  |         class="text-decoration-none on-surface" | ||||||
|  |         href="https://vuetifyjs.com/about/licensing/" | ||||||
|  |         rel="noopener noreferrer" | ||||||
|  |         target="_blank" | ||||||
|  |       > | ||||||
|  |         MIT License | ||||||
|  |       </a> | ||||||
|  |     </div> | ||||||
|  |   </v-footer> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script setup> | ||||||
|  |   const items = [ | ||||||
|  |     { | ||||||
|  |       title: 'Vuetify Documentation', | ||||||
|  |       icon: `$vuetify`, | ||||||
|  |       href: 'https://vuetifyjs.com/', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       title: 'Vuetify Support', | ||||||
|  |       icon: 'mdi-shield-star-outline', | ||||||
|  |       href: 'https://support.vuetifyjs.com/', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       title: 'Vuetify X', | ||||||
|  |       icon: ['M2.04875 3.00002L9.77052 13.3248L1.99998 21.7192H3.74882L10.5519 14.3697L16.0486 21.7192H22L13.8437 10.8137L21.0765 3.00002H19.3277L13.0624 9.76874L8.0001 3.00002H2.04875ZM4.62054 4.28821H7.35461L19.4278 20.4308H16.6937L4.62054 4.28821Z'], | ||||||
|  |       href: 'https://x.com/vuetifyjs', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       title: 'Vuetify GitHub', | ||||||
|  |       icon: `mdi-github`, | ||||||
|  |       href: 'https://github.com/vuetifyjs/vuetify', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       title: 'Vuetify Discord', | ||||||
|  |       icon: ['M22,24L16.75,19L17.38,21H4.5A2.5,2.5 0 0,1 2,18.5V3.5A2.5,2.5 0 0,1 4.5,1H19.5A2.5,2.5 0 0,1 22,3.5V24M12,6.8C9.32,6.8 7.44,7.95 7.44,7.95C8.47,7.03 10.27,6.5 10.27,6.5L10.1,6.33C8.41,6.36 6.88,7.53 6.88,7.53C5.16,11.12 5.27,14.22 5.27,14.22C6.67,16.03 8.75,15.9 8.75,15.9L9.46,15C8.21,14.73 7.42,13.62 7.42,13.62C7.42,13.62 9.3,14.9 12,14.9C14.7,14.9 16.58,13.62 16.58,13.62C16.58,13.62 15.79,14.73 14.54,15L15.25,15.9C15.25,15.9 17.33,16.03 18.73,14.22C18.73,14.22 18.84,11.12 17.12,7.53C17.12,7.53 15.59,6.36 13.9,6.33L13.73,6.5C13.73,6.5 15.53,7.03 16.56,7.95C16.56,7.95 14.68,6.8 12,6.8M9.93,10.59C10.58,10.59 11.11,11.16 11.1,11.86C11.1,12.55 10.58,13.13 9.93,13.13C9.29,13.13 8.77,12.55 8.77,11.86C8.77,11.16 9.28,10.59 9.93,10.59M14.1,10.59C14.75,10.59 15.27,11.16 15.27,11.86C15.27,12.55 14.75,13.13 14.1,13.13C13.46,13.13 12.94,12.55 12.94,11.86C12.94,11.16 13.45,10.59 14.1,10.59Z'], | ||||||
|  |       href: 'https://community.vuetifyjs.com/', | ||||||
|  |     }, | ||||||
|  |     { | ||||||
|  |       title: 'Vuetify Reddit', | ||||||
|  |       icon: `mdi-reddit`, | ||||||
|  |       href: 'https://reddit.com/r/vuetifyjs', | ||||||
|  |     }, | ||||||
|  |   ] | ||||||
|  | </script> | ||||||
|  |  | ||||||
|  | <style scoped lang="sass"> | ||||||
|  |   .social-link :deep(.v-icon) | ||||||
|  |     color: rgba(var(--v-theme-on-background), var(--v-disabled-opacity)) | ||||||
|  |     text-decoration: none | ||||||
|  |     transition: .2s ease-in-out | ||||||
|  |  | ||||||
|  |     &:hover | ||||||
|  |       color: rgba(25, 118, 210, 1) | ||||||
|  | </style> | ||||||
| @@ -0,0 +1,157 @@ | |||||||
|  | <template> | ||||||
|  |   <v-container class="fill-height"> | ||||||
|  |     <v-responsive | ||||||
|  |       class="align-centerfill-height mx-auto" | ||||||
|  |       max-width="900" | ||||||
|  |     > | ||||||
|  |       <v-img | ||||||
|  |         class="mb-4" | ||||||
|  |         height="150" | ||||||
|  |         src="@/assets/logo.png" | ||||||
|  |       /> | ||||||
|  |  | ||||||
|  |       <div class="text-center"> | ||||||
|  |         <div class="text-body-2 font-weight-light mb-n1">Welcome to</div> | ||||||
|  |  | ||||||
|  |         <h1 class="text-h2 font-weight-bold">Vuetify</h1> | ||||||
|  |       </div> | ||||||
|  |  | ||||||
|  |       <div class="py-4" /> | ||||||
|  |  | ||||||
|  |       <v-row> | ||||||
|  |         <v-col cols="12"> | ||||||
|  |           <v-card | ||||||
|  |             class="py-4" | ||||||
|  |             color="surface-variant" | ||||||
|  |             image="https://cdn.vuetifyjs.com/docs/images/one/create/feature.png" | ||||||
|  |             prepend-icon="mdi-rocket-launch-outline" | ||||||
|  |             rounded="lg" | ||||||
|  |             variant="outlined" | ||||||
|  |           > | ||||||
|  |             <template #image> | ||||||
|  |               <v-img position="top right" /> | ||||||
|  |             </template> | ||||||
|  |  | ||||||
|  |             <template #title> | ||||||
|  |               <h2 class="text-h5 font-weight-bold">Get started</h2> | ||||||
|  |             </template> | ||||||
|  |  | ||||||
|  |             <template #subtitle> | ||||||
|  |               <div class="text-subtitle-1"> | ||||||
|  |                 Replace this page by removing <v-kbd>{{ `<HelloWorld />` }}</v-kbd> in <v-kbd>pages/index.vue</v-kbd>. | ||||||
|  |               </div> | ||||||
|  |             </template> | ||||||
|  |  | ||||||
|  |             <v-overlay | ||||||
|  |               opacity=".12" | ||||||
|  |               scrim="primary" | ||||||
|  |               contained | ||||||
|  |               model-value | ||||||
|  |               persistent | ||||||
|  |             /> | ||||||
|  |           </v-card> | ||||||
|  |         </v-col> | ||||||
|  |  | ||||||
|  |         <v-col cols="6"> | ||||||
|  |           <v-card | ||||||
|  |             append-icon="mdi-open-in-new" | ||||||
|  |             class="py-4" | ||||||
|  |             color="surface-variant" | ||||||
|  |             href="https://vuetifyjs.com/" | ||||||
|  |             prepend-icon="mdi-text-box-outline" | ||||||
|  |             rel="noopener noreferrer" | ||||||
|  |             rounded="lg" | ||||||
|  |             subtitle="Learn about all things Vuetify in our documentation." | ||||||
|  |             target="_blank" | ||||||
|  |             title="Documentation" | ||||||
|  |             variant="text" | ||||||
|  |           > | ||||||
|  |             <v-overlay | ||||||
|  |               opacity=".06" | ||||||
|  |               scrim="primary" | ||||||
|  |               contained | ||||||
|  |               model-value | ||||||
|  |               persistent | ||||||
|  |             /> | ||||||
|  |           </v-card> | ||||||
|  |         </v-col> | ||||||
|  |  | ||||||
|  |         <v-col cols="6"> | ||||||
|  |           <v-card | ||||||
|  |             append-icon="mdi-open-in-new" | ||||||
|  |             class="py-4" | ||||||
|  |             color="surface-variant" | ||||||
|  |             href="https://vuetifyjs.com/introduction/why-vuetify/#feature-guides" | ||||||
|  |             prepend-icon="mdi-star-circle-outline" | ||||||
|  |             rel="noopener noreferrer" | ||||||
|  |             rounded="lg" | ||||||
|  |             subtitle="Explore available framework Features." | ||||||
|  |             target="_blank" | ||||||
|  |             title="Features" | ||||||
|  |             variant="text" | ||||||
|  |           > | ||||||
|  |             <v-overlay | ||||||
|  |               opacity=".06" | ||||||
|  |               scrim="primary" | ||||||
|  |               contained | ||||||
|  |               model-value | ||||||
|  |               persistent | ||||||
|  |             /> | ||||||
|  |           </v-card> | ||||||
|  |         </v-col> | ||||||
|  |  | ||||||
|  |         <v-col cols="6"> | ||||||
|  |           <v-card | ||||||
|  |             append-icon="mdi-open-in-new" | ||||||
|  |             class="py-4" | ||||||
|  |             color="surface-variant" | ||||||
|  |             href="https://vuetifyjs.com/components/all" | ||||||
|  |             prepend-icon="mdi-widgets-outline" | ||||||
|  |             rel="noopener noreferrer" | ||||||
|  |             rounded="lg" | ||||||
|  |             subtitle="Discover components in the API Explorer." | ||||||
|  |             target="_blank" | ||||||
|  |             title="Components" | ||||||
|  |             variant="text" | ||||||
|  |           > | ||||||
|  |             <v-overlay | ||||||
|  |               opacity=".06" | ||||||
|  |               scrim="primary" | ||||||
|  |               contained | ||||||
|  |               model-value | ||||||
|  |               persistent | ||||||
|  |             /> | ||||||
|  |           </v-card> | ||||||
|  |         </v-col> | ||||||
|  |  | ||||||
|  |         <v-col cols="6"> | ||||||
|  |           <v-card | ||||||
|  |             append-icon="mdi-open-in-new" | ||||||
|  |             class="py-4" | ||||||
|  |             color="surface-variant" | ||||||
|  |             href="https://discord.vuetifyjs.com" | ||||||
|  |             prepend-icon="mdi-account-group-outline" | ||||||
|  |             rel="noopener noreferrer" | ||||||
|  |             rounded="lg" | ||||||
|  |             subtitle="Connect with Vuetify developers." | ||||||
|  |             target="_blank" | ||||||
|  |             title="Community" | ||||||
|  |             variant="text" | ||||||
|  |           > | ||||||
|  |             <v-overlay | ||||||
|  |               opacity=".06" | ||||||
|  |               scrim="primary" | ||||||
|  |               contained | ||||||
|  |               model-value | ||||||
|  |               persistent | ||||||
|  |             /> | ||||||
|  |           </v-card> | ||||||
|  |         </v-col> | ||||||
|  |       </v-row> | ||||||
|  |     </v-responsive> | ||||||
|  |   </v-container> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script setup> | ||||||
|  |   // | ||||||
|  | </script> | ||||||
| @@ -0,0 +1,35 @@ | |||||||
|  | # Components | ||||||
|  |  | ||||||
|  | Vue template files in this folder are automatically imported. | ||||||
|  |  | ||||||
|  | ## 🚀 Usage | ||||||
|  |  | ||||||
|  | Importing is handled by [unplugin-vue-components](https://github.com/unplugin/unplugin-vue-components). This plugin automatically imports `.vue` files created in the `src/components` directory, and registers them as global components. This means that you can use any component in your application without having to manually import it. | ||||||
|  |  | ||||||
|  | The following example assumes a component located at `src/components/MyComponent.vue`: | ||||||
|  |  | ||||||
|  | ```vue | ||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <MyComponent /> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script lang="ts" setup> | ||||||
|  |   // | ||||||
|  | </script> | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | When your template is rendered, the component's import will automatically be inlined, which renders to this: | ||||||
|  |  | ||||||
|  | ```vue | ||||||
|  | <template> | ||||||
|  |   <div> | ||||||
|  |     <MyComponent /> | ||||||
|  |   </div> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script lang="ts" setup> | ||||||
|  |   import MyComponent from '@/components/MyComponent.vue' | ||||||
|  | </script> | ||||||
|  | ``` | ||||||
| @@ -0,0 +1,5 @@ | |||||||
|  | # Layouts | ||||||
|  |  | ||||||
|  | Layouts are reusable components that wrap around pages. They are used to provide a consistent look and feel across multiple pages. | ||||||
|  |  | ||||||
|  | Full documentation for this feature can be found in the Official [vite-plugin-vue-layouts](https://github.com/JohnCampionJr/vite-plugin-vue-layouts) repository. | ||||||
| @@ -0,0 +1,13 @@ | |||||||
|  | <template> | ||||||
|  |   <v-app> | ||||||
|  |     <v-main> | ||||||
|  |       <router-view /> | ||||||
|  |     </v-main> | ||||||
|  |  | ||||||
|  |     <AppFooter /> | ||||||
|  |   </v-app> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script setup> | ||||||
|  |   // | ||||||
|  | </script> | ||||||
							
								
								
									
										20
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/src/main.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								tienda_ilusion/don_confiao/frontend/don-confiao/src/main.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | /** | ||||||
|  |  * main.js | ||||||
|  |  * | ||||||
|  |  * Bootstraps Vuetify and other plugins then mounts the App` | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | // Plugins | ||||||
|  | import { registerPlugins } from '@/plugins' | ||||||
|  |  | ||||||
|  | // Components | ||||||
|  | import App from './App.vue' | ||||||
|  |  | ||||||
|  | // Composables | ||||||
|  | import { createApp } from 'vue' | ||||||
|  |  | ||||||
|  | const app = createApp(App) | ||||||
|  |  | ||||||
|  | registerPlugins(app) | ||||||
|  |  | ||||||
|  | app.mount('#app') | ||||||
| @@ -0,0 +1,5 @@ | |||||||
|  | # Pages | ||||||
|  |  | ||||||
|  | Vue components created in this folder will automatically be converted to navigatable routes. | ||||||
|  |  | ||||||
|  | Full documentation for this feature can be found in the Official [unplugin-vue-router](https://github.com/posva/unplugin-vue-router) repository. | ||||||
| @@ -0,0 +1,7 @@ | |||||||
|  | <template> | ||||||
|  |   <HelloWorld /> | ||||||
|  | </template> | ||||||
|  |  | ||||||
|  | <script setup> | ||||||
|  |   // | ||||||
|  | </script> | ||||||
| @@ -0,0 +1,3 @@ | |||||||
|  | # Plugins | ||||||
|  |  | ||||||
|  | Plugins are a way to extend the functionality of your Vue application. Use this folder for registering plugins that you want to use globally. | ||||||
| @@ -0,0 +1,17 @@ | |||||||
|  | /** | ||||||
|  |  * plugins/index.js | ||||||
|  |  * | ||||||
|  |  * Automatically included in `./src/main.js` | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | // Plugins | ||||||
|  | import vuetify from './vuetify' | ||||||
|  | import pinia from '@/stores' | ||||||
|  | import router from '@/router' | ||||||
|  |  | ||||||
|  | export function registerPlugins (app) { | ||||||
|  |   app | ||||||
|  |     .use(vuetify) | ||||||
|  |     .use(router) | ||||||
|  |     .use(pinia) | ||||||
|  | } | ||||||
| @@ -0,0 +1,19 @@ | |||||||
|  | /** | ||||||
|  |  * plugins/vuetify.js | ||||||
|  |  * | ||||||
|  |  * Framework documentation: https://vuetifyjs.com` | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | // Styles | ||||||
|  | import '@mdi/font/css/materialdesignicons.css' | ||||||
|  | import 'vuetify/styles' | ||||||
|  |  | ||||||
|  | // Composables | ||||||
|  | import { createVuetify } from 'vuetify' | ||||||
|  |  | ||||||
|  | // https://vuetifyjs.com/en/introduction/why-vuetify/#feature-guides | ||||||
|  | export default createVuetify({ | ||||||
|  |   theme: { | ||||||
|  |     defaultTheme: 'dark', | ||||||
|  |   }, | ||||||
|  | }) | ||||||
| @@ -0,0 +1,36 @@ | |||||||
|  | /** | ||||||
|  |  * router/index.ts | ||||||
|  |  * | ||||||
|  |  * Automatic routes for `./src/pages/*.vue` | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | // Composables | ||||||
|  | import { createRouter, createWebHistory } from 'vue-router/auto' | ||||||
|  | import { setupLayouts } from 'virtual:generated-layouts' | ||||||
|  | import { routes } from 'vue-router/auto-routes' | ||||||
|  |  | ||||||
|  | const router = createRouter({ | ||||||
|  |   history: createWebHistory(import.meta.env.BASE_URL), | ||||||
|  |   routes: setupLayouts(routes), | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | // Workaround for https://github.com/vitejs/vite/issues/11804 | ||||||
|  | router.onError((err, to) => { | ||||||
|  |   if (err?.message?.includes?.('Failed to fetch dynamically imported module')) { | ||||||
|  |     if (!localStorage.getItem('vuetify:dynamic-reload')) { | ||||||
|  |       console.log('Reloading page to fix dynamic import error') | ||||||
|  |       localStorage.setItem('vuetify:dynamic-reload', 'true') | ||||||
|  |       location.assign(to.fullPath) | ||||||
|  |     } else { | ||||||
|  |       console.error('Dynamic import error, reloading page did not fix it', err) | ||||||
|  |     } | ||||||
|  |   } else { | ||||||
|  |     console.error(err) | ||||||
|  |   } | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | router.isReady().then(() => { | ||||||
|  |   localStorage.removeItem('vuetify:dynamic-reload') | ||||||
|  | }) | ||||||
|  |  | ||||||
|  | export default router | ||||||
| @@ -0,0 +1,5 @@ | |||||||
|  | # Store | ||||||
|  |  | ||||||
|  | Pinia stores are used to store reactive state and expose actions to mutate it. | ||||||
|  |  | ||||||
|  | Full documentation for this feature can be found in the Official [Pinia](https://pinia.esm.dev/) repository. | ||||||
| @@ -0,0 +1,8 @@ | |||||||
|  | // Utilities | ||||||
|  | import { defineStore } from 'pinia' | ||||||
|  |  | ||||||
|  | export const useAppStore = defineStore('app', { | ||||||
|  |   state: () => ({ | ||||||
|  |     // | ||||||
|  |   }), | ||||||
|  | }) | ||||||
| @@ -0,0 +1,4 @@ | |||||||
|  | // Utilities | ||||||
|  | import { createPinia } from 'pinia' | ||||||
|  |  | ||||||
|  | export default createPinia() | ||||||
| @@ -0,0 +1,3 @@ | |||||||
|  | # Styles | ||||||
|  |  | ||||||
|  | This directory is for configuring the styles of the application. | ||||||
| @@ -0,0 +1,10 @@ | |||||||
|  | /** | ||||||
|  |  * src/styles/settings.scss | ||||||
|  |  * | ||||||
|  |  * Configures SASS variables and Vuetify overwrites | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | // https://vuetifyjs.com/features/sass-variables/` | ||||||
|  | // @use 'vuetify/settings' with ( | ||||||
|  | //   $color-pack: false | ||||||
|  | // ); | ||||||
| @@ -0,0 +1,71 @@ | |||||||
|  | // Plugins | ||||||
|  | import AutoImport from 'unplugin-auto-import/vite' | ||||||
|  | import Components from 'unplugin-vue-components/vite' | ||||||
|  | import Fonts from 'unplugin-fonts/vite' | ||||||
|  | import Layouts from 'vite-plugin-vue-layouts' | ||||||
|  | import Vue from '@vitejs/plugin-vue' | ||||||
|  | import VueRouter from 'unplugin-vue-router/vite' | ||||||
|  | import Vuetify, { transformAssetUrls } from 'vite-plugin-vuetify' | ||||||
|  |  | ||||||
|  | // Utilities | ||||||
|  | import { defineConfig } from 'vite' | ||||||
|  | import { fileURLToPath, URL } from 'node:url' | ||||||
|  |  | ||||||
|  | // https://vitejs.dev/config/ | ||||||
|  | export default defineConfig({ | ||||||
|  |   plugins: [ | ||||||
|  |     VueRouter(), | ||||||
|  |     Layouts(), | ||||||
|  |     Vue({ | ||||||
|  |       template: { transformAssetUrls } | ||||||
|  |     }), | ||||||
|  |     // https://github.com/vuetifyjs/vuetify-loader/tree/master/packages/vite-plugin#readme | ||||||
|  |     Vuetify({ | ||||||
|  |       autoImport: true, | ||||||
|  |       styles: { | ||||||
|  |         configFile: 'src/styles/settings.scss', | ||||||
|  |       }, | ||||||
|  |     }), | ||||||
|  |     Components(), | ||||||
|  |     Fonts({ | ||||||
|  |       google: { | ||||||
|  |         families: [{ | ||||||
|  |           name: 'Roboto', | ||||||
|  |           styles: 'wght@100;300;400;500;700;900', | ||||||
|  |         }], | ||||||
|  |       }, | ||||||
|  |     }), | ||||||
|  |     AutoImport({ | ||||||
|  |       imports: [ | ||||||
|  |         'vue', | ||||||
|  |         'vue-router', | ||||||
|  |       ], | ||||||
|  |       eslintrc: { | ||||||
|  |         enabled: true, | ||||||
|  |       }, | ||||||
|  |       vueTemplate: true, | ||||||
|  |     }), | ||||||
|  |   ], | ||||||
|  |   define: { 'process.env': {} }, | ||||||
|  |   resolve: { | ||||||
|  |     alias: { | ||||||
|  |       '@': fileURLToPath(new URL('./src', import.meta.url)) | ||||||
|  |     }, | ||||||
|  |     extensions: [ | ||||||
|  |       '.js', | ||||||
|  |       '.json', | ||||||
|  |       '.jsx', | ||||||
|  |       '.mjs', | ||||||
|  |       '.ts', | ||||||
|  |       '.tsx', | ||||||
|  |       '.vue', | ||||||
|  |     ], | ||||||
|  |   }, | ||||||
|  |   server: { | ||||||
|  |     port: 3000, | ||||||
|  |   }, | ||||||
|  |   build: { | ||||||
|  |     outDir: '../../static/frontend/',  | ||||||
|  |   }, | ||||||
|  |   base: '/static/frontend/', | ||||||
|  | }) | ||||||
		Reference in New Issue
	
	Block a user