Lychee
Lychee copied to clipboard
Add frontend for Flow
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
AlbumStatisticsComponent: Extracted the album statistics display logic into a reusable component, simplifyingAlbumHero.vueand improving maintainability. (resources/js/components/gallery/albumModule/AlbumStatistics.vue, [1];resources/js/components/gallery/albumModule/AlbumHero.vue, [2] [3]BlurComponent: 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.vueRefactor: Replaced inline statistics display with the newAlbumStatisticscomponent. (resources/js/components/gallery/albumModule/AlbumHero.vue, resources/js/components/gallery/albumModule/AlbumHero.vueL107-R107)PhotoBoxComponent: 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)LightBoxComponent: 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
CarouselImagesandTopImagesComponents: 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]HeaderImageComponent: 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]
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.