Commit Graph

8 Commits

Author SHA1 Message Date
Johannes
e37bc9e381 refactor: Extract utilities and fix Ant Design message context warnings
- Extract ad utilities to separate files for better code organization
  - Create adUtils.js with generateAdId, copy/refresh handlers
  - Create zoomUtils.js with useZoomState custom hook
  - Create tabUtils.js with buildTabsFromCategories function
- Replace static message API with App.useApp() hook to fix context warnings
- Implement factory pattern for utility functions with callback support
- Improve code separation, testability and maintainability
- Remove direct antd context dependencies from utility functions

Components now follow single responsibility principle with clean separation
between business logic and UI concerns.
2025-09-14 16:08:56 +02:00
Johannes
d465fbeb94 feat: Add conditional iframe refresh button for animated HTML ads
- Add ReloadOutlined icon import for refresh functionality
- Implement handleRefreshAd() to reload iframes with cache-busting timestamps
- Add refresh button next to share button with consistent styling
- Show refresh button only for ads containing HTML files (iframe content)
- Add user feedback messages for successful refresh operations
- Prevent unnecessary refresh buttons on image-only or video-only ads

HTML ads with animations can now be restarted without full page reload.
Button appears conditionally based on file type detection.
2025-09-14 15:54:39 +02:00
Johannes
71b4d3f845 feat: Add anchor link sharing for ads with scroll offset
- Add generateAdId() function to create unique hashes from ad names and categories
- Implement handleCopyLink() to copy shareable links with anchor fragments
- Add scroll-to-anchor functionality with 20px offset to avoid navigation overlap
- Add visual highlight animation when navigating to shared links
- Import message component for user feedback on successful copy operations

Each ad now gets a unique ID and share button that copies a direct link.
Shared links automatically scroll to the target ad with proper offset.
2025-09-14 15:40:28 +02:00
Johannes
233a952c04 fix: make mobile header truly fixed to prevent horizontal scrolling
- Change mobile header from sticky to fixed positioning
- Add left, right, and width properties for full viewport coverage
- Prevent header from scrolling horizontally with wide content
- Add top padding to mobile content to compensate for fixed header
- Ensure consistent behavior between mobile and desktop navigation
- Fix content being hidden behind fixed header on mobile devices
2025-09-12 18:16:56 +02:00
Johannes
8ab35c79af feat: implement mobile-responsive tab navigation with select dropdown
- Replace tabs with select dropdown on mobile devices for better UX
- Add responsive Layout.Header for mobile with proper styling
- Implement hybrid CSS approach: static styles in CSS, dynamic in inline
- Add mobile-specific select styling with transparent background
- Remove unused CaretDownOutlined import, use EllipsisOutlined for dropdown
- Optimize mobile header layout with compact zoom controls
- Separate mobile and desktop rendering logic for better maintainability
- Add CSS class for mobile project header with proper positioning
2025-09-12 18:07:53 +02:00
Johannes
1390e35efe feat: implement tabs overflow with more functionality and UI improvements
- Add tabs overflow handling with EllipsisOutlined more button
- Simplify tabs styling by removing dynamic CSS injection
- Add consistent background and color styling for tab navigation
- Improve zoom controls with circular buttons and proper icons
- Style more button and disabled states for better visibility
- Clean up unused CSS rules and improve maintainability
- Fix tab bar extra content layout using div instead of span
2025-09-12 17:21:22 +02:00
Johannes
501dc92119 feat: UI improvements and responsive design enhancements
- Fix dark mode overscroll areas with proper background colors
- Add mobile responsiveness for project logos in header
- Improve viewport handling with interactive-widget support
- Update app title to proper case 'AdsPreview'
- Add mobile-friendly padding adjustments for tabs and headers
- Update .gitignore to exclude .code-workspace files
- Enhance CSS with anticon color overrides and mobile breakpoints
2025-09-09 18:45:39 +02:00
Johannes
b4758b4f26 security: clean repository without media files and sensitive data
- Removed area/ directory with 816MB of media files
- Removed sensitive FTP credentials from Git history
- Implemented .env.upload system for secure deployments
- Added comprehensive .gitignore for future protection

This commit represents a clean slate with all sensitive data removed.
2025-09-07 11:05:29 +02:00