Commit Graph
482 Commits
Author SHA1 Message Date
Mira Weller 4bbcc398cc Merge remote-tracking branch 'refs/remotes/origin/master' into questions-vue3 2026-03-19 13:13:32 +01:00
rash 16245aa516 Remove ResizeObserver check and fallback in widget (#5999) 2026-03-17 11:59:45 +01:00
rash c62a6359e1 fix js linter errors 2026-03-13 15:39:10 +01:00
rash 8945e55900 resolve migration TODOs: properly refocus parent on navigations 2026-03-13 13:24:31 +01:00
rash 504191c005 fix inconsistencies from automatic migration 2026-03-09 18:31:27 +01:00
rash 00cb77de8f top level await in iife build mode is not supported, so let's do import.meta.glob instead (we just need the build step not to see await, the code doesn't actually ever get loaded because it's DEV only) 2026-02-23 16:43:11 +01:00
rash b1b2a688a8 working vite widget setup for prod (untested), local dev (with or without dev server) and pytests, with flags for running the old version or the vite version 2026-02-22 17:40:25 +01:00
rash 961253bac4 migrate widget bugfix #5886 2026-02-19 14:13:08 +01:00
rash f3eb2fba6d Merge branch 'pretix:master' into vite-vue3 2026-02-19 13:40:30 +01:00
Richard Schreiber 4d60d7bfbc Fix widget quantity prefill (#5886) 2026-02-12 12:04:11 +01:00
rash 333dc56ef7 first draft migrating widget to vue3/vite 2026-02-11 15:12:43 +01:00
Raphael MichelandRichard Schreiber 26fdcc2872 Order changes: Do not allow to double-book add-ons (Z#23220592) (#5851)
* Order changes: Do not allow to double-book add-ons

* tests

* Update src/pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html

Co-authored-by: Richard Schreiber <schreiber@pretix.eu>

---------

Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2026-01-29 20:42:43 +01:00
Richard Schreiber 0e5e2193ed Fix auto-quantity change on free-price input
* Fix auto-quantity change on free-price input

* do not use one()
2026-01-29 14:19:09 +01:00
Richard Schreiber 803d0b1570 Fix missing locale in widget waitinglist 2026-01-26 16:52:37 +01:00
Kian Cross a0dae48cec Prevent double-clicks on SSO login providers (#5842) 2026-01-26 08:31:30 +01:00
Raphael Michel fc4ce102b6 Widget: Hide dialogs by default 2025-12-22 09:26:47 +01:00
Raphael Michelandluelista 44804f05f3 Event quickstart: Fix fields being marked as optional (fixes #3504) (#5627)
* Event quickstart: Fix fields being marked as optional (fixes #3504)

* Revert accidental changes

* Update src/pretix/static/pretixcontrol/js/ui/main.js

Co-authored-by: luelista <weller@rami.io>

---------

Co-authored-by: luelista <weller@rami.io>
2025-11-18 15:46:11 +01:00
Raphael MichelandRichard Schreiber e99eecb8be Product list: Show number of items currently in cart (Z#23212546) (#5599)
* Product list: Show number of items currently in cart

* Apply suggestions from code review

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Add display property

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
2025-11-11 08:05:40 +01:00
Richard Schreiber 7d5df2b69e Fix required label for multi-checkbox form-groups (#5568) 2025-10-30 10:44:17 +01:00
Richard Schreiber 0f25a1d6c8 Fix addressform handling reloading address-info while XHR-request is still running (Z#23210723) (#5558)
* Fix handling answers with null-value

* fix handling re-requesting the same url while XHR is still running
2025-10-21 08:43:12 +02:00
Phin Wolkwitz 8a3da37b45 Connect giftcards with customer accounts (#5126)
Connect giftcards with customer accounts, show giftcards during checkout and in account , show giftcard list in backend customer view
2025-10-16 13:20:00 +02:00
Richard Schreiber e34a3ab2ce Fix html-based form errors not being scrolled to in iOS/Safari (#5448) 2025-09-09 08:20:54 +02:00
Richard Schreiber 160f1c2e62 [A11y] Remove skip-to-main fallback container creation (#5372) 2025-08-13 12:24:49 +02:00
Raphael Michel 39a0093c6b Fix subtotal rendering on mobile (#5365) 2025-08-12 09:39:21 +02:00
Richard Schreiber 582c6c1771 Widget: limit max-width, make mobile overlay bigger (Z#23196339) (#5298)
* Widget: limit max-width, make mobile overlay bigger

* overlay in fullscreen for small screens

* re-add topbar for close-button on mobile

* tweak close button-top on mobile

* invert color to make close-button a filled circle again
2025-07-10 13:10:30 +02:00
Richard Schreiber a90b40035c Widget: fix overlay-centering being overwritten (#5294) 2025-07-04 13:47:57 +02:00
Richard Schreiber 7177ac18f7 Widget: add missing semi-colon 2025-07-01 12:26:44 +02:00
Raphael Michel f0212d910d Widget: Make table stripe colors background-agnostic (#5277) 2025-06-30 11:20:14 +02:00
Richard Schreiber 9bf302e5ae Widget: deprecate v1 and deliver v2 instead (#5273)
* Widget: deprecate v1 and redirect to v2

* Make redirect permanent

* remove v1 files

* do not redirect, just serve version_min

* add version-comment to delivered css/js-file

* fix tests
2025-06-25 11:20:34 +02:00
Richard Schreiber ae4073b3e4 [A11y] improve cart renew confirmation (#5206)
* [A11y] improve cart renew confirmation

* revert time

* add inline-dialog to cart-renewal-button so confirm-button has interactive meaning
2025-06-11 08:58:26 +02:00
Richard Schreiber 362ac8de6f [A11y] Widget: pass doc title in overlay to iframe.title (#5210) 2025-06-10 20:41:51 +02:00
Richard Schreiber cced9cd768 Widget: remove role=alertdialog for checkout overlay as it is to obtrusive in NVDA (#5211) 2025-06-10 20:41:23 +02:00
Richard Schreiber dfb45e13ca [A11y] Widget: make inputs min-height instead of fixed height (#5216) 2025-06-10 20:40:52 +02:00
Richard Schreiber 23489f50f8 [A11y] Widget: change calendar table aria-label to labelledby (#5217) 2025-06-10 20:40:33 +02:00
Richard Schreiber 80148a8435 [A11y] Widget: move dialog-focus to close-button (#5221) 2025-06-10 20:39:43 +02:00
Richard Schreiber b75f8bf893 Widget: fix loading spinner not showing on API-request (#5228)
* Widget: fix loading spinner not showing while API-request

* remove not needed showModal as it is handled be frame_loading-watcher

* add double check if dialog is open before closing it
2025-06-10 20:35:11 +02:00
Richard Schreiber d53af424cf Widget: fix prefill 1 with variation-product (#5229) 2025-06-10 20:34:47 +02:00
Richard Schreiber f0c95c4b03 [A11y] fix color contrast on hover for .active default-buttons (#5198) 2025-06-02 15:52:42 +02:00
e8ff743b76 Improve wording for cart-renew dialog (#5174)
* Improve wording for cart-renew dialog

* remove duplication of static texts for dialog

Co-authored-by: luelista <weller@rami.io>

* Fix typo

Co-authored-by: Raphael Michel <michel@rami.io>

* Apply suggestions from code review

Co-authored-by: Richard Schreiber <schreiber@rami.io>

---------

Co-authored-by: luelista <weller@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-28 17:36:37 +02:00
Richard Schreiber fe0b8c9f97 Simplify empty add-to-cart check (#5177) 2025-05-28 17:30:15 +02:00
Richard SchreiberandRaphael Michel 92f7456eca Widget: add versioning support and add v2 with improved a11y-support (#5136)
* Add support for versioning widget.js

* add versionable css

* add version deprecation + redirect

* use dynamic template_path instead of dynamic css_path

* remove dummy code from widget.v1.scss

* fix typo

* [A11y] fix input border & focus style (#5149)

* [A11y] fix input border & focus style

* Fix double semi-colon

* [A11y] make collapse-indicator a button (#5150)

* Fix source order for cart-exists-message (#5152)

* [A11y] underline links (#5151)

* [A11y] Move modal-dialogs to HTMLDialogElement (#5147)

* [A11y] move widget/iframe to html-dialog

* make lightbox a dialog

* move error-alert to dialog

* re-add crossorigin

* fix esc-handling and move animation to icon to enable focusing the button

* fix code-style issues

* block canceling loading iframe

* Escape/cancel blocking fix for Chrome

* add round focus-outline when dialog is loading

* Widget v2: change voucher-link to hash-based link (#5161)

* Fix variants toggle-button being submit-button

* Widget v2: make single-item-select button and always show custom-spinners (#5165)

* Widget v2: make single-item-select=button default

* remove native-spinners and single_item_select

* Stop suggesting old parameter

---------

Co-authored-by: Raphael Michel <michel@rami.io>

* Widget v2: add filter button to events metadata-filter (#5162)

* Widget v2: do not underline events in list and calendar (#5163)

* Fix checkbox button missing border radius (#5158)

* Widget v2: turn add-to-cart-button into resume-button if cart-exists and no items selected (#5160)

* Widget v2: make cart-alert live=polite

* Add resume-button if cart-exists and no items selected

* fix error handling with new-tab and later returning to old window

* Fix cart-message button being full height

* fix amount_selected recalc

* Fix broken v-model

* fix merge

* Widget v2: Remove link from variation-product title (#5159)

* Remove link from variation-product, focus associated input

* open variations onclick on product-title

* clickable elements should be focussable and interactive, so better remove click-handler on product-title

* Widget v2: Fix calendar events color contrast (#5164)

* Widget v2: Fix calendar events color contrast

* fix status-bubbles in list-view

* fix color in mobile

* add striped-background to calendar and week

* improve display of calendar for super small screens

* Fix meta-filter legend not being screen-reader accessible

* update version_default to 2

Co-authored-by: Raphael Michel <michel@rami.io>

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-28 15:02:39 +02:00
Richard Schreiber 72b39932b7 Fix info-row img not being scaled correctly (#5173)
* Fix info-row img not being scaled correctly

* improve centering when fully colored img-icon is used
2025-05-28 11:44:58 +02:00
Raphael Michel 5fb1fc23ce Refactor stubs for gettext JS function (#5170) 2025-05-27 17:24:04 +02:00
Richard Schreiber 20de9830db Remove unused renewed-parameter in draw_deadline 2025-05-27 13:40:21 +02:00
Richard Schreiber f8a5cc1bb4 Fix cookieconsent localStorage being null 2025-05-27 09:00:28 +02:00
5962536a11 Dialog for cart renewal, async task without page refresh (#5148)
* async_task: deduplicate response handling code

* extend cart without full page reload

* update dialog markup

* fix error response from CartExtend

* refactor asynctask, make sure waitingDialog.show() re-initializes dialog contents

* add cart expiry notification

* add aria references to other dialogs

* improve error handling

* fix error if max_extend=None

* different message for expiring soon and expired carts

* refactor dialog css

* add classes to further dialog elements

* switch extend-cart-dialog and loadingmodal to <dialog>

* Backport simple_block_tag from Django 5.2

* Use simple_block_tag for {% dialog %} tag

* add alertdialog role

* Update src/pretix/static/pretixbase/scss/_dialogs.scss

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* fix mobile dialog styles not being overwritten

* asynctask dialog: prevent close by escape on chrome

* remove dynamic aria-live from #cart-deadline

dynamic aria-live is generally not well supported and as we have the dialog now anyways, we can remove it

* move continue-button to right

* Update src/pretix/static/pretixpresale/js/ui/cart.js

Co-authored-by: Richard Schreiber <schreiber@rami.io>

* Fix CSS for old-style dialog

* fix heading display/level

* align dialogs at the top as they originally were

* fix </div> from merge-conflict

* fix missing grow for dialog-content

* improve cart-extend-button ui

* do not show cart-extend-dialog onload

* improve message if 0 minutes

* do not save messae in session if ajax_dont_redirect

* add ajax_dont_redirect to async_task_check_url

* improve draw_deadline to only update #cart-deadline if necessary

* add renew-confirmation-message

---------

Co-authored-by: Richard Schreiber <schreiber@rami.io>
Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-27 07:17:50 +02:00
Richard Schreiber fdbcffd5fd [A11y] make location & time icons role=img with labels (#4955)
* [A11y] use icon’s title-attribute instead of hidden text for events location and time

* Fix icons with role=img

* simplify css
2025-05-26 15:13:00 +02:00
Raphael Michel 902527f8aa Cookie consent: Proper fix for zero-provider situations (#5153) 2025-05-23 21:39:59 +02:00
Richard SchreiberandRaphael Michel 37af6edeab [A11y] move lightbox to native dialog (#5137)
* [A11y] move lightbox to native dialog

* fix width-sizing-issue

* move button label to aria-label

* increase padding for lightbox, so button does not overlay image

* Remove unused JS

* add close on backdrop-click

---------

Co-authored-by: Raphael Michel <michel@rami.io>
2025-05-23 10:19:03 +02:00
luelista 38d92bb142 Fix voucher redeem form (#5155) 2025-05-22 17:58:38 +02:00