Go to file
MehrdadAdabi cacec43cbc feat(dialog): Prevent dialog from closing on overlay click
The `onClick` handler on the full-screen dialog overlay has been commented out.
This change prevents the dialog from closing automatically when a user clicks
anywhere outside the main dialog content, but within the overlay area.
This allows for dialogs that require explicit user action to dismiss,
providing more control over dialog persistence for specific use cases.
2025-11-26 19:47:41 +03:30
public feat: enhance dashboard layout with user profile header and mobile navbar 2025-11-24 16:58:35 +03:30
src feat(dialog): Prevent dialog from closing on overlay click 2025-11-26 19:47:41 +03:30
.env feat: Implement searchable dropdown component and refactor campaign page 2025-11-25 13:42:19 +03:30
.gitignore init 2025-11-22 16:42:06 +03:30
eslint.config.js init 2025-11-22 16:42:06 +03:30
index.html feat: Implement dashboard profile card and campaigns management 2025-11-23 18:10:30 +03:30
package-lock.json feat: Implement dashboard profile card and campaigns management 2025-11-23 18:10:30 +03:30
package.json refactor: Simplify validation logic and adjust campaign steps service parameters 2025-11-26 18:45:57 +03:30
README.md init 2025-11-22 16:42:06 +03:30
tsconfig.app.json feat: Introduce new dynamic field properties and refine form handling 2025-11-26 18:15:48 +03:30
tsconfig.json init 2025-11-22 16:42:06 +03:30
tsconfig.node.json feat: Introduce new dynamic field properties and refine form handling 2025-11-26 18:15:48 +03:30
vite.config.ts init 2025-11-22 16:42:06 +03:30

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 enabled on this template. See this documentation for more information.

Note: This will impact Vite dev & build performances.

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...
    },
  },
])