Go to file
Michael Mainguy f9abfbc8ff Add comprehensive column visibility controls to HTTP requests table
- Create ColumnSettings component with collapsible panel and organized column groups
- Implement localStorage persistence for column visibility preferences across sessions
- Add default visible columns: expand, url, start time, total response time, data rate, content-length
- Group columns by category: Basic, Connection, Timing, Performance, Advanced
- Provide bulk actions: Show All, Hide All, Reset to Defaults
- Add conditional rendering for all table headers and cells based on visibility state
- Update RequestRowDetails to dynamically calculate colSpan based on visible columns
- Create responsive grid layout for column settings with hover effects
- Use CSS modules with App.css variables for consistent theming
- Implement type-safe column management with proper TypeScript interfaces

Features:
- 🎛️ Gear icon toggle button for easy access to column settings
- 📁 Logical grouping of related columns for better organization
- 💾 Automatic persistence of user preferences in localStorage
- 🎯 Clean default view showing only essential columns
- 🔧 Flexible customization allowing users to show exactly what they need
- 📱 Responsive design that adapts to different screen sizes

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 09:46:14 -05:00
public Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
src Add comprehensive column visibility controls to HTTP requests table 2025-08-12 09:46:14 -05:00
types Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
.gitignore Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
analysis.css Refactored code to use css and be more modular. 2025-08-08 13:21:17 -05:00
CLAUDE.md Refactored code to use css and be more modular. 2025-08-08 13:21:17 -05:00
eslint.config.js Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
index.html Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
package-lock.json Implement comprehensive 3D timeline visualization with enhanced features 2025-08-07 09:21:45 -05:00
package.json Implement comprehensive 3D timeline visualization with enhanced features 2025-08-07 09:21:45 -05:00
README.md Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
tsconfig.app.json Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
tsconfig.json Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
tsconfig.node.json Initial commit: Performance Trace Analyzer with comprehensive features 2025-08-06 19:27:12 -05:00
vite.config.ts Fix TypeScript build errors and improve code quality 2025-08-11 11:29:10 -05: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:

Expanding the ESLint configuration

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

export default tseslint.config([
  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 tseslint.config([
  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...
    },
  },
])