├── .editorconfig ├── .env ├── .env.example ├── .eslintignore ├── .eslintrc ├── .gitignore ├── .netlify └── edge-functions-import-map.json ├── .npmrc ├── .prettierrc.js ├── .stackblitzrc ├── .vscode ├── extensions.json ├── launch.json └── settings.json ├── README.md ├── bun.lockb ├── jsconfig.json ├── next-env.d.ts ├── next.config.js ├── package.json ├── postcss.config.js ├── public ├── favicon.svg ├── gifts │ ├── Hack4U-mini.webp │ ├── Hack4U.webp │ ├── codely-small.webp │ ├── codely.webp │ ├── codigo-sostenible-small.webp │ ├── codigo-sostenible.webp │ ├── cupon-github-small.webp │ ├── cupon-github.webp │ ├── el-programador-pragmatico.webp │ ├── fazt-mini.webp │ ├── fazt.webp │ ├── keep-coding-clock.webp │ ├── keep-coding-job.webp │ ├── keep-coding-mini.webp │ ├── keep-coding-module.webp │ ├── keychron-small.webp │ ├── keychron.webp │ ├── lemon-code-devops.webp │ ├── lemon-code-frontend.webp │ ├── lemon-code-small.webp │ ├── mac-mini-small.webp │ ├── mac-mini.webp │ ├── platzi-planes-small.webp │ ├── platzi-planes.webp │ ├── scrimba-small.webp │ ├── scrimba.webp │ ├── supermaven-small.webp │ ├── supermaven.webp │ ├── this-is-fine-small.webp │ └── this-is-fine.webp ├── img │ ├── autentia.svg │ ├── gifts │ │ ├── amautas.png │ │ ├── codely.png │ │ ├── dondominio.png │ │ ├── elsa.png │ │ ├── javier.png │ │ └── libro-git.png │ ├── speakers │ │ ├── anon.jpg │ │ ├── carmen.jpg │ │ ├── cloudinary.jpg │ │ ├── codely-agenda.jpg │ │ ├── david.jpg │ │ ├── dawntraoz.jpg │ │ ├── debbie.jpg │ │ ├── dotcsv.jpg │ │ ├── east.jpg │ │ ├── fazt.jpg │ │ ├── fernando-rodriguez.jpg │ │ ├── fernando.jpg │ │ ├── freddyVega.jpg │ │ ├── frr149.jpg │ │ ├── grimerloner.jpg │ │ ├── javi.jpg │ │ ├── javier.jpg │ │ ├── malt.jpg │ │ ├── midudev.jpg │ │ ├── nerea.jpg │ │ ├── pablokbs.jpg │ │ ├── patoDev.jpg │ │ ├── rafa.jpg │ │ ├── rauchg.jpg │ │ ├── s4vitar.jpg │ │ ├── sorteo.png │ │ └── teffcode.jpg │ ├── sponsors │ │ └── keepcoding.webp │ └── tickets-effect │ │ ├── bg.png │ │ ├── gradient.png │ │ └── noise.png ├── og-image.jpg ├── regalo-libro-git.png └── stickers │ ├── cloudinary.png │ ├── glasses.png │ ├── keep-coding.png │ ├── libro-git.png │ ├── malt.svg │ ├── mario.png │ ├── midu-angry.png │ ├── midu-boss.png │ ├── midu-f.png │ ├── midu-hype.png │ ├── midu-love.png │ ├── midu-lul.png │ ├── midu-not-like-this.png │ ├── midu-snif.png │ ├── midu-wink.png │ ├── midu-wow.png │ ├── midu-wtf.png │ ├── midu.png │ ├── midu.svg │ ├── start.png │ ├── this-is-fine-normal.png │ ├── this-is-fine.png │ ├── vercel.png │ ├── vercel.svg │ └── yeah.png ├── src ├── components │ ├── Avatar.jsx │ ├── Background.jsx │ ├── Button.tsx │ ├── Card.jsx │ ├── CohereLogo.jsx │ ├── Container3D.tsx │ ├── Countdown.jsx │ ├── Header.tsx │ ├── HeaderIndex.jsx │ ├── HideContentBox.tsx │ ├── LinearCard.jsx │ ├── Logo.jsx │ ├── Meteor.tsx │ ├── MeteorLanguages.tsx │ ├── Modal.tsx │ ├── Mouse.jsx │ ├── ShareTicketButton.jsx │ ├── Speakers.tsx │ ├── Stars.tsx │ ├── Ticket.tsx │ ├── TicketGradient.tsx │ ├── TicketPlatinum.tsx │ ├── Tooltip.tsx │ ├── TwitchBlock.jsx │ ├── TwitchIcon.jsx │ ├── TwitchLogo.jsx │ ├── TypeBadge.jsx │ ├── icons │ │ ├── index.ts │ │ ├── languages │ │ │ ├── angular.tsx │ │ │ ├── astro.tsx │ │ │ ├── bun.tsx │ │ │ ├── c.tsx │ │ │ ├── csharp.tsx │ │ │ ├── css.tsx │ │ │ ├── dart.tsx │ │ │ ├── deno.tsx │ │ │ ├── firebase.tsx │ │ │ ├── flutter.tsx │ │ │ ├── github.tsx │ │ │ ├── golang.tsx │ │ │ ├── html.tsx │ │ │ ├── index.ts │ │ │ ├── intellij.tsx │ │ │ ├── java.tsx │ │ │ ├── javascript.tsx │ │ │ ├── linux.tsx │ │ │ ├── markdown.tsx │ │ │ ├── mysql.tsx │ │ │ ├── nestjs.tsx │ │ │ ├── next.tsx │ │ │ ├── node.tsx │ │ │ ├── npm.tsx │ │ │ ├── nuxt.tsx │ │ │ ├── php.tsx │ │ │ ├── pnpm.tsx │ │ │ ├── preact.tsx │ │ │ ├── python.tsx │ │ │ ├── qwik.tsx │ │ │ ├── react.tsx │ │ │ ├── ruby.tsx │ │ │ ├── rust.tsx │ │ │ ├── scala.tsx │ │ │ ├── solid.tsx │ │ │ ├── svelte.tsx │ │ │ ├── tailwind.tsx │ │ │ ├── typescript.tsx │ │ │ ├── vim.tsx │ │ │ ├── vite.tsx │ │ │ ├── vscode.tsx │ │ │ └── vue.tsx │ │ ├── navbar │ │ │ ├── discord.tsx │ │ │ ├── gift.tsx │ │ │ ├── index.ts │ │ │ ├── schedule.tsx │ │ │ ├── speakers.tsx │ │ │ └── sponsors.tsx │ │ ├── sponsors │ │ │ ├── cloudinary.tsx │ │ │ ├── codely.tsx │ │ │ ├── don-dominio.tsx │ │ │ ├── index.ts │ │ │ ├── infojobs.tsx │ │ │ ├── keepcode.tsx │ │ │ ├── lemon-horizontal.tsx │ │ │ ├── lemon-vertical.tsx │ │ │ ├── malt.tsx │ │ │ ├── platzi.tsx │ │ │ ├── scrimba.tsx │ │ │ └── strapi.tsx │ │ ├── stickers │ │ │ ├── don-dominio.tsx │ │ │ ├── index.tsx │ │ │ ├── lemon-code.tsx │ │ │ ├── platzi.tsx │ │ │ └── twitch.tsx │ │ ├── ticket.tsx │ │ └── twitch.tsx │ ├── logos │ │ ├── codely.tsx │ │ ├── dondominio.tsx │ │ ├── lemoncode.tsx │ │ └── midudev.tsx │ ├── magicui │ │ ├── MagicCard.tsx │ │ ├── Marquee.tsx │ │ └── RadialGradient.tsx │ └── utilities │ │ └── timezone.ts ├── flavors │ └── data.tsx ├── hooks │ └── useRemainingTime.ts ├── lib │ ├── supabase.js │ └── utils.ts ├── pages │ ├── _app.js │ ├── _document.js │ ├── api │ │ ├── auth │ │ │ └── callback.js │ │ ├── number.js │ │ ├── special-ticket │ │ │ └── twitch.ts │ │ └── twitch │ │ │ └── signin.ts │ ├── index.js │ └── ticket.js ├── sections │ ├── agenda.tsx │ ├── gifts.tsx │ ├── layout.tsx │ ├── sponsors.tsx │ └── ticket-home.tsx ├── store │ └── index.js └── styles │ └── globals.css ├── tailwind.config.js └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | # https://editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | indent_style = tab 7 | tab_width = 2 8 | end_of_line = lf 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | NEXT_PUBLIC_SUPABASE_URL=https://ljizvfycxyxnupniyyxb.supabase.co 2 | NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImxqaXp2ZnljeHl4bnVwbml5eXhiIiwicm9sZSI6ImFub24iLCJpYXQiOjE2NTU0MDgwNDQsImV4cCI6MTk3MDk4NDA0NH0.J8-KVtrZNxWIWMIdEm00WLHp1OTrFc4mMC3RVZK12cM 3 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | PUBLIC_SUPABASE_URL= 2 | PUBLIC_SUPABASE_ANON_KEY= -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | .output/ 3 | node_modules/ 4 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "es2022": true, 4 | "node": true, 5 | "browser": true 6 | }, 7 | "extends": [ 8 | "eslint:recommended", 9 | "plugin:@typescript-eslint/eslint-recommended", 10 | "plugin:@typescript-eslint/recommended", 11 | "eslint-config-prettier", 12 | "standard" 13 | ], 14 | "parser": "@typescript-eslint/parser", 15 | "parserOptions": { 16 | "ecmaVersion": "latest", 17 | "sourceType": "module" 18 | }, 19 | "rules": { 20 | "space-before-function-paren": "off", 21 | "no-unused-vars": "warn", 22 | "@typescript-eslint/no-explicit-any": "warn", 23 | "@typescript-eslint/no-unused-vars": [ 24 | "warn", 25 | { 26 | "argsIgnorePattern": "^_", 27 | "varsIgnorePattern": "^_", 28 | "caughtErrorsIgnorePattern": "^_" 29 | } 30 | ], 31 | "no-multiple-empty-lines": "off", 32 | "no-tabs": "off", 33 | "indent": [ 34 | "warn", 35 | "tab" 36 | ], 37 | "quotes": [ 38 | "warn", 39 | "single" 40 | ], 41 | "jsx-quotes": [ 42 | "warn", 43 | "prefer-single" 44 | ], 45 | "eol-last": "off" 46 | } 47 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # build output 2 | dist/ 3 | .output/ 4 | .env 5 | .env.local 6 | 7 | # dependencies 8 | node_modules/ 9 | 10 | # logs 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | 17 | # environment variables 18 | .env.production 19 | .env.local 20 | 21 | # macOS-specific files 22 | .DS_Store 23 | package-lock.json 24 | 25 | # pnpm 26 | pnpm-lock.yaml 27 | # Local Netlify folder 28 | .netlify 29 | .next/ 30 | -------------------------------------------------------------------------------- /.netlify/edge-functions-import-map.json: -------------------------------------------------------------------------------- 1 | { "imports": { "netlify:edge": "https://edge.netlify.com/v1/index.ts" } } 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | # Expose Astro dependencies for `pnpm` users 2 | shamefully-hoist=true 3 | -------------------------------------------------------------------------------- /.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | printWidth: 100, 3 | semi: false, 4 | singleQuote: true, 5 | jsxSingleQuote: true, 6 | tabWidth: 2, 7 | trailingComma: 'none', 8 | useTabs: true, 9 | overrides: [ 10 | { 11 | files: ['*.json', '*.md', '*.toml', '*.yml'], 12 | options: { 13 | useTabs: false 14 | } 15 | } 16 | ], 17 | endOfLine: 'lf' 18 | } 19 | -------------------------------------------------------------------------------- /.stackblitzrc: -------------------------------------------------------------------------------- 1 | { 2 | "startCommand": "npm start", 3 | "env": { 4 | "ENABLE_CJS_IMPORTS": true 5 | } 6 | } -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["astro-build.astro-vscode"], 3 | "unwantedRecommendations": [] 4 | } 5 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "command": "./node_modules/.bin/astro dev", 6 | "name": "Development server", 7 | "request": "launch", 8 | "type": "node-terminal" 9 | } 10 | ] 11 | } 12 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.codeActionsOnSave": { 3 | "source.fixAll.eslint": "explicit" 4 | }, 5 | "editor.detectIndentation": false, 6 | "editor.insertSpaces": false, 7 | "eslint.validate": [ 8 | "javascript", 9 | "javascriptreact", 10 | "astro", // Enable .astro 11 | "typescript", // Enable .ts 12 | "typescriptreact" // Enable .tsx 13 | ], 14 | "javascript.format.insertSpaceBeforeFunctionParenthesis": true 15 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # miduConf 2 | 3 | ## Descripción del Proyecto 4 | 5 | Este proyecto es el código fuente del sitio web oficial de **miduConf**, una conferencia de programación y desarrollo web en español que se celebrará el **12 de septiembre de 2024**. El sitio web se desarrolla utilizando Next.js y tiene como objetivo informar a los asistentes y a la comunidad en general sobre los detalles de la conferencia, incluidos los oradores, el horario, los regalos y sorteos, y cómo registrarse para el evento. 6 | 7 | ## Prerrequisitos 8 | 9 | - Node.js >= v18.17.0 10 | - npm 11 | 12 | ## Instalación y Configuración 13 | 14 | 1. Clona el repositorio. 15 | 2. Ejecuta `npm install --legacy-peer-deps` para instalar las dependencias. 16 | 3. Ejecuta `npm run dev` para iniciar el servidor de desarrollo. 17 | 18 | ## Cómo Probar el Proyecto 19 | 20 | Para probar el proyecto, sigue estos pasos: 21 | 22 | 1. Ejecuta `npm run test` para ejecutar las pruebas unitarias (si las hay). 23 | 2. Abre el navegador y navega a `http://localhost:3000`. 24 | -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/bun.lockb -------------------------------------------------------------------------------- /jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "paths": { 4 | "@/*": ["./src/*"] 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /next.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('next').NextConfig} */ 2 | const nextConfig = { 3 | reactStrictMode: true, 4 | transpilePackages: ['geist'], 5 | experimental: { 6 | esmExternals: false // THIS IS THE FLAG THAT MATTERS 7 | }, 8 | async rewrites() { 9 | return [ 10 | { 11 | source: '/ticket/:username', 12 | destination: '/?ticket=:username' 13 | }, 14 | { 15 | source: '/ticket/:username/:hash', 16 | destination: '/?ticket=:username' 17 | } 18 | ] 19 | } 20 | } 21 | 22 | module.exports = nextConfig 23 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "dependencies": { 3 | "@floating-ui/react": "^0.26.22", 4 | "@midudev/tailwind-animations": "0.0.7", 5 | "@supabase/auth-helpers-nextjs": "0.10.0", 6 | "@supabase/auth-helpers-react": "0.5.0", 7 | "@supabase/supabase-js": "2.45.0", 8 | "@tabler/icons-react": "3.11.0", 9 | "atropos": "2.0.2", 10 | "autoprefixer": "10.4.19", 11 | "canvas-confetti": "^1.9.3", 12 | "eslint": "9.8.0", 13 | "eslint-config-next": "14.2.5", 14 | "flowbite": "2.4.1", 15 | "geist": "1.3.1", 16 | "html-to-image": "1.11.11", 17 | "next": "14.2.5", 18 | "postcss": "8.4.40", 19 | "react": "18.3.1", 20 | "react-dom": "18.3.1", 21 | "zustand": "4.5.4" 22 | }, 23 | "devDependencies": { 24 | "@types/react": "18.3.3", 25 | "@typescript-eslint/eslint-plugin": "8.0.0", 26 | "clsx": "2.1.1", 27 | "eslint-config-prettier": "9.1.0", 28 | "standard": "17.1.0", 29 | "tailwind-merge": "2.4.0", 30 | "tailwindcss": "3.4.7", 31 | "tailwindcss-textshadow": "2.1.3", 32 | "typescript": "5.5.4" 33 | }, 34 | "name": "miduconf.com", 35 | "private": true, 36 | "scripts": { 37 | "build": "next build", 38 | "dev": "next dev", 39 | "lint": "next lint", 40 | "lint:eslint": "npm run lint", 41 | "start": "next start" 42 | }, 43 | "version": "0.1.0" 44 | } 45 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/favicon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /public/gifts/Hack4U-mini.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/Hack4U-mini.webp -------------------------------------------------------------------------------- /public/gifts/Hack4U.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/Hack4U.webp -------------------------------------------------------------------------------- /public/gifts/codely-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/codely-small.webp -------------------------------------------------------------------------------- /public/gifts/codely.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/codely.webp -------------------------------------------------------------------------------- /public/gifts/codigo-sostenible-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/codigo-sostenible-small.webp -------------------------------------------------------------------------------- /public/gifts/codigo-sostenible.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/codigo-sostenible.webp -------------------------------------------------------------------------------- /public/gifts/cupon-github-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/cupon-github-small.webp -------------------------------------------------------------------------------- /public/gifts/cupon-github.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/cupon-github.webp -------------------------------------------------------------------------------- /public/gifts/el-programador-pragmatico.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/el-programador-pragmatico.webp -------------------------------------------------------------------------------- /public/gifts/fazt-mini.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/fazt-mini.webp -------------------------------------------------------------------------------- /public/gifts/fazt.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/fazt.webp -------------------------------------------------------------------------------- /public/gifts/keep-coding-clock.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/keep-coding-clock.webp -------------------------------------------------------------------------------- /public/gifts/keep-coding-job.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/keep-coding-job.webp -------------------------------------------------------------------------------- /public/gifts/keep-coding-mini.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/keep-coding-mini.webp -------------------------------------------------------------------------------- /public/gifts/keep-coding-module.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/keep-coding-module.webp -------------------------------------------------------------------------------- /public/gifts/keychron-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/keychron-small.webp -------------------------------------------------------------------------------- /public/gifts/keychron.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/keychron.webp -------------------------------------------------------------------------------- /public/gifts/lemon-code-devops.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/lemon-code-devops.webp -------------------------------------------------------------------------------- /public/gifts/lemon-code-frontend.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/lemon-code-frontend.webp -------------------------------------------------------------------------------- /public/gifts/lemon-code-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/lemon-code-small.webp -------------------------------------------------------------------------------- /public/gifts/mac-mini-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/mac-mini-small.webp -------------------------------------------------------------------------------- /public/gifts/mac-mini.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/mac-mini.webp -------------------------------------------------------------------------------- /public/gifts/platzi-planes-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/platzi-planes-small.webp -------------------------------------------------------------------------------- /public/gifts/platzi-planes.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/platzi-planes.webp -------------------------------------------------------------------------------- /public/gifts/scrimba-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/scrimba-small.webp -------------------------------------------------------------------------------- /public/gifts/scrimba.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/scrimba.webp -------------------------------------------------------------------------------- /public/gifts/supermaven-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/supermaven-small.webp -------------------------------------------------------------------------------- /public/gifts/supermaven.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/supermaven.webp -------------------------------------------------------------------------------- /public/gifts/this-is-fine-small.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/this-is-fine-small.webp -------------------------------------------------------------------------------- /public/gifts/this-is-fine.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/gifts/this-is-fine.webp -------------------------------------------------------------------------------- /public/img/gifts/amautas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/gifts/amautas.png -------------------------------------------------------------------------------- /public/img/gifts/codely.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/gifts/codely.png -------------------------------------------------------------------------------- /public/img/gifts/dondominio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/gifts/dondominio.png -------------------------------------------------------------------------------- /public/img/gifts/elsa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/gifts/elsa.png -------------------------------------------------------------------------------- /public/img/gifts/javier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/gifts/javier.png -------------------------------------------------------------------------------- /public/img/gifts/libro-git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/gifts/libro-git.png -------------------------------------------------------------------------------- /public/img/speakers/anon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/anon.jpg -------------------------------------------------------------------------------- /public/img/speakers/carmen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/carmen.jpg -------------------------------------------------------------------------------- /public/img/speakers/cloudinary.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/cloudinary.jpg -------------------------------------------------------------------------------- /public/img/speakers/codely-agenda.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/codely-agenda.jpg -------------------------------------------------------------------------------- /public/img/speakers/david.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/david.jpg -------------------------------------------------------------------------------- /public/img/speakers/dawntraoz.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/dawntraoz.jpg -------------------------------------------------------------------------------- /public/img/speakers/debbie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/debbie.jpg -------------------------------------------------------------------------------- /public/img/speakers/dotcsv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/dotcsv.jpg -------------------------------------------------------------------------------- /public/img/speakers/east.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/east.jpg -------------------------------------------------------------------------------- /public/img/speakers/fazt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/fazt.jpg -------------------------------------------------------------------------------- /public/img/speakers/fernando-rodriguez.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/fernando-rodriguez.jpg -------------------------------------------------------------------------------- /public/img/speakers/fernando.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/fernando.jpg -------------------------------------------------------------------------------- /public/img/speakers/freddyVega.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/freddyVega.jpg -------------------------------------------------------------------------------- /public/img/speakers/frr149.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/frr149.jpg -------------------------------------------------------------------------------- /public/img/speakers/grimerloner.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/grimerloner.jpg -------------------------------------------------------------------------------- /public/img/speakers/javi.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/javi.jpg -------------------------------------------------------------------------------- /public/img/speakers/javier.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/javier.jpg -------------------------------------------------------------------------------- /public/img/speakers/malt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/malt.jpg -------------------------------------------------------------------------------- /public/img/speakers/midudev.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/midudev.jpg -------------------------------------------------------------------------------- /public/img/speakers/nerea.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/nerea.jpg -------------------------------------------------------------------------------- /public/img/speakers/pablokbs.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/pablokbs.jpg -------------------------------------------------------------------------------- /public/img/speakers/patoDev.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/patoDev.jpg -------------------------------------------------------------------------------- /public/img/speakers/rafa.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/rafa.jpg -------------------------------------------------------------------------------- /public/img/speakers/rauchg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/rauchg.jpg -------------------------------------------------------------------------------- /public/img/speakers/s4vitar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/s4vitar.jpg -------------------------------------------------------------------------------- /public/img/speakers/sorteo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/sorteo.png -------------------------------------------------------------------------------- /public/img/speakers/teffcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/speakers/teffcode.jpg -------------------------------------------------------------------------------- /public/img/sponsors/keepcoding.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/sponsors/keepcoding.webp -------------------------------------------------------------------------------- /public/img/tickets-effect/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/tickets-effect/bg.png -------------------------------------------------------------------------------- /public/img/tickets-effect/gradient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/tickets-effect/gradient.png -------------------------------------------------------------------------------- /public/img/tickets-effect/noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/img/tickets-effect/noise.png -------------------------------------------------------------------------------- /public/og-image.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/og-image.jpg -------------------------------------------------------------------------------- /public/regalo-libro-git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/regalo-libro-git.png -------------------------------------------------------------------------------- /public/stickers/cloudinary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/cloudinary.png -------------------------------------------------------------------------------- /public/stickers/glasses.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/glasses.png -------------------------------------------------------------------------------- /public/stickers/keep-coding.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/keep-coding.png -------------------------------------------------------------------------------- /public/stickers/libro-git.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/libro-git.png -------------------------------------------------------------------------------- /public/stickers/malt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/stickers/mario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/mario.png -------------------------------------------------------------------------------- /public/stickers/midu-angry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-angry.png -------------------------------------------------------------------------------- /public/stickers/midu-boss.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-boss.png -------------------------------------------------------------------------------- /public/stickers/midu-f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-f.png -------------------------------------------------------------------------------- /public/stickers/midu-hype.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-hype.png -------------------------------------------------------------------------------- /public/stickers/midu-love.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-love.png -------------------------------------------------------------------------------- /public/stickers/midu-lul.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-lul.png -------------------------------------------------------------------------------- /public/stickers/midu-not-like-this.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-not-like-this.png -------------------------------------------------------------------------------- /public/stickers/midu-snif.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-snif.png -------------------------------------------------------------------------------- /public/stickers/midu-wink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-wink.png -------------------------------------------------------------------------------- /public/stickers/midu-wow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-wow.png -------------------------------------------------------------------------------- /public/stickers/midu-wtf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu-wtf.png -------------------------------------------------------------------------------- /public/stickers/midu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/midu.png -------------------------------------------------------------------------------- /public/stickers/start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/start.png -------------------------------------------------------------------------------- /public/stickers/this-is-fine-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/this-is-fine-normal.png -------------------------------------------------------------------------------- /public/stickers/this-is-fine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/this-is-fine.png -------------------------------------------------------------------------------- /public/stickers/vercel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/vercel.png -------------------------------------------------------------------------------- /public/stickers/vercel.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /public/stickers/yeah.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/midudev/miduconf-website/90e5a674c7fc649e80c2b3cb78a00f6614c56a59/public/stickers/yeah.png -------------------------------------------------------------------------------- /src/components/Avatar.jsx: -------------------------------------------------------------------------------- 1 | import { useId } from 'react' 2 | import { DEVS } from './SelectFighter' 3 | 4 | export function Avatar ({ team }) { 5 | const id = useId() 6 | 7 | const dev = DEVS[team].find((dev) => dev.id === team) 8 | const src = `img/capitanes-tr/${dev.img}` 9 | const alt = `${dev.name} avatar` 10 | 11 | return ( 12 |
13 | 21 | {alt} 22 |
23 | ) 24 | } 25 | -------------------------------------------------------------------------------- /src/components/Background.jsx: -------------------------------------------------------------------------------- 1 | export const Background = () => ( 2 | <> 3 |
4 | 15 | 16 | ) 17 | -------------------------------------------------------------------------------- /src/components/Button.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from '@/lib/utils' 2 | import { ComponentPropsWithoutRef } from 'react' 3 | 4 | type Props = { 5 | as?: C 6 | children: React.ReactNode 7 | className?: string 8 | variant?: 'primary' | 'secondary' 9 | disabled?: boolean 10 | } & ComponentPropsWithoutRef 11 | 12 | export const Button = ({ 13 | as, 14 | children, 15 | variant = 'primary', 16 | disabled, 17 | ...restOfProps 18 | }: Props) => { 19 | const As = as ?? 'button' 20 | 21 | const variantStyle = { 22 | primary: 'bg-button text-white shadow-button hover:shadow-button-hover hover:scale-110 ', 23 | secondary: 24 | 'border border-midu-primary/40 bg-[#121226] hover:bg-[#1A1A2E] hover:border-midu-primary/60' 25 | } 26 | 27 | return ( 28 | 38 | {children} 39 | 40 | ) 41 | } 42 | -------------------------------------------------------------------------------- /src/components/Card.jsx: -------------------------------------------------------------------------------- 1 | const background = 2 | 'linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.0) 0%, rgba(143, 143, 143, 0.67) 50%, rgba(0, 0, 0, 0) 100%)' 3 | 4 | export function Card() { 5 | return ( 6 |
7 |