Commit Graph

25 Commits

Author SHA1 Message Date
dwindown
57655410ab feat: optimize analytics and mobile UI improvements
Analytics & Consent Optimization:
- Auto-grant all consent for non-EEA users (maximize analytics data)
- EEA users still see consent banner (GDPR compliant)
- Removed debugging console logs from consent system
- Analytics now works in both development and production

Mobile UI Improvements:
- Fixed feature list layout on homepage (responsive flex layout)
- Improved consent banner button styling (better padding, full-width on mobile)
- Fixed mobile dropdown menu positioning (now sticky to header with overlay)
- Enhanced mobile navigation UX with proper z-index and backdrop

Legal Compliance:
- EEA users: Explicit consent required (GDPR compliant)
- Non-EEA users: Automatic tracking (legal, maximizes data collection)
- Maintains privacy-first approach while optimizing analytics coverage
2025-09-24 01:15:20 +07:00
dwindown
2e67a2bca2 feat: comprehensive SEO optimization and GDPR compliance
- Added Terms of Service and Privacy Policy pages with contact info
- Implemented Google Analytics with Consent Mode v2 for GDPR compliance
- Created sitemap.xml and robots.txt for search engine optimization
- Added dynamic meta tags, Open Graph, and structured data (JSON-LD)
- Implemented GDPR consent banner with TCF 2.2 compatibility
- Enhanced sidebar with category-colored hover states and proper active/inactive styling
- Fixed all ESLint warnings for clean deployment
- Added comprehensive SEO utilities and privacy-first analytics tracking

Ready for production deployment with full legal compliance and SEO optimization.
2025-09-24 00:12:28 +07:00
dwindown
dd03a7213f Remove all remaining unused variables and ESLint warnings
- Removed unused functions: handleClearConfirm, handleClearCancel, exportToJson, exportToCsv
- Removed unused variable: allDecimals and its references
- Added ESLint disable comment for error variable (used in UI but not detected by linter)
- Build now compiles successfully with zero warnings or errors
- Ready for CI/CD deployment in Coolify
2025-09-23 15:30:05 +07:00
dwindown
5f6aa2210a Fix ESLint errors for successful deployment
- Fixed mixed operators in contentExtractor.js with proper parentheses
- Removed unused variables and imports across all components
- Fixed useCallback dependencies in ObjectEditor.js
- Corrected == to === comparisons in TableEditor.js
- Fixed undefined variable references
- Wrapped serializeToPhp in useCallback to resolve dependency warning
- Updated table column width styling from min-w to w for consistent layout

Build now passes successfully with only non-blocking warnings remaining.
2025-09-23 14:46:30 +07:00
dwindown
977e784df2 Improve ObjectEditor and Add TableEditor 2025-09-23 14:17:13 +07:00
dwindown
cf750114f7 🐛 Remove all setSelectedRowIndex references
- Remove setSelectedRowIndex calls from handleRowClick
- Remove setSelectedRowIndex calls from handleBack
- Remove setSelectedRowIndex calls from handleBreadcrumbClick
- Build now passes ESLint validation 
2025-09-21 17:29:46 +07:00
dwindown
ece5ffc63f 🐛 Fix ESLint errors in PostmanTable.js
- Remove unused useMemo import
- Remove unused selectedRowIndex state
- Remove unused isComplexValue function
- Fix CI deployment build failure
2025-09-21 17:27:27 +07:00
dwindown
f2163c9814 Enhanced Object Editor with fetch data & mobile improvements
🚀 New Features:
- Fetch Data functionality with URL input and error handling
- Auto-protocol detection (adds https:// if missing)
- Smart content-type handling for various JSON APIs
- Perfect for Telegram Bot API, GitHub API, JSONPlaceholder, etc.

📱 Mobile Responsiveness:
- Desktop: Clean tab interface for view modes
- Mobile: Native select dropdown with emoji icons
- StructuredEditor: Horizontal scroll for wide JSON structures
- Input data field auto-hides on successful fetch

🐛 Critical Fixes:
- Fixed StructuredEditor reinitialization loop issue
- Fixed deep nested property/array item deletion
- Proper array splicing and object property removal
- Internal vs external data change tracking

🎨 UX Improvements:
- Loading states during fetch operations
- Better error messages and validation
- Responsive button layouts and spacing
- Enhanced usage tips with fetch examples
2025-09-21 17:08:20 +07:00
dwindown
e1c74e4a4e 🎯 Complete Postman-Style Table View with Consistent Design
 New Features:
- Authentic Postman table experience with horizontal arrays & vertical objects
- Click rows to drill down with breadcrumb navigation
- Smart data detection (arrays → tables, objects → key-value, primitives → display)
- Clickable breadcrumb buttons for easy navigation
- Back button for seamless exploration

🎨 Consistent Visual Design:
- Unified type notation across Visual Editor, Mindmap, and Table views
- Color-coded pills with icons for all data types:
  🔵 Objects (blue) 🟢 Arrays (green) 🟣 Strings (purple)
  🟠 Numbers (orange) 🟡 Booleans (yellow)  Null (gray)
- Button-style breadcrumb vs circular data pills for clear distinction
- Full dark mode support throughout

🔧 UX Improvements:
- Output formats hidden by default with 'See Data Outputs' toggle
- Left-aligned toggle button matching existing UI
- Preserved PostmanTreeTable as asset for hierarchical view
- Enhanced sample data with realistic array/object structure
- Professional styling matching Postman's interface

🚀 Technical Implementation:
- Dynamic column generation from array data
- Path-based navigation with state management
- Type-aware rendering with consistent icons
- Responsive design for all screen sizes
- Clean component architecture
2025-09-21 16:33:28 +07:00
dwindown
12d45590cd 🐛 Add debug console logs to troubleshoot deployment 2025-09-21 15:09:17 +07:00
dwindown
b8164d617e 🔄 Update Object Editor description to mention mindmap visualization 2025-09-21 14:32:30 +07:00
dwindown
e59ebcb5d3 Fix phpSerialize useCallback dependency 2025-09-21 13:37:04 +07:00
dwindown
5ccb1e2421 Fix ESLint warnings for deployment 2025-09-21 13:29:30 +07:00
dwindown
d3ca407777 Enhanced mindmap visualization with professional UI
🎯 Major Features Added:
- Snap to grid functionality (20x20 grid, default enabled)
- Tidy Up button for instant node reorganization
- Copy node values with one-click clipboard integration
- HTML rendering toggle (render/raw modes for HTML content)
- Accordion-style collapsible panels (Controls & Legend)
- Automatic fitView on fullscreen toggle with smooth animations

🎨 UI/UX Improvements:
- Professional accordion layout with exclusive panel opening
- Consistent button alignment and styling across all controls
- Legend moved to top-right with icon+color indicators
- Vertical button stack: Controls → Legend → Tidy Up → Fullscreen
- Smooth transitions and hover effects throughout
- Clean, uncluttered interface with folded panels by default

🔧 Technical Enhancements:
- Fixed ResizeObserver errors with proper error handling
- Optimized React rendering with memo and useCallback
- Debounced DOM updates to prevent infinite loops
- React Flow instance management for programmatic control
- Removed redundant Raw Input button for cleaner interface

🚀 Performance & Stability:
- Error boundary implementation for ResizeObserver issues
- Proper cleanup of event listeners and timeouts
- Memoized components to prevent unnecessary re-renders
- Smooth 300ms animations for all state transitions
2025-09-21 12:33:39 +07:00
dwindown
82d14622ac Add Text Length Checker tool with comprehensive text analysis features
- Add new TextLengthTool.js with real-time text statistics
- Features: character/word/line/sentence/paragraph counting, reading time estimation
- Add Text Length Checker to navigation (ToolSidebar, Layout, App routing)
- Add Text Length Checker card to homepage
- Fix button styling with flex alignment for better UX
- Route: /text-length with Type icon from lucide-react
2025-09-21 07:09:33 +07:00
dwindown
6f5bdf5f0d Fix PHP serialization and add Long Text type to Visual Editor
- Fixed PHP serialization byte length calculation for escaped strings
- Added Long Text type with textarea for multiline strings in StructuredEditor
- Auto-detects strings with newlines and displays them as textarea
- Improvements apply to both SerializeTool and JsonTool visual editors
- Resolves parse errors with quoted strings and multiline content
2025-08-21 23:45:46 +07:00
dwindown
65cc3bc54d Fix package-lock.json TypeScript version mismatch for deployment 2025-08-21 23:19:22 +07:00
dwindown
22d333d932 fix serialize and json tool to handle boolean type and number type field, and fix the nested rows in array and object type 2025-08-21 23:12:43 +07:00
dwindown
97459ea313 feat: Enhanced developer tools UX with visual improvements
- Fixed StructuredEditor auto-type detection to only trigger on empty fields
- Made array keys readonly with proper index display and full-width value inputs
- Enhanced PHP unserialize to handle empty strings, NULL values, and complex data
- Added JSON to CSV support for single objects as Key-Value format
- Upgraded DiffTool with react-diff-view for professional GitHub-style diffs
- Added theme-synchronized diff colors with proper contrast in light/dark modes
- Implemented red/green text on matching backgrounds for optimal readability
2025-08-07 20:05:11 +07:00
dwindown
bc7e2a8986 Remove abandoned HTML Preview Tool files and fix ESLint warnings
- Removed unused imports (Key, Palette, QrCode) from Layout.js
- Deleted all HTML Preview Tool files from repository
- Removed HtmlPreviewTool import and route from App.js
- Build now completes successfully without ESLint warnings
- Ready for deployment in CI environment
2025-08-04 13:27:19 +07:00
dwindown
45ddccc2f6 Fix missing imports in Layout.js to resolve deployment ESLint errors
- Added Database, LinkIcon, Code2, and ChevronDown imports from lucide-react
- Build now completes successfully without blocking errors
- Ready for deployment
2025-08-04 13:18:39 +07:00
dwindown
76c0a0d014 Remove HTML Preview Tool from navigation and add to gitignore
- Removed HTML Preview Tool from navigation menu in Layout.js
- Cleaned up unused Code import
- Added HTML Preview related files to .gitignore
- Project builds successfully without HTML Preview Tool
2025-08-04 13:04:11 +07:00
dwindown
e1bc8d193d Fix HTML Preview Tool critical bugs: PreviewFrame ref and click handler
- Fixed missing ref={previewFrameRef} on first PreviewFrame component (line 336)
  * This was causing 'PreviewFrame API not available' errors during save operations
  * Both fullscreen and normal mode PreviewFrame instances now have proper ref connection

- Fixed click handler attachment bug in setupInspectModeStyles function
  * Click handler was being skipped when styles were already injected
  * Now always attaches click handler when inspect mode is activated
  * Added proper cleanup to prevent duplicate event listeners

- Fixed variable scope issues in PreviewFrame.fresh.js
  * styleElement and cursorStyleElement now properly scoped for cleanup function
  * Added references to existing elements when styles already present

- Removed unused variables and fixed eslint warnings
  * Removed unused indentSize variable in BeautifierTool.js
  * Removed unused onSave and onDomUpdate props in PreviewFrame.fresh.js
  * Fixed unnecessary escape character in script tag

These fixes restore the Enhanced Option A DOM manipulation architecture:
- Inspector sidebar should now appear when clicking elements in inspect mode
- Save functionality should work without 'PreviewFrame ref not available' errors
- Live editing of element properties should work through PreviewFrame API
- Iframe refresh prevention during inspector operations maintained
2025-08-03 22:04:25 +07:00
dwindown
7afb83753c Add .gitignore and remove node_modules from tracking
- Added comprehensive .gitignore file
- Removed node_modules from git tracking
- Clean repository ready for deployment
2025-08-02 09:32:50 +07:00
dwindown
7f2dd5260f Initial commit: Developer Tools MVP with visual editor
- Complete React app with 7 developer tools
- JSON Tool with visual structured editor
- Serialize Tool with visual structured editor
- URL, Base64, CSV/JSON, Beautifier, Diff tools
- Responsive navigation with dropdown menu
- Dark/light mode toggle
- Mobile-responsive design with sticky header
- All tools working with copy/paste functionality
2025-08-02 09:31:26 +07:00