Commit Graph

176 Commits

Author SHA1 Message Date
Lucas 'Paperboy' Rose-Winters e342f4d100 fix: improve mobile UX for relationship badge and thought panel
Fixed two mobile UI issues:

1. Relationship badge sizing on mobile:
   - Badge was stretching vertically due to .rpg-editable mobile styles
   - Override padding, min-height, and line-height for badge on mobile
   - Keep badge at compact 18px × 18px to prevent covering avatar

2. Thought panel initial state:
   - Panel was showing by default instead of the icon
   - Fixed initialization: hide panel, show icon
   - Users now click the 💭 icon to open the dialogue as intended

Changes ensure proper mobile experience with appropriately sized UI
elements and correct initial visibility states.
2025-10-16 11:33:59 +11:00
Lucas 'Paperboy' Rose-Winters 60e371c726 fix: reposition 'Show thoughts' button above avatar on mobile
Previously, the thought icon button was positioned to the left of the
character avatar on mobile, causing it to appear partially off-screen
due to lack of left padding around avatars.

Changes:
- Add mobile-specific positioning logic in index.js to detect viewport
  width <= 1000px and calculate centered horizontal position
- Add CSS transform in mobile media query to shift icon 50px right
  and 45px upward from calculated position
- Center thought panel horizontally on mobile when opened
- Add debug logging to verify mobile detection

Result: On mobile, the thought icon now appears above and to the right
of the avatar, fully visible and accessible.
2025-10-16 11:25:38 +11:00
Lucas 'Paperboy' Rose-Winters b73f6d31bc fix: correct mobile FAB chevron direction and reposition to left side
- Fix inverted chevron logic: show left arrow when panel open, right arrow when closed
- Move FAB button from right to left side of screen (12px from left edge)
- Adjust vertical position down by 30px for better placement
- Update console logging to reflect correct icon states
2025-10-16 10:27:17 +11:00
Lucas 'Paperboy' Rose-Winters 9a653a9c7a feat: implement draggable mobile FAB with comprehensive event handling
Add full mouse and touch support for mobile toggle button with drag-to-reposition
functionality and persistent position saving.

Changes:
- Add mobile FAB button with draggable positioning (both mouse and touch)
- Implement time-based drag detection (200ms or 10px threshold)
- Add position persistence in extension settings
- Fix click handler to work on both mobile and desktop viewports
- Add comprehensive diagnostic logging for event debugging
- Update mobile panel to slide from right (matching desktop UX)
- Implement dual-button pattern (FAB + internal collapse toggle)
- Add viewport-constrained dragging with 10px padding
- Prevent click events from firing after drag completion

Mobile UX:
- FAB visible when panel closed, hidden when open
- Internal collapse toggle visible only when panel open
- Touch and mouse drag support with real-time positioning
- Click/tap toggles panel, drag repositions button
- Position saved across sessions

Technical:
- Add mousedown/mousemove/mouseup handlers for desktop drag
- Add touchstart/touchmove/touchend handlers for mobile drag
- Remove broken viewport check that prevented mobile clicks
- Add 'just-dragged' flag to prevent click after drag
- Update .gitignore to exclude CLAUDE.md and .env files
2025-10-16 09:43:23 +11:00
Spicy_Marinara 4145817a93 Fix CSS scaling and layout issues
- Reorganized User Stats: moved portrait and inventory side-by-side, removed header
- Fixed Info Box widgets: made them square-shaped with proper scaling at all zoom levels
- Fixed stat bars: added overflow scrolling to prevent overlapping with mood box
- Added responsive compact layout: text moves inside bars at 120%+ zoom
- Improved spacing: bars now fill available space naturally at 100% zoom
- All elements now scale properly from 100% to 150%+ zoom
2025-10-15 23:17:02 +02:00
Lucas 'Paperboy' Rose-Winters 9ed76a4381 feat: implement comprehensive mobile UX for RPG Companion panel
- Add bottom-sliding drawer system for mobile (≤1000px viewport)
- Implement tabbed navigation with Stats and Info & Characters tabs
- Combine Info Box and Present Characters into single tab with 50/50 split
- Add smooth transitions between desktop and mobile layouts
- Reposition collapse button as close button on mobile
- Implement FAB toggle button for opening mobile drawer

Mobile Stats Tab:
- Use CSS Grid layout for efficient space utilization
- Portrait centered at top, stat bars below
- Inventory and mood on left, attributes list on right
- Convert attributes from 3x2 grid to vertical list

Mobile Info Box:
- Scale dashboard widgets to fill allocated space
- Proportional row heights (60% top row, 40% location)
- Widgets expand to fill available vertical space

Technical improvements:
- Bottom-based drawer positioning instead of transform
- CSS-only transitions, JavaScript only toggles classes
- Instant tab setup on desktop→mobile for smooth transition
- Temporary transition disabling for mobile→desktop snap
- Proper flex hierarchy for space filling
2025-10-16 01:35:15 +11:00
Spicy_Marinara a5d39f4245 Convert CSS to responsive units and fix button scaling
- Convert font-size from px to rem for better accessibility
- Convert padding/margin/gap from px to em for responsive scaling
- Convert width/height/position values to rem
- Convert letter-spacing and transforms to responsive units
- Keep shadows, small borders (1-3px), and media queries as px
- Fix buttons (Manual Update & Settings) to use 100% width and 2.5rem height
- Fix TypeScript error: add missing id property to regexScript object
2025-10-15 13:05:24 +02:00
Spicy Marinara 63039f0000 Merge pull request #4 from paperboygold/fix/panel-animation-and-imports
fix: resolve panel collapse animation and import errors
2025-10-15 09:13:04 +02:00
Spicy_Marinara 5a204df931 Fix panel to properly stretch from screen edge to chat border - use width calculation instead of left/right positioning 2025-10-15 08:34:06 +02:00
Spicy_Marinara 838e557371 Make panel fill available margin space instead of fixed width - panel now expands to use all available space in margins 2025-10-15 08:29:37 +02:00
Lucas 'Paperboy' Rose-Winters aca7478bcc fix: resolve panel collapse animation and import errors
- Fix chevron button positioning to move with collapsed panel edge
- Replace broken dynamic imports with static imports in ensureHtmlCleaningRegex
- Add smooth bidirectional expand/collapse animations
- Implement positioning-based layout for smooth transitions
- Add content opacity fade synchronized with panel width changes

This fixes the chevron button remaining stationary during collapse,
eliminates "Failed to fetch dynamically imported module" errors,
and provides smooth animations in both expand and collapse directions.
2025-10-15 15:47:13 +11:00
Spicy_Marinara 7adaedcb58 Make panel fill available margin space instead of fixed width - panel now expands to use all available space in margins 2025-10-15 02:52:20 +02:00
Spicy_Marinara a2712e85d5 Force remove all margins from rpg-stats-header and rpg-mood with !important 2025-10-14 20:42:19 +02:00
Spicy_Marinara 9dcb5ceb53 Update style.css 2025-10-14 20:38:52 +02:00
Spicy_Marinara 0a03ac7f22 Restore smaller bottom margin (6px) to rpg-panel-header and force remove bottom margin from rpg-map-bg 2025-10-14 20:37:22 +02:00
Spicy_Marinara c5f119f301 Remove margins from rpg-panel-header, rpg-map-bg, and rpg-weather-forecast 2025-10-14 20:32:13 +02:00
Spicy_Marinara 1c82f06e81 Force remove ALL margins from Refresh RPG Info button 2025-10-14 19:51:45 +02:00
Spicy_Marinara dfbcb8125c Fix button sizes: Remove ALL margins and set both buttons to 353x33px
- Remove all margins from both Refresh RPG Info and Settings buttons
- Set exact dimensions: width 353px, height 33px for both buttons
- Remove padding and use box-sizing: border-box for precise sizing
- Both buttons now identical in size
2025-10-14 19:49:05 +02:00
Spicy_Marinara 1e9d7c3adc Remove top margin from Refresh RPG Info button and match Settings button size
- Add negative top margin to Refresh button to compensate for parent gap
- Match Settings button styling to Refresh button (border, radius, font-size, shadow)
2025-10-14 19:45:27 +02:00
Spicy_Marinara 50b5915400 Remove margins from UI elements and fix collapse button visibility
- Remove margins from rpg-stats-header, rpg-mood, rpg-panel-header, and rpg-manual-update-btn
- Fix collapse/expand button visibility by changing panel overflow to visible
- Increase collapse button z-index to 10001 for better layering
- Adjust collapse button positioning for better visual alignment
2025-10-14 19:39:36 +02:00
Spicy_Marinara ea10d1eaac Add collapsible panel, fix inventory scrolling, adjust toggle margins
- Add collapse/expand toggle button to side panels (left/right positions)
- Button shows on the outside edge of the panel with chevron icon
- Panel collapses to 40px vertical bar, button icon direction updates based on position
- Fix inventory box stretching issue by adding max/min height constraints
- Inventory items now scroll internally with flex layout
- Remove bottom margin from Enable Immersive HTML toggle
- Add top margin to Manual Update button to maintain spacing
2025-10-14 19:18:17 +02:00
Spicy_Marinara c35606bb28 fix(mobile): respect topbar height and enable proper scrolling
- Changed top: auto to top: var(--topBarBlockSize) to prevent panel from covering SillyTavern topbar
- Removed fixed height: 70vh/80vh properties that prevented proper sizing
- Panel height now determined by top/bottom constraints for natural fit
- Changed overflow-y: auto to overflow-y: scroll for reliable scrolling
- Added -webkit-overflow-scrolling: touch for iOS smooth scrolling
- Fixes panel covering entire screen, content squishing, and scroll issues
2025-10-14 14:57:17 +02:00
Spicy_Marinara 7440860402 feat: Add mobile-optimized FAB toggle button for panel
- Added floating action button (FAB) that appears only on mobile (≤768px)
- Panel becomes a bottom sheet modal on mobile instead of fixed sidebar
- Smooth slide-up animation with backdrop overlay
- Panel hidden by default on mobile, opens when FAB clicked
- Touch-friendly button sizes (44px minimum per Apple HIG)
- 70vh height on tablets, 80vh on phones for better usability
- Rounded top corners for modern mobile UI
- Desktop behavior unchanged
2025-10-14 14:39:45 +02:00
Spicy_Marinara 0926390205 fix: Add margin auto to keep chat centered with panel open
- Forces #sheld to use margin: auto when panel is visible
- Prevents chat from being pushed to one side
- Applies to both left and right panel positions
2025-10-14 13:16:06 +02:00
Spicy_Marinara 685c7ae1c2 fix: Make panel responsive and remove forced chat margins
- Removed margin-left/right on #sheld that was pushing chat to center
- Panel now overlays instead of pushing content
- Added responsive breakpoints for different screen sizes
- Width: 380px default, max 30vw, scales down on smaller screens
- Mobile: Full width at bottom on very small screens
- Panel no longer breaks layout on different screen sizes
2025-10-14 13:14:46 +02:00
Spicy_Marinara 518f2763aa Initial commit 2025-10-14 00:01:23 +02:00