Lychee icon indicating copy to clipboard operation
Lychee copied to clipboard

Add frontend for Flow

Open ildyria opened this issue 6 months ago • 1 comments

This pull request introduces several new components and refactors existing ones to improve modularity, readability, and functionality in the gallery and flow modules. The most significant changes include the creation of reusable components like AlbumStatistics, Blur, and PhotoBox, as well as enhancements to the album and photo viewing experience.

Refactoring and Componentization

  • AlbumStatistics Component: Extracted the album statistics display logic into a reusable component, simplifying AlbumHero.vue and improving maintainability. (resources/js/components/gallery/albumModule/AlbumStatistics.vue, [1]; resources/js/components/gallery/albumModule/AlbumHero.vue, [2] [3]
  • Blur Component: Added a reusable component to handle NSFW content blurring with hover-to-reveal functionality. (resources/js/components/gallery/flowModule/Blur.vue, resources/js/components/gallery/flowModule/Blur.vueR1-R18)

Enhancements to Album and Photo Views

  • AlbumHero.vue Refactor: Replaced inline statistics display with the new AlbumStatistics component. (resources/js/components/gallery/albumModule/AlbumHero.vue, resources/js/components/gallery/albumModule/AlbumHero.vueL107-R107)
  • PhotoBox Component: Introduced a versatile photo viewer with support for various media types (e.g., images, videos, PDFs, live photos). (resources/js/components/gallery/photoModule/PhotoBox.vue, resources/js/components/gallery/photoModule/PhotoBox.vueR1-R138)
  • LightBox Component: Added a lightbox for viewing photos with navigation and overlay capabilities. (resources/js/components/gallery/flowModule/LigtBox.vue, resources/js/components/gallery/flowModule/LigtBox.vueR1-R58)

New Features in Flow Module

  • CarouselImages and TopImages Components: Created components for displaying album photos in carousel and grid formats, with NSFW blurring support. (resources/js/components/gallery/flowModule/CarouselImages.vue, [1]; resources/js/components/gallery/flowModule/TopImages.vue, [2]
  • HeaderImage Component: Added support for configurable album header images with blur effects for NSFW content. (resources/js/components/gallery/flowModule/HeaderImage.vue, resources/js/components/gallery/flowModule/HeaderImage.vueR1-R45)

Routing and Navigation Improvements

  • Dynamic Routing in AlbumThumb.vue: Updated album navigation to use a composable for dynamic route generation, improving flexibility and consistency. (resources/js/components/gallery/albumModule/thumbs/AlbumThumb.vue, [1] [2] [3]

ildyria avatar Jun 14 '25 17:06 ildyria

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.11%. Comparing base (c8ed4d1) to head (150803a). Report is 1 commits behind head on flow/backend.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar Jun 15 '25 18:06 codecov[bot]