Frontend Frankie e3775fbd50 Add launch marketing content pages for April 24 beta
Publishes 9 pre-approved content pages for the CartSnitch beta launch:
- about.md — mission, team, product overview
- methodology.md — how we calculate shrinkflation
- how-it-works.md — product explainer for /how-it-works
- stores.md — supported stores (Kroger, Safeway) + coming soon
- privacy.md — data privacy and what we access/store/never do
- press-kit.md — media kit for journalists and partners
- app-store-listing.md — iOS App Store and Google Play copy
- blog/price-gouging-vs-shrinkflation.md — SEO explainer
- social/launch-day-posts.md — Twitter/X and Reddit launch posts

Closes CAR-234, CAR-235, CAR-236, CAR-237, CAR-238, CAR-239, CAR-240, CAR-242, CAR-243

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-24 16:19:22 +00:00

React + TypeScript + Vite

This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.

Currently, two official plugins are available:

React Compiler

The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.

Expanding the ESLint configuration

If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...

      // Remove tseslint.configs.recommended and replace with this
      tseslint.configs.recommendedTypeChecked,
      // Alternatively, use this for stricter rules
      tseslint.configs.strictTypeChecked,
      // Optionally, add this for stylistic rules
      tseslint.configs.stylisticTypeChecked,

      // Other configs...
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])

You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:

// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'

export default defineConfig([
  globalIgnores(['dist']),
  {
    files: ['**/*.{ts,tsx}'],
    extends: [
      // Other configs...
      // Enable lint rules for React
      reactX.configs['recommended-typescript'],
      // Enable lint rules for React DOM
      reactDom.configs.recommended,
    ],
    languageOptions: {
      parserOptions: {
        project: ['./tsconfig.node.json', './tsconfig.app.json'],
        tsconfigRootDir: import.meta.dirname,
      },
      // other options...
    },
  },
])
S
Description
CartSnitch frontend PWA — mobile-first grocery price intelligence
Readme 1 MiB
Languages
TypeScript 95.3%
Shell 2.9%
Dockerfile 0.5%
JavaScript 0.5%
HTML 0.5%
Other 0.3%