├── .dockerignore ├── .env.example ├── .eslintrc.js ├── .github └── workflows │ └── deploy.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── README.md ├── app ├── components │ ├── Adoptable.tsx │ ├── AdoptableList.tsx │ ├── Card.tsx │ ├── Cart.tsx │ ├── CartPreview.tsx │ ├── CatJar.tsx │ ├── CatWool.tsx │ ├── CircledText.tsx │ ├── CloudinaryLogo.tsx │ ├── ConfirmedPayment.tsx │ ├── EmphasizeText.tsx │ ├── FamilyAdopt.tsx │ ├── Footer.tsx │ ├── Groceries.tsx │ ├── Header.tsx │ ├── HeaderLogo.tsx │ ├── Hero.tsx │ ├── HighlightText.tsx │ ├── ImageGallery.tsx │ ├── ItemOverlay.tsx │ ├── Logo.tsx │ ├── NavActions.tsx │ ├── NavTabs.tsx │ ├── Navbar.tsx │ ├── Product.tsx │ ├── Productlist.tsx │ ├── Rating.tsx │ ├── Search.tsx │ ├── VideoCarousel.tsx │ ├── VideoOverlay.tsx │ ├── VideoPlayer.tsx │ └── WhatWeDo.tsx ├── db.server.ts ├── entry.client.tsx ├── entry.server.tsx ├── lib │ ├── cartActions.tsx │ ├── currencyFormatter.tsx │ └── paymentIntent.tsx ├── models │ ├── adoptable.server.ts │ ├── cart.server.ts │ ├── product.server.ts │ ├── user.server.ts │ └── video.server.ts ├── root.tsx ├── routes │ ├── adopt │ │ └── $adoptId.tsx │ ├── adoptable.tsx │ ├── catalog.tsx │ ├── checkout.tsx │ ├── checkout │ │ ├── index.tsx │ │ └── success.tsx │ ├── contact.tsx │ ├── index.tsx │ ├── join.tsx │ ├── login.tsx │ ├── logout.tsx │ ├── posts.tsx │ ├── posts │ │ ├── post1.mdx │ │ ├── post2.mdx │ │ └── post3.mdx │ ├── product.tsx │ ├── product │ │ └── $productId.tsx │ └── tips.tsx ├── session.server.ts ├── styles │ └── mdx.css ├── utils.test.ts └── utils.ts ├── cypress.config.ts ├── cypress ├── .eslintrc.js ├── e2e │ └── smoke.cy.ts ├── fixtures │ └── example.json ├── support │ ├── commands.ts │ ├── create-user.ts │ ├── delete-user.ts │ └── e2e.ts └── tsconfig.json ├── docker-compose.yml ├── globals.d.ts ├── mocks ├── README.md └── index.js ├── package.json ├── prettier.config.js ├── prisma ├── createAdoptables.ts ├── createProducts.ts ├── createVideos.ts ├── migrations │ ├── 20230227200137_init │ │ └── migration.sql │ ├── 20230304021855_migration │ │ └── migration.sql │ └── migration_lock.toml ├── schema.prisma └── seed.ts ├── public └── favicon.ico ├── remix.config.js ├── remix.env.d.ts ├── tailwind.config.js ├── test └── setup-test-env.ts ├── tsconfig.json └── vitest.config.ts /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/.dockerignore -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/.env.example -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/.eslintrc.js -------------------------------------------------------------------------------- /.github/workflows/deploy.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/.github/workflows/deploy.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/.gitignore -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/.prettierignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/README.md -------------------------------------------------------------------------------- /app/components/Adoptable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Adoptable.tsx -------------------------------------------------------------------------------- /app/components/AdoptableList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/AdoptableList.tsx -------------------------------------------------------------------------------- /app/components/Card.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Card.tsx -------------------------------------------------------------------------------- /app/components/Cart.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Cart.tsx -------------------------------------------------------------------------------- /app/components/CartPreview.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/CartPreview.tsx -------------------------------------------------------------------------------- /app/components/CatJar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/CatJar.tsx -------------------------------------------------------------------------------- /app/components/CatWool.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/CatWool.tsx -------------------------------------------------------------------------------- /app/components/CircledText.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/CircledText.tsx -------------------------------------------------------------------------------- /app/components/CloudinaryLogo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/CloudinaryLogo.tsx -------------------------------------------------------------------------------- /app/components/ConfirmedPayment.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/ConfirmedPayment.tsx -------------------------------------------------------------------------------- /app/components/EmphasizeText.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/EmphasizeText.tsx -------------------------------------------------------------------------------- /app/components/FamilyAdopt.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/FamilyAdopt.tsx -------------------------------------------------------------------------------- /app/components/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Footer.tsx -------------------------------------------------------------------------------- /app/components/Groceries.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Groceries.tsx -------------------------------------------------------------------------------- /app/components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Header.tsx -------------------------------------------------------------------------------- /app/components/HeaderLogo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/HeaderLogo.tsx -------------------------------------------------------------------------------- /app/components/Hero.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Hero.tsx -------------------------------------------------------------------------------- /app/components/HighlightText.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/HighlightText.tsx -------------------------------------------------------------------------------- /app/components/ImageGallery.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/ImageGallery.tsx -------------------------------------------------------------------------------- /app/components/ItemOverlay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/ItemOverlay.tsx -------------------------------------------------------------------------------- /app/components/Logo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Logo.tsx -------------------------------------------------------------------------------- /app/components/NavActions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/NavActions.tsx -------------------------------------------------------------------------------- /app/components/NavTabs.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/NavTabs.tsx -------------------------------------------------------------------------------- /app/components/Navbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Navbar.tsx -------------------------------------------------------------------------------- /app/components/Product.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Product.tsx -------------------------------------------------------------------------------- /app/components/Productlist.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Productlist.tsx -------------------------------------------------------------------------------- /app/components/Rating.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Rating.tsx -------------------------------------------------------------------------------- /app/components/Search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/Search.tsx -------------------------------------------------------------------------------- /app/components/VideoCarousel.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/VideoCarousel.tsx -------------------------------------------------------------------------------- /app/components/VideoOverlay.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/VideoOverlay.tsx -------------------------------------------------------------------------------- /app/components/VideoPlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/VideoPlayer.tsx -------------------------------------------------------------------------------- /app/components/WhatWeDo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/components/WhatWeDo.tsx -------------------------------------------------------------------------------- /app/db.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/db.server.ts -------------------------------------------------------------------------------- /app/entry.client.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/entry.client.tsx -------------------------------------------------------------------------------- /app/entry.server.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/entry.server.tsx -------------------------------------------------------------------------------- /app/lib/cartActions.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/lib/cartActions.tsx -------------------------------------------------------------------------------- /app/lib/currencyFormatter.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/lib/currencyFormatter.tsx -------------------------------------------------------------------------------- /app/lib/paymentIntent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/lib/paymentIntent.tsx -------------------------------------------------------------------------------- /app/models/adoptable.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/models/adoptable.server.ts -------------------------------------------------------------------------------- /app/models/cart.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/models/cart.server.ts -------------------------------------------------------------------------------- /app/models/product.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/models/product.server.ts -------------------------------------------------------------------------------- /app/models/user.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/models/user.server.ts -------------------------------------------------------------------------------- /app/models/video.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/models/video.server.ts -------------------------------------------------------------------------------- /app/root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/root.tsx -------------------------------------------------------------------------------- /app/routes/adopt/$adoptId.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/adopt/$adoptId.tsx -------------------------------------------------------------------------------- /app/routes/adoptable.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/adoptable.tsx -------------------------------------------------------------------------------- /app/routes/catalog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/catalog.tsx -------------------------------------------------------------------------------- /app/routes/checkout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/checkout.tsx -------------------------------------------------------------------------------- /app/routes/checkout/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/checkout/index.tsx -------------------------------------------------------------------------------- /app/routes/checkout/success.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/checkout/success.tsx -------------------------------------------------------------------------------- /app/routes/contact.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/contact.tsx -------------------------------------------------------------------------------- /app/routes/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/index.tsx -------------------------------------------------------------------------------- /app/routes/join.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/join.tsx -------------------------------------------------------------------------------- /app/routes/login.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/login.tsx -------------------------------------------------------------------------------- /app/routes/logout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/logout.tsx -------------------------------------------------------------------------------- /app/routes/posts.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/posts.tsx -------------------------------------------------------------------------------- /app/routes/posts/post1.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/posts/post1.mdx -------------------------------------------------------------------------------- /app/routes/posts/post2.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/posts/post2.mdx -------------------------------------------------------------------------------- /app/routes/posts/post3.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/posts/post3.mdx -------------------------------------------------------------------------------- /app/routes/product.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/product.tsx -------------------------------------------------------------------------------- /app/routes/product/$productId.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/product/$productId.tsx -------------------------------------------------------------------------------- /app/routes/tips.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/routes/tips.tsx -------------------------------------------------------------------------------- /app/session.server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/session.server.ts -------------------------------------------------------------------------------- /app/styles/mdx.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/styles/mdx.css -------------------------------------------------------------------------------- /app/utils.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/utils.test.ts -------------------------------------------------------------------------------- /app/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/app/utils.ts -------------------------------------------------------------------------------- /cypress.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress.config.ts -------------------------------------------------------------------------------- /cypress/.eslintrc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/.eslintrc.js -------------------------------------------------------------------------------- /cypress/e2e/smoke.cy.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/e2e/smoke.cy.ts -------------------------------------------------------------------------------- /cypress/fixtures/example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/fixtures/example.json -------------------------------------------------------------------------------- /cypress/support/commands.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/support/commands.ts -------------------------------------------------------------------------------- /cypress/support/create-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/support/create-user.ts -------------------------------------------------------------------------------- /cypress/support/delete-user.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/support/delete-user.ts -------------------------------------------------------------------------------- /cypress/support/e2e.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/support/e2e.ts -------------------------------------------------------------------------------- /cypress/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/cypress/tsconfig.json -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /globals.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/globals.d.ts -------------------------------------------------------------------------------- /mocks/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/mocks/README.md -------------------------------------------------------------------------------- /mocks/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/mocks/index.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/package.json -------------------------------------------------------------------------------- /prettier.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prettier.config.js -------------------------------------------------------------------------------- /prisma/createAdoptables.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/createAdoptables.ts -------------------------------------------------------------------------------- /prisma/createProducts.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/createProducts.ts -------------------------------------------------------------------------------- /prisma/createVideos.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/createVideos.ts -------------------------------------------------------------------------------- /prisma/migrations/20230227200137_init/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/migrations/20230227200137_init/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/20230304021855_migration/migration.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/migrations/20230304021855_migration/migration.sql -------------------------------------------------------------------------------- /prisma/migrations/migration_lock.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/migrations/migration_lock.toml -------------------------------------------------------------------------------- /prisma/schema.prisma: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/schema.prisma -------------------------------------------------------------------------------- /prisma/seed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/prisma/seed.ts -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /remix.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/remix.config.js -------------------------------------------------------------------------------- /remix.env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/remix.env.d.ts -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/tailwind.config.js -------------------------------------------------------------------------------- /test/setup-test-env.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/test/setup-test-env.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ivsantos/purrfectly/HEAD/vitest.config.ts --------------------------------------------------------------------------------