Commit Graph
68 Commits
Author SHA1 Message Date
google-labs-jules[bot] 3cd0532972 Refactor hardcoded styles to use token constants
Replaces hardcoded breakpoint values in `VideoCard.js` and `tailwind.source.css` with token constants and valid CSS calculations. Updates the token linting script to enforce these rules by removing the previous allowlists for these files. This ensures that all UI elements are defined by the central styling system.
2026-01-23 15:16:28 +00:00
google-labs-jules[bot] 222872b59a feat(ui): tune mobile active state and fix desktop regression
- Relax `VideoCard` active state detection to a 30% viewport sweet spot (rootMargin -35%)
- Strict desktop detection using `window.matchMedia` to prevent active state conflicts
- Encapsulate mobile active CSS rules within media query to prevent desktop style leakage
- Fix mobile layout overflow issues by enforcing `min-width: 0`
- Ensure marquee scrolling effect is robustly toggled based on overflow detection
2026-01-22 02:34:14 +00:00
google-labs-jules[bot] 6cead72ee1 feat(ui): refine mobile active state and fix desktop regression
- Restrict `VideoCard` mobile active state detection to mobile devices (<1024px) using `window.matchMedia`
- Tighten `IntersectionObserver` sweet spot to 10% (rootMargin: -45%) to prevent multiple cards being active
- Encapsulate mobile active CSS rules within media query to prevent desktop style regression
- Ensure proper marquee scrolling behavior on mobile by separating static and animated states
- Prevent layout blowouts by enforcing `min-width: 0` on flex containers
2026-01-22 02:19:15 +00:00
google-labs-jules[bot] 4aa4fb0935 feat(ui): implement marquee title and mobile active state for video cards
- Add marquee scrolling logic to VideoCard.js using ResizeObserver and CSS animations
- Implement mobile active state detection using IntersectionObserver with a centered rootMargin (-25%)
- Update CSS to apply active state styles (backdrop blur, shadow) via data-mobile-active attribute
- Fix mobile layout overflow issues by enforcing min-width: 0 on flex containers
- Ensure title text color changes to accent on active/hover state
2026-01-22 01:55:33 +00:00
google-labs-jules[bot] c443865187 feat(ui): add marquee effect to video cards
- Add ellipsis truncation for titles and usernames
- Implement scroll-on-hover (desktop) and scroll-on-center (mobile)
- Fix mobile layout blowout using min-width: 0 on flex containers
- Add IntersectionObserver and ResizeObserver mocks for tests
2026-01-21 22:57:02 +00:00
google-labs-jules[bot] f03adbb909 feat: implement marquee scrolling for video card titles
- Replaced CSS truncation with a custom marquee structure in `VideoCard.js` for titles and author names.
- Added `css/tailwind.source.css` utilities for `.marquee-host`, `.marquee-static`, and `.marquee-track` animations.
- Implemented `ResizeObserver` (shared singleton) to detect overflow and enable marquee only when needed.
- Implemented `IntersectionObserver` (shared singleton) to trigger marquee on mobile when the card is in the center of the viewport.
- Configured dynamic animation duration based on text content width to ensure constant scrolling speed.
- Verified visual behavior via Playwright screenshots.
- Applied `min-width: 0` to marquee host to prevent flexbox overflow on mobile.
- Updated raw CSS values to use design tokens to pass linting.
2026-01-21 22:07:02 +00:00
google-labs-jules[bot] c719bdf558 feat: implement marquee scrolling for video card titles
- Replaced CSS truncation with a custom marquee structure in `VideoCard.js` for titles and author names.
- Added `css/tailwind.source.css` utilities for `.marquee-host`, `.marquee-static`, and `.marquee-track` animations.
- Implemented `ResizeObserver` (shared singleton) to detect overflow and enable marquee only when needed.
- Implemented `IntersectionObserver` (shared singleton) to trigger marquee on mobile when the card is in the center of the viewport.
- Configured dynamic animation duration based on text content width to ensure constant scrolling speed.
- Verified visual behavior via Playwright screenshots.
2026-01-21 20:22:49 +00:00
thePR0M3TH3AN c92da1adc3 Normalize playback magnets in video cards 2026-01-15 12:22:20 -05:00
thePR0M3TH3AN ebd825fb37 Add webseed-only status to WebTorrent probes 2026-01-15 09:37:25 -05:00
google-labs-jules[bot] e77418f0a8 feat: overlay moderation badge on blurred video thumbnails
Moves the moderation warning badge ("Content blocked...") to overlay the blurred thumbnail image instead of sitting below it or increasing card height. This logic is applied to both the main `VideoCard` and the `SimilarContentCard` to ensure layout consistency.

Changes:
- VideoCard.js: Refactor `updateModerationBadge` to append the badge container as a child of the `anchorEl` (thumbnail wrapper) with absolute positioning.
- SimilarContentCard.js: Implement `refreshModerationUi` logic to generate and overlay a simplified moderation badge on the thumbnail when `trustedMuted` context is present.
- Fix tests/moderation/video-card.test.mjs: Patch test environment to mock `globalThis.navigator`.
2026-01-13 04:29:36 +00:00
google-labs-jules[bot] 868639cbf2 Refactor VideoCard layout to move view/discussion counts to bottom
- Moved view count from author metadata section to a new bottom "Engagement Section".
- Replaced "views" and "notes" text with SVG icons (Eye and Message Circle).
- Grouped views and comments side-by-side in the new section.
- Preserved existing data attributes for view/discussion counters.
- Cleaned up author metadata to only show Time and Edited status.
2026-01-12 20:32:22 +00:00
google-labs-jules[bot] ad0a9113f6 Improve edited video indicators and preserve publish date
- Update `VideoCard.js` to display "• Edited" instead of "(edited)" for better visual consistency.
- Update `app.js` to format the modal's "Last Edited" timestamp as "Last edited: [Absolute] ([Relative])".
- Ensure `EditModal.js` correctly backfills and preserves `published_at` to prevent date resets.
- Verify edit logic with existing tests.
2026-01-12 18:13:57 +00:00
google-labs-jules[bot] 1d3c827f62 Fix: prevent published date reset when editing videos and show edited status
Prioritize `published_at` metadata over event `created_at` timestamp.
Backfill `published_at` during edit if missing to preserve original date.
Add "(edited)" label to video cards for modified content.
Display "Last Edited: [Date]" on video player modal.
2026-01-12 15:35:23 +00:00
thePR0M3TH3AN 3ef44a6651 Hydrate video cards with cached creator identity 2025-10-27 19:03:31 -04:00
thePR0M3TH3AN 065dafff88 Add restore-default moderation control 2025-10-26 11:13:37 -04:00
thePR0M3TH3AN 31cb2821e4 Keep moderation actions inline and add hide toggle 2025-10-25 22:32:34 -04:00
thePR0M3TH3AN ba6b56dc26 Switch moderation hide flows to block 2025-10-25 21:54:31 -04:00
thePR0M3TH3AN 489638e882 Refine moderation badge layout 2025-10-25 21:28:30 -04:00
thePR0M3TH3AN 87bde7f022 Add moderation UI support to watch history cards 2025-10-25 19:39:18 -04:00
thePR0M3TH3AN 9b18c9b0ba Extract moderation helpers for video card 2025-10-25 18:01:57 -04:00
thePR0M3TH3AN 25f190aa90 Extend trusted mute moderation controls 2025-10-25 17:03:29 -04:00
thePR0M3TH3AN fd54cc72fe Refine trusted mute moderation badge 2025-10-25 16:39:15 -04:00
thePR0M3TH3AN 5317c63158 Add compact variant for video cards 2025-10-23 16:04:25 -04:00
thePR0M3TH3AN a2f74ac13f Handle trusted hide moderation state 2025-10-20 19:59:12 -04:00
thePR0M3TH3AN 93d3e7b6bf Fix video card title hover accent styling 2025-10-19 22:31:14 -04:00
thePR0M3TH3AN 77083abc0f Use accent color for video card hover state 2025-10-19 22:22:02 -04:00
thePR0M3TH3AN 994cacdb1f Merge pull request #653 from PR0M3TH3AN/codex/constrain-profile-images-to-perfect-circles
Ensure Nostr profile avatars remain circular
2025-10-18 15:02:27 -04:00
thePR0M3TH3AN 77052fed7c Ensure Nostr profile avatars remain circular 2025-10-18 15:00:08 -04:00
thePR0M3TH3AN 7ae501c010 Remove WebTorrent peer count badges 2025-10-18 14:58:46 -04:00
thePR0M3TH3AN 095c90d728 Themed action buttons for video controls 2025-10-18 09:44:16 -04:00
thePR0M3TH3AN 8492091780 Track trusted mute lists and surface UI signals 2025-10-17 22:09:02 -04:00
thePR0M3TH3AN 0ec7c5e76c Add moderation overrides to video cards 2025-10-17 16:24:42 -04:00
thePR0M3TH3AN 071a8a3671 Add moderation service and reporting flow 2025-10-17 15:33:09 -04:00
thePR0M3TH3AN c40187f09f Align CDN health badge checking icon with torrent badge 2025-10-17 10:05:18 -04:00
thePR0M3TH3AN 328640f939 Align WebTorrent health badge color with CDN indicator 2025-10-17 08:19:03 -04:00
thePR0M3TH3AN 4618b8c5ca Toggle popovers when re-clicking triggers 2025-10-16 23:05:16 -04:00
thePR0M3TH3AN 4bba633332 Toggle card popovers when re-clicked 2025-10-16 22:56:30 -04:00
thePR0M3TH3AN f9455db2a7 Stop closing menus from refocusing unrelated cards 2025-10-16 16:43:58 -04:00
thePR0M3TH3AN 7ef16cd004 Refactor video menus to overlay popovers 2025-10-16 11:33:31 -04:00
thePR0M3TH3AN 0a2a2c4e78 Fix syntax errors blocking app bootstrap 2025-10-15 15:08:55 -04:00
thePR0M3TH3AN 7ae07b1369 refactor: migrate console usage to shared loggers 2025-10-15 14:37:25 -04:00
thePR0M3TH3AN 21d8862eb5 Fix CDN health badge theming 2025-10-15 11:25:00 -04:00
thePR0M3TH3AN d705cf176b Revert "Refactor logging to centralized logger" 2025-10-15 11:14:10 -04:00
thePR0M3TH3AN 37ba57aa37 Refactor logging to centralized logger 2025-10-15 11:11:14 -04:00
thePR0M3TH3AN 617cba0ae2 feat: add video card glow backdrop 2025-10-15 10:27:25 -04:00
thePR0M3TH3AN b6baa368ea Make video card icons theme-aware 2025-10-15 09:06:43 -04:00
thePR0M3TH3AN f286b10896 Add helper to manage video card source visibility 2025-10-15 07:39:44 -04:00
thePR0M3TH3AN e767316501 feat: add semantic color palette and lint guard 2025-10-14 15:18:02 -04:00
thePR0M3TH3AN afffb5c01e Add design metrics tokens and tooling 2025-10-14 11:34:17 -04:00
thePR0M3TH3AN e614acdee2 Refactor floating panel styling hooks 2025-10-14 09:32:28 -04:00