Commit Graph

35 Commits

Author SHA1 Message Date
Matthieu B
89762d96dd feat: add bundle preview functionality and improve token generation tests
- Added a preview link for bundles in the wizard settings page. closes #1048
- Enhanced the wizard steps template to handle bundle preview mode.
- Updated JavaScript to generate URLs for bundle preview and runtime modes.
- Improved test coverage for password reset token generation by asserting token creation.
2025-12-09 14:37:39 +01:00
Matthieu B
fca67912fe feat: implement server-specific color theming for invitations and wizards closes #982 2025-11-06 12:59:57 +01:00
Matthieu B
5feaf51337 Enhance wizard step management and UI
- Updated the sub-navigation for the wizard to conditionally display step creation options based on the default state and available bundles.
- Improved the bundles page layout by categorizing steps into pre-invite, post-invite, and additional categories, enhancing user experience.
- Added orphaned step handling to allow users to remove steps that no longer have an associated entry.
- Displayed the associated wizard bundle name in the invite card if applicable.
- Adjusted JavaScript routing for bundle steps in the wizard.
- Modified the development script to set the NODE_ENV to development when installing npm dependencies, ensuring proper handling of devDependencies.
- Updated the subproject reference in the plus directory to indicate a dirty state.
2025-10-26 12:26:26 +01:00
engels74
97f8cf4b78 fix(wizard): apply djlint formatting to wizard/steps.html 2025-10-18 15:42:28 +02:00
engels74
d3166f6bd2 refactor(wizard): conditionally display phase indicator in wizard steps
Hide the phase indicator in the wizard steps template unless the wizard is in "preview" mode. This change applies to both mobile and desktop views of the progress bar.
2025-10-18 15:39:07 +02:00
engels74
2c97e8d490 fix(wizard): show progress bar only if multiple steps exist
The progress bar on the wizard steps was always being rendered, even when there was only one step. This commit fixes that by wrapping the progress bar HTML within an `{% if max_idx > 0 %}` conditional. This ensures the progress bar (step count and percentage) is only displayed when there are actually multiple steps to show progress for, for both mobile and desktop views.

Additionally, the JavaScript logic for updating progress bar values was refined. It now specifically targets the flex container with the `justify-between` class to locate the step and percentage spans, ensuring it doesn't accidentally interfere with the phase indicator's flex container, which has `justify-center`. This improves the robustness of the progress bar update mechanism.
2025-10-16 18:45:06 +02:00
engels74
caceccab54 refactor(wizard): improve combo invitation flow consistency
This commit implements two improvements to the combo wizard invitation flow:

1. Badge Display Fix: Added the "pre-invite" / "post-invite" category badge
   above wizard steps in combo invites. This badge was already present in
   single-invite pages but was missing from combo invites.

2. URL Refactoring: Cleaned up combo wizard URLs to match the pattern used
   by single-invite wizards:
   - Before: /wizard/combo/0?category=pre_invite → /j/<code> → /wizard/combo/0?category=post_invite
   - After: /wizard/combo/pre_invite → /j/<code> → /wizard/combo/post_invite

   This makes combo URLs consistent with single-invite URLs
   (/wizard/pre-wizard → /wizard/post-wizard) by removing the step index
   from the path and using path-based category routing.

Changes include:
- Pass step_phase to template for badge display
- Update routes to use path-based categories instead of query parameters
- Update templates and JavaScript to handle new URL structure
- Fix form method attributes and template formatting
2025-10-16 18:24:58 +02:00
engels74
0fb4767457 fix(migrations): reorder wizard category migration and apply pre-rebase formatting
Migration Changes:
- Renamed migration file from 20251004 to 20251005
- Updated down_revision from fd5a34530162 to 08a6c8fb44db
- Ensures migration runs after upstream notification events migration
- Fixes migration chain branching issue
- Removed incorrect merge migration (1e83c67d9785)

Migration chain is now:
fd5a34530162 (disabled attribute) → 08a6c8fb44db (notification events)
→ 20251005_add_category_to_wizard_step (wizard category)

Wizard Refactoring:
- Enhanced uniqueness constraint for WizardStep from (server_type, position)
  to (server_type, category, position)
- Ensures steps in different categories (pre_invite vs post_invite) can have
  the same position indexing without conflict
- Updated wizard state management documentation to explicitly list and
  describe data-* attributes used in steps.html template

Code Quality:
- Applied djlint formatting to 8 template files to minimize rebase conflicts
- Applied ruff format and ruff check --fix (no changes needed)
- Removed redundant requirement comments from spec-driven development
- Fixed case sensitivity in test assertion (POST vs post)
- Updated test references from 20251004 to 20251005 to match corrected
  migration revision ID
2025-10-16 16:57:14 +02:00
engels74
fa50e60e3f fix: require user interaction
Now supports multiple next buttons in interaction gating

Refactor the `attachInteractionGating` function to handle multiple "next" buttons, specifically for mobile and desktop versions.

The previous implementation only considered a single `#next-btn` element. This change updates it to find both `#wizard-next-btn` and `#wizard-next-btn-desktop`, allowing interaction gating to apply to all relevant next buttons.

A shared `enableAllButtons` function is introduced to ensure that once interaction is detected in the content, all next buttons are enabled simultaneously. Store button-specific handlers for proper cleanup.

Also, ensure the `attachInteractionGating` function is re-initialized after HTMX processes new content.
2025-10-16 15:28:48 +02:00
engels74
d0df4c6d5d feat: wizard step refactor into pre/post wizard steps
Changes:
  - Pre/post invitation wizard phases
  - Phase-aware routing (/pre-wizard/*, /post-wizard/*)
  - Phase indicator badges (visual categorization)
  - Dynamic completion button behavior
  - Two-column admin layout with category drag-and-drop
  - Invite code management service
  - Enhanced wizard export/import
  - Comprehensive test coverage (17 new test files)
2025-10-16 15:28:48 +02:00
Matthieu B
ba28712d8c fix: reformat template titles for consistency and readability 2025-10-08 16:54:24 +02:00
Mully
53c6c3639c fix: wizard steps localization
- Changed "Steps of" updates to preserve localization (by targeting exact child elements)

- Fixes issue of Wizard steps staying at 1 when user's locale is not English
2025-10-07 10:56:07 -04:00
Matthieu B
187b8758c1 Refactor wizard templates and JavaScript controller
- Updated title block in frame.html for clarity.
- Improved localization for the "Next" button in steps.html.
- Refactored the WizardController JavaScript for better readability and organization.
- Added detailed comments to the wizard architecture for future reference.
- Enhanced button visibility and state management based on interaction requirements.
- Implemented swipe gesture handling for mobile navigation.
- Updated subproject commit to indicate a dirty state.
2025-10-07 14:01:16 +02:00
Matthieu B
d1ed08d9c2 Add .djlintrc configuration file for Jinja linting 2025-10-07 11:04:58 +02:00
Matthieu B
c5a8408a1a fix: improve touch event handling in wizard swipe gestures for better responsiveness 2025-10-04 11:59:38 +02:00
Matthieu B
cd195683c3 feat: enhance wizard presets and widgets with improved templates and styles 2025-10-02 23:02:13 +02:00
Matthieu B
ea6858c42b feat: implement mobile optimization and enhance wizard navigation with swipe gestures 2025-10-02 16:29:53 +02:00
Matthieu B
c55125b1dd feat: add progress indicator closes Feature Request: Add a progress indicator to steps
closes #861
2025-09-28 12:26:27 +02:00
engels74
0f0dedde0a feat: implement wizard step interaction requirement system
Add comprehensive "require interaction" functionality for wizard steps that prevents users from proceeding until they engage with step content.

## Key Features:
- **Database Integration**: New `require_interaction` boolean field in WizardStep model with migration
- **Frontend Gating**: Robust JavaScript system that disables "Next" button until user clicks links/buttons in step content
- **UI Enhancement**: Improved checkbox forms with clear descriptions and visual indicators
- **Event Handling**: Advanced interaction detection with proper HTMX disabling and event capture
- **Admin Interface**: Full integration with wizard configuration forms (main and simple)
- **Export/Import**: Support for require_interaction field in wizard step data operations

## Technical Implementation:
- Disabled button state management with pointer-events and tabindex control
- HTMX attribute manipulation to prevent premature navigation
- Event listener capture phase handling for reliable interaction blocking
- Comprehensive test coverage for interaction scenarios
- Form validation and user experience improvements

## Files Modified:
- Backend: models, routes, forms, services, migration
- Frontend: JavaScript interaction logic, templates, UI components
- Testing: Complete test suite for interaction requirements

This feature ensures users engage with critical wizard content before proceeding, improving onboarding experience and preventing accidental step skipping.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-07 14:46:50 +02:00
snowfudge
085a5d1ee6 fix(ui): add page title on wizard page 2025-07-14 23:11:12 +07:00
snowfudge
5450d4a779 fix(ui): layout and animation cleanup
- Prevent brief "content flash" during wizard step transitions (initial load, after first nav click)
- Ensure consistent layout by fixing overflow-x-hidden not applying correctly
- Split shared layout into steps/frame.html to avoid multiple base.html rendering after every nav click
2025-07-14 23:09:01 +07:00
Matthieu B
807ea96783 Customisable steps 2025-05-22 11:06:10 +01:00
Matthieu B
d56986992b Implement #90 2023-03-01 17:54:22 +00:00
Matthieu B
e9b3b5f466 Fix #77 2023-02-26 14:22:57 +00:00
Matthieu B
b14570df29 Update download.html 2023-02-24 18:14:36 +00:00
Matthieu B
89ebacc8bc Refresh 2023-02-24 18:04:01 +00:00
Matthieu B
6d8262bfe9 new strings 2023-02-24 17:40:06 +00:00
Matthieu B
0225a93c2b jellyfin signup and tips 2023-02-24 16:01:51 +00:00
Matthieu B
a62f988369 Experimental Jellyfin Support 2023-02-23 17:51:01 +00:00
Matthieu B
b39f73f920 Workaround 2023-02-16 18:43:44 +00:00
Matthieu B
bd975fb859 Update custom.html 2023-02-15 14:20:48 +00:00
Matthieu B
2cd53ef8ff Custom HTML
- Added Interactive Wizard
- Custom HTML
2023-02-15 14:16:19 +00:00
Matthieu B
c812ad7ae9 Remade WIzard 2023-02-15 13:42:24 +00:00
Matthieu B
6f4ca8f64e Preparation for new wizard 2023-02-14 14:42:30 +00:00
Matthieu B
c29dafdd2f GA Auto transllate 2023-01-21 16:10:22 +00:00