No description
Find a file
Vadym Samoilenko 6e932d76e4 Add multi-language support (EN/UK) across entire site
Custom i18n system with typed translation dictionaries (~570 keys),
LanguageProvider context, and useTranslation hook. All 31 components
and pages wired with t() calls. Chatbot backend passes language hint
to Claude for Ukrainian responses. Language preference persists via
localStorage. SEO meta tags and html lang attribute update dynamically.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:32:04 +00:00
.github/workflows Fix CI/CD: use printf for SSH key to preserve formatting 2026-03-08 13:51:00 +00:00
assets Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
chatbot-api Add multi-language support (EN/UK) across entire site 2026-03-09 13:32:04 +00:00
email-api Add markdown rendering in chat widget + opportunities for new leads 2026-03-08 21:30:49 +00:00
public Add founder photo to About page 2026-03-08 15:33:09 +00:00
scripts Add reviews.json to public/ so it persists across deploys 2026-03-08 14:46:10 +00:00
server Add Twenty CRM integration + lead enrichment + pulsating chat bubble 2026-03-08 18:13:26 +00:00
specs/001-multi-language Add multi-language support (EN/UK) across entire site 2026-03-09 13:32:04 +00:00
src Add multi-language support (EN/UK) across entire site 2026-03-09 13:32:04 +00:00
.dockerignore Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
.gitignore Add AI chatbot: FastAPI backend + React chat widget 2026-03-08 17:14:07 +00:00
CLAUDE.md Add multi-language support (EN/UK) across entire site 2026-03-09 13:32:04 +00:00
docker-compose.yml Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
Dockerfile Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
eslint.config.js Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
index.html Add SEO, structured data, AI indexing, and Google Reviews integration 2026-03-08 14:26:05 +00:00
package-lock.json Add SEO, structured data, AI indexing, and Google Reviews integration 2026-03-08 14:26:05 +00:00
package.json Add SEO, structured data, AI indexing, and Google Reviews integration 2026-03-08 14:26:05 +00:00
README.md Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
tsconfig.app.json Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
tsconfig.json Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
tsconfig.node.json Initial commit: Aimpress website 2026-03-08 13:47:37 +00:00
vite.config.ts Initial commit: Aimpress website 2026-03-08 13:47:37 +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...
    },
  },
])