Skip to content

feat(transitions): fade through transition#2837

Merged
vassbo merged 5 commits intoChurchApps:devfrom
zabackary:feat/fade-through-transition
Feb 11, 2026
Merged

feat(transitions): fade through transition#2837
vassbo merged 5 commits intoChurchApps:devfrom
zabackary:feat/fade-through-transition

Conversation

@zabackary
Copy link
Contributor

This pull request introduces a new "fade through" transition option, allowing slides to crossfade without a brief delay. While a delay does look better, a crossfade may be wanted by some users (including me). This PR implements that for text output, since media by default crossfades without a delay.

  • Adds a fadeThrough property to the Transition and TransitionData interfaces in src/types/Show.ts
  • Adds a toggle switch to enable/disable this option in the Transition options dialog
  • Updates the en.json translation file. I'm not sure if this is correct way to do translations, so let me know if it needs to be fixed.

Adds a toggle in the transition dialog to enable/disable "fade through",
which avoids dipping into black during transitions
I'm not sure whether this is correct way to do it
@vassbo
Copy link
Collaborator

vassbo commented Feb 11, 2026

Nice, the translation is correct. Would it be better to have a e.g. "wait to fade in" duration in percentage set to 50% by default so you can set it to 0% like you want or even 100%..

@vassbo
Copy link
Collaborator

vassbo commented Feb 11, 2026

Or call it "Fade in offset"

@vassbo vassbo merged commit e006508 into ChurchApps:dev Feb 11, 2026
vassbo added a commit that referenced this pull request Feb 11, 2026
* Added back forceLogin - Fixed on B1Admin

* Fixed clear background not working if no output screen exists

* Updated languages

* fix: improve split long verses with tolerance for balanced output (#2812)

- Split long verses at punctuation near the center of the text for balanced slides
- Search for punctuation (.,;:!?) within a tolerance window around the text center
- Pick the punctuation closest to center for the most even split
- Fall back to nearest space if no punctuation found in window
- Prevent small trailing segments from being merged back when it would undo the split
- Pass tolerance through to HTML text splitting path
- Expand split sub-verse IDs (e.g. 10_1, 10_2) in activeVerses for slide generation
- Add longVersesTolerance default to scriptureSettings

* fix: Fix issue when searching for scripture using the split long verses (#2818)

When using split long verses the scripture search does not take into
account the verse splits. If you do a scripture search which includes
the verses and then convert to a show the split long verses is not taken
into account. The fix is to map the searched verses to the calculated
split verses.

* Moved create scripture shortcut #2822

* Scripture fix

* Fallback to copy/paste when unable to move file #2823

* Fixing errors

* Auto get project if none is opened

* Tweaks

* Fixed media replaced incorrectly #2779

* Fixed some replaced slide backgrounds not outputted #2807

* Faster slide loading

* Slide media thumbnail is now the correct resolution
- Fixed issue with thumbnail generation

* Fixed thumbnail generation only doing one at a time
- Fixed thumbnail generation stopping when failed once
- Skip loading when failed

* Media editor showing output resolution
- Tweaks

* Project media item thumbnail
- Project items splitted by type

* Drop import PPT file

* Save imported project directly back to the file

* Tweaks

* Project item arrow
- Project tweaks

* Default template textbox now fits 8 lines perfectly

* Fixed player

* Project permission fixes

* Fixed context menu sometimes clipping bottom

* Fixed context menu sometimes clipping bottom

* Fixed hostname already in use issue on macOS #1637

* Tweaks

* Fixed drop position #2834

* Tweaks

* Cloud fixes

* Fixed thumbnail paths on macOS

* Tweaks

* Loop enabled title

* Fixed specific outputs issue

* Fixed infinite loop

* Fixed StageShow media fit

* Tweaks

* Random number history as dynamic value #2813

* Action to mark project item as played #2752

* Set initial project name to an upcomming weekday date #2734

* Overlay actions #2665

* StageShow Dynamic Value Conditions #2624
- Fixed stage item issue

* feat: Enhance Quick Search with Bible/Media support and categorization (#2790)

* Enhance Quick Search with Bible/Media support and categorization

- Update Quick Search UI to look like Mac Spotlight (wider, centered, headers).
- Implement async search logic to handle Bible search.
- Categorize results into Songs, Bible, Media, and Others.
- Add Bible search functionality (Reference and Text search).
- Add Media search functionality.
- Implement trigger actions for Bible (opens Scripture tab) and Media (plays media).

* feat: Enhance search index and quicksearch UI

Add a fast inverted search index and Bible index for much faster lookups (buildSearchIndex, fastSearch, buildBibleIndex, fastBibleSearch).
Introduce index invalidation (invalidateSearchIndex) when the text cache is loaded or saved so the index is rebuilt when data changes. Extend quicksearch features and UX: category filters (all, songs, bible, media, settings), highlighted token matches, glowing placeholder indicator, snippet previews for song lyrics and Bible verses, and improved transitions/styles. Integrate the index-based Bible search with a fallback to the existing library search; use local scripture cache and build an index when available.
Update quicksearch API to accept category and raw search value, and adapt result generation to include descriptions and previews.
Add a new translation key (main.search_anything).
Small refactors and safety checks added to preserve behavior for small show lists by falling back to the original search logic.

* Formatted code changes

* QuickSearch: add hashtag filters and audio/overlays

Replace the category picker with hashtag-based category detection in QuickSearch and update search behavior. Key changes:
- UI: removed category bar and related styles; detect #hashtag (e.g. #shows, #audio, #overlays) and strip it from the query.
- Categories: rename 'songs' -> 'shows' and add 'audio' and 'overlays' categories; wire audio playlists/streams and overlay results into quicksearch results and triggers.
- Highlighting: prioritize exact phrase matches, then token-based highlighting (matches any word), with longer words matched first.
- Media: add option to restrict media results to audio files and set appropriate icons for audio/media.
- Bible/search index: bump behavior to support more results and finer-grained indexing (index shorter tokens, n-grams up to 5 words, search-term generation improvements) and add a Bible index version to force rebuilds when needed.
- Minor: update en.json label ("song" -> "Shows").
These changes improve discoverability via keywords and broaden searchable content (audio/overlays) while refining ranking and highlighting.

* Update QuickSearch.svelte

* Fixes

* Fixes

---------

Co-authored-by: Kristoffer <kristoffervassbo@gmail.com>

* Lock slides inside a show (#2825)

* feat: add slide locking functionality to prevent edits and deletions

* feat: implement slide locking checks for copy, paste, and cut actions

* feat: add toggle lock functionality for slides and pass showId and slideId to Icons component

* feat: add checks to skip locked slides in templates

* feat: enhance slide locking checks in editors and clipboard actions

* Fixes

* Resolve conflict

---------

Co-authored-by: Otoniel Pérez Velarde <otperez@domingoalonsogroup.com>
Co-authored-by: Kristoffer <kristoffervassbo@gmail.com>

* feat(transitions): fade through transition (#2837)

* feat(transitions): add fade through feature

Adds a toggle in the transition dialog to enable/disable "fade through",
which avoids dipping into black during transitions

* chore(transitions): add i18n for fade through

I'm not sure whether this is correct way to do it

* feat(transition): add explanation tooltip

* Update

* Fix

---------

Co-authored-by: Kristoffer <kristoffervassbo@gmail.com>

* Version update

---------

Co-authored-by: Jeremy Zongker <jeremy@zongker.net>
Co-authored-by: Yuri Vidal <yurividal@users.noreply.github.com>
Co-authored-by: Emmanuel Mathi-Amorim <manny@amorim.ca>
Co-authored-by: Jeremiah Oluwaseun Erinola <seunjeremiah@gmail.com>
Co-authored-by: Otoniel Pérez Velarde <61138950+otonielpv@users.noreply.github.com>
Co-authored-by: Otoniel Pérez Velarde <otperez@domingoalonsogroup.com>
Co-authored-by: zabackary <137591653+zabackary@users.noreply.github.com>
@zabackary
Copy link
Contributor Author

Thanks for finishing this off!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants