Commit Graph
87 Commits
Author SHA1 Message Date
Niclas Edenvin efcbde1647 Merged in fix/sw-2351-date-picker-design-updates (pull request #1912)
fix(sw-2351): date picker design updates

* fix(sw-2351): date picker design updates


Approved-by: Christian Andolf
2025-04-30 09:55:32 +00:00
Niclas Edenvin 341be43a53 Merged in fix/sw-2501-remove-continue-button-light (pull request #1892)
fix(sw-2501): remove the continue buttons on enter details

This removes the continue buttons on the enter details page.

This is only that, not the refactoring of the whole enter details page with changing to one form etc. Since I just didn’t complete that refactor today I decided to do this light variant for now.

A quick explanation is that the continue buttons are removed and instead the form is submitted (meaning saving the form data to the store) on blur on the input elements IF the form is valid. If it’s invalid we change the isComplete flag in the store to false. This will hopefully also fix a bug where you were able to submit old data if the new data is invalid.

When clicking the submit button and a room is incomplete/invalid the browser scrolls to the first invalid room.

Approved-by: Erik Tiekstra
2025-04-30 08:56:16 +00:00
Niclas Edenvin 3a958c4dd1 Merged in fix/sw-1897-member-price-modal (pull request #1856)
fix(sw-1897): show member price modal immediately

* fix(sw-1897): show member price modal immediately

* Make checkbox fully controlled

* Remove action in the store that wasn't used


Approved-by: Hrishikesh Vaipurkar
2025-04-25 09:55:24 +00:00
Niclas Edenvin 8d1312c0fa Merged in fix/sw-2444-view-all-on-mobile (pull request #1834)
fix(sw-2444): view all ancillaries mobile

* fix(sw-2444): view all ancillaries mobile

On mobile the view all button to show all ancillaries shouldn't be
shown. It's already a carousel showing all available ancillaries.


Approved-by: Bianca Widstam
Approved-by: Matilda Landström
2025-04-22 09:07:24 +00:00
Niclas Edenvin 3f6a65d390 Merged in fix/sw-1867-multiroom-guests (pull request #1822)
fix(sw-1867): Don't allow same name or membno between rooms

* fix(sw-1867): Don't allow same name or membno between rooms

We don't want to allow two different rooms to have the same firstname
and lastname combination or the same membership number.

* Fine tune validation triggers

* Add comments explaining manual validation triggering

* Change to react-hook-form built-in deps instead


Approved-by: Simon.Emanuelsson
2025-04-22 09:06:43 +00:00
Niclas Edenvin 07ab3fc29e Merged in fix/sw-2125-scandic-go-breakfast (pull request #1726)
fix(sw-2125): breakfast validation was wrong on Scandic Go

Approved-by: Bianca Widstam
2025-04-03 12:51:15 +00:00
Niclas Edenvin a34951e075 Merged in fix/add-multinight-breakfast (pull request #1705)
The number of breakfasts and total sums weren’t correctly calculated. This fixes that.

Also changes display logic of when the ancillaries sections are shown

Approved-by: Bianca Widstam
2025-04-02 16:03:50 +00:00
Niclas Edenvin d9c2ac12a1 Merged in fix/sw-2091-remove-breakfast (pull request #1689)
fix(SW-2091): remove breakfast ancillaries

* fix(SW-2091): remove breakfast ancillaries

* Send array in correct format

* Break out function


Approved-by: Bianca Widstam
2025-04-01 14:34:51 +00:00
Niclas Edenvin 198927e6aa Merged in fix/sw-2092-ancillary-fixes (pull request #1690)
Don't show added ancillaries section if no ancillaries

* Don't show added ancillaries section if no ancillaries


Approved-by: Bianca Widstam
2025-04-01 08:02:43 +00:00
Niclas Edenvin dff67ea568 Merged in feat/sw-1839-show-added-breakfast (pull request #1673)
Feat/sw-1839 show added breakfast

* Fix wrong space character

* Change to correct CSS variable

* Show added breakfast ancillary in the "My add-ons" section

* Show breakfast info in room card

* Show breakfast in price details table

* Format price


Approved-by: Pontus Dreij
2025-03-31 13:43:39 +00:00
Niclas Edenvin e8148fdf21 Merged in fix/remove-modify-button (pull request #1674)
Ancillaries shouldn't be modifiable

* Ancillaries shouldn't be modifiable


Approved-by: Pontus Dreij
2025-03-31 07:41:36 +00:00
Niclas Edenvin 8eec465afa Merged in feat/sw-1681-add-breakfast (pull request #1635)
Feat/sw-1681 add breakfast
This implements the add breakfast flow

Approved-by: Pontus Dreij
2025-03-27 12:40:54 +00:00
Niclas EdenvinandLinus Flood 27efc09647 Merged in fix/breakfast (pull request #1629)
fix: Add type casting for room package codes

* fix: Add type casting for room package codes


Approved-by: Michael Zetterberg
Approved-by: Matilda Landström
2025-03-25 12:14:23 +00:00
Niclas Edenvin fef3a785d0 Merged in feat/sw-1688-list-breakfast (pull request #1615)
Feat/sw-1688 list breakfast

Approved-by: Pontus Dreij
2025-03-25 09:56:05 +00:00
Niclas Edenvin efa7336ebd Merged in feat/sw-1602-preliminary-receipt (pull request #1595)
feat/sw-1602 preliminary receipt

* feat(sw-1602): create page for preliminary receipt

* Add link to my stay page


Approved-by: Pontus Dreij
2025-03-24 07:55:15 +00:00
Niclas EdenvinandMichael Zetterberg cfdbdfc0bc Build please 2025-03-20 10:19:25 +00:00
Niclas EdenvinandMichael Zetterberg 6fb71dea1b fix: Price types has changed to doubles in the API 2025-03-20 10:19:25 +00:00
Niclas Edenvin c88aa92aba Merged in feat/SW-1371-delete-ancillary (pull request #1455)
feat(SW-1371): delete ancillary

* feat(SW-1371): delete ancillary

* Remove outline from dialog

* Consistent return type from mutation

* Error flow


Approved-by: Michael Zetterberg
Approved-by: Pontus Dreij
2025-03-04 14:22:15 +00:00
Niclas Edenvin 747201b0f7 Merged in feat/SW-1282-list-added-ancillaries (pull request #1416)
Feat/SW-1282 list added ancillaries

* feat(sw-1282): add icon to accordionItem

* feat(sw-1282): list added ancillaries

* Change translation key to already existing

* Remove duplicate key

* Move new files to the new folder structure


Approved-by: Pontus Dreij
2025-02-27 22:01:11 +00:00
Niclas Edenvin 9cd648fd65 Merged in feat/sw-1513-anchoring-on-enter-details (pull request #1379)
feat(SW-1513): scroll to new section on enter details page

* feat(SW-1513): scroll to new section on enter details page


Approved-by: Simon.Emanuelsson
2025-02-21 09:13:29 +00:00
Niclas EdenvinandMichael Zetterberg 86a7650813 Merged in feat/sw-1523-my-stay-page (pull request #1227)
feat(SW-1523): foundation for my stay page

* feat(SW-1523): foundation for my stay page

This is the base page for the my stay page. It is very much hard coded
and all components need to get a design update afterwards. But this is
to get the page going!

* fix(i18n): messages


Approved-by: Michael Zetterberg
Approved-by: Christian Andolf
2025-02-05 10:16:32 +00:00
Niclas Edenvin ef22fc4627 This creates the alternative hotels page. It is mostly a copy of the select hotel page, and most of the contents of the pages lives under the same component in /components.
Merged in feat/sw-397-alternative-hotels (pull request #1211)

Feat/sw 397 alternative hotels

* fix(SW-397): create alternative hotels page

* update types

* Adapt to new changes for fetching data

* Make bookingcode optional

* Code review fixes


Approved-by: Simon.Emanuelsson
2025-01-28 12:08:40 +00:00
Niclas Edenvin 501c6be22a Merged in fix/sw-1242-tripadvisor-not-clickable (pull request #1139)
fix(SW-1242): increase touch target of trip advisor icon

* fix(SW-1242): increase touch target of trip advisor icon


Approved-by: Pontus Dreij
2025-01-07 12:52:23 +00:00
Niclas Edenvin 053ef4a1c9 Merged in fix/sw-1120-pet-costs (pull request #1125)
fix(sw-1120): include pet cost in total

* fix(sw-1120): include pet cost in total


Approved-by: Bianca Widstam
2025-01-07 10:39:28 +00:00
Niclas Edenvin 0ac09f37f6 Merged in fix/sw-1177-search-history (pull request #1124)
fix(SW-1177): fix localization problems in search history

* fix(SW-1177): fix localization problems in search history

When saving search history the whole location objects where stored and
also used later. This made the list display in different languages if
the user previously had search for something in another language.
Another issue where that the list where also deduped based on name of
the search item, which meant that there could be multiple history
items for the same entity and the same ID, e.g. `Gothenburg` and
`Göteborg`.


Approved-by: Bianca Widstam
2025-01-07 10:32:32 +00:00
Niclas Edenvin b5b59329f4 Merged in fix/sw-1248-sort-unavailable-rooms (pull request #1126)
fix(SW-1248): show unavailable rooms last

* fix(SW-1248): show unavailable rooms last


Approved-by: Hrishikesh Vaipurkar
2025-01-07 08:35:42 +00:00
Niclas Edenvin dca02b90f0 Merged in fix/sw-1127-image-fixes (pull request #1123)
Fix/sw-1127 image fixes for lightbox

* fix(SW-1127): move back to top button behind lightbox

* fix(SW-1127): don't loop lightbox thumbnails

* fix(SW-1127): nicer animation in the gallery

This both fixes a bug in the gallery where the animation in the carousel
didn't work so good and also animates the images different directions
depending on if the user go left or right.


Approved-by: Matilda Landström
2025-01-07 07:56:17 +00:00
Niclas EdenvinandChristel Westerberg fb20138dd5 Merged in fix/sw-1144-prefill-rate (pull request #1121)
fix(SW-1144): preselect room and rate from URL

* fix(SW-1144): preselect room and rate from URL

* Add brackets
2024-12-27 14:58:27 +01:00
Niclas Edenvin a3f8c954e2 Merged in fix/detailed-facilities-validation (pull request #1108)
fix(SW-1260): allow unrecognized hotel facilities

* fix(SW-1260): allow unrecognized hotel facilities

Before this we only allowed hotel facilities that we know about (ID:s in
an enum). Now we instead allow everything, but filter away the ones we
don't know about.


Approved-by: Christel Westerberg
2024-12-19 09:29:24 +00:00
Niclas Edenvin 77d449b8cb Merged in fix/sw-1160-booking-widget-sticky (pull request #1053)
fix(SW-1160): include current header as sticky

* fix(SW-1160): include current header as sticky

* fix(sw-1160): only count with current header height if its shown


Approved-by: Erik Tiekstra
2024-12-18 08:51:58 +00:00
Niclas Edenvin f98b07ab22 Merged in fix/sw-1144-prefill-filters (pull request #1049)
fix(SW-1144): preselect room features from URL

* fix(SW-1144): preselect room features from URL


Approved-by: Bianca Widstam
Approved-by: Pontus Dreij
2024-12-10 12:50:15 +00:00
Niclas Edenvin cebbdfce53 Merged in fix/sw-1110-search-suggestions (pull request #1046)
fix(sw-1110): only match search keywords from start of word

* fix(sw-1110): only match search keywords from start of word

This changes the search field so when it tries to match on a keyword it
has to match from the beginning of the word, not anywhere in the word


Approved-by: Bianca Widstam
2024-12-09 09:48:31 +00:00
Niclas Edenvin 2660faf4ac Merged in fix/sw-1013-calendar-no-scroll (pull request #1026)
fix(SW-1013): extract custom components from day picker

* fix(SW-1013): extract custom components from day picker

The custom components in the mobile day picker made a lot of components
in the day picker to unmount and mount again, which had weird scrolling
behaviour. They don't need to be baked in to the day picker so they are
now extracted to regular sibling elements.


Approved-by: Pontus Dreij
2024-12-03 16:01:19 +00:00
Niclas Edenvin a69d14ff61 Merged in fix/sw-1011-calendar (pull request #975)
fix(SW-1011): when only choosing one date on mobile

* fix(SW-1011): when only choosing one date on mobile

When choosing only from date on mobile the to date is set to the next
day. This was only the case on desktop before, no it's on mobile too.

* Remove unnecessary dependency


Approved-by: Pontus Dreij
Approved-by: Hrishikesh Vaipurkar
2024-11-27 08:38:29 +00:00
Niclas Edenvin c309619cdc Merged in feat/SW-863-remove-filters (pull request #935)
feat(SW-863): remove filters without a type

* feat(SW-863): remove filters without a type


Approved-by: Pontus Dreij
2024-11-19 14:39:25 +00:00
Niclas EdenvinandJoakim Jäderberg 5fb70866ea Merged in feat/SW-342-filtering-and-sorting-mobile (pull request #919)
Feat/SW-342 filtering and sorting mobile

* feat(SW-342): add sort and filter on mobile

* Use zustand for state management

* Add count and translations

* Clear filters

* Small fixes

* Fixes


Approved-by: Pontus Dreij
2024-11-19 08:05:14 +01:00
Niclas Edenvin d18bc45b19 Merged in feat/SW-342-filtering-and-sorting-mobile (pull request #919)
Feat/SW-342 filtering and sorting mobile

* feat(SW-342): add sort and filter on mobile

* Use zustand for state management

* Add count and translations

* Clear filters

* Small fixes

* Fixes


Approved-by: Pontus Dreij
2024-11-18 14:02:32 +00:00
Niclas Edenvin 18d40120b9 Merged in feat/SW-338-filter-sort-ui (pull request #896)
Feat/SW-338 design filters and sorting on select hotel

* feat(SW-338): design hotel sort dropdown

* Translations

* feat(SW-338): style filters

* Bold

* Import type

* Translations

* Rename and add translation

* Rename translation


Approved-by: Bianca Widstam
2024-11-15 07:18:30 +00:00
Niclas Edenvin 0f97757e31 Merged in feat/sw-620-sort-hotels (pull request #868)
Feat/sw-620 sort hotels

* SW-620 Add radio button to select box

* feat(SW-620): Implement sorting on select hotel

* Fix casing

* Shallow copy hoteldata

* Use translations

* Remove unnecessary style

* Import order

* Type


Approved-by: Pontus Dreij
2024-11-11 08:55:49 +00:00
Niclas Edenvin a8558eb499 feat/sw-251 Filter hotels on select hotel page 2024-11-07 13:34:49 +00:00
Niclas Edenvin 7bf89e80ff Update values for cancellation rule 2024-11-06 15:50:34 +01:00
Niclas Edenvin a9663c856f Make parking data optional 2024-11-05 09:36:10 +01:00
Niclas EdenvinandErik Tiekstra eb0494c2a2 Don't memoize unnecessarily 2024-11-01 07:28:52 +00:00
Niclas EdenvinandErik Tiekstra 63dbbac014 feat(SW-650): fix sticky bug on booking widget mob 2024-11-01 07:28:52 +00:00
Niclas Edenvin 0efa52ada5 Merged in feat/sw-587-sidepeek-for-room (pull request #767)
Create the sidepeek for a specific roomtype. This also changes the lightbox to use react-aria instead of radix-ui, so we use the same for the lightbox and the sidepeek. Works better together!


Approved-by: Bianca Widstam
2024-10-25 14:11:06 +00:00
Niclas Edenvin 8d490e14f2 fix(SW-690): use correct naming of search params in booking
Approved-by: Bianca Widstam
Approved-by: Linus Flood
2024-10-24 08:49:06 +00:00
Niclas Edenvin d37f99f2ba Merged in feat/sw-590-update-room-configuration-schema (pull request #687)
Rename bedType to roomTypeCode

* Rename bedType to roomTypeCode


Approved-by: Fredrik Thorsson
2024-10-14 12:56:11 +00:00
Niclas EdenvinandPontus Dreij 67df5f0771 Destruct prices 2024-10-09 11:03:33 +02:00
Niclas EdenvinandPontus Dreij 4a64cd083d Fix response validation for get stays 2024-10-09 11:03:33 +02:00
Niclas EdenvinandPontus Dreij c2c1a676ca SW-454 Use the API on select room page 2024-10-09 11:03:33 +02:00
Niclas EdenvinandPontus Dreij 6e2fc38952 Merged in feat/SW-454-select-room-implement-use-of-api (pull request #652)
Feat/SW-454 select room implement use of api

Approved-by: Pontus Dreij
2024-10-09 06:19:10 +00:00
Niclas Edenvin 88d57035e8 Destruct prices 2024-10-08 21:42:48 +02:00
Niclas Edenvin 1b1c7e6398 Fix response validation for get stays 2024-10-08 15:24:01 +02:00
Niclas Edenvin baf6ed9f2b SW-454 Use the API on select room page 2024-10-08 15:24:01 +02:00
Niclas Edenvin 6e6d14875d Merged in feat/SW-454-select-room-api (pull request #648)
Feat/SW-454 Create select rate page foundation

* Extract select-rate page to its own, fixed route

* Rename availability to hotelsAvailability

* Update availability hotels response

* Number to string


Approved-by: Pontus Dreij
2024-10-08 09:10:06 +00:00
Niclas Edenvin a5dff7b97d New filter data format 2024-09-27 14:42:40 +02:00
Niclas Edenvin 4477adacdc Change to new enum format for point of interest 2024-09-27 14:30:03 +02:00
Niclas Edenvin 2d25496d79 Update availability endpoint to v1 2024-09-27 14:23:49 +02:00
Niclas Edenvin 03fa798670 Use the interactive map on the map page 2024-09-27 14:23:49 +02:00
Niclas Edenvin 1e7c24f875 Adapt the interactive map for reuse 2024-09-27 14:23:49 +02:00
Niclas Edenvin 1440b4dbae Move map out to its own component 2024-09-27 14:23:45 +02:00
Niclas Edenvin b9dbcf7d90 Merged in feat/booking-flow-submit (pull request #580)
This implements the actual call to the API to create a booking. That’s the only thing it does, it doesn’t handle the response in any way.

This PR is just to get it there and the new booking sub team will handle it further, with payment etc.

Approved-by: Michael Zetterberg
Approved-by: Fredrik Thorsson
Approved-by: Simon.Emanuelsson
2024-09-20 13:05:23 +00:00
Niclas Edenvin 6cfc79f8b5 Merged in feat/booking-flow-documentation (pull request #581)
Add readme for booking flow

* Add readme for booking flow


Approved-by: Fredrik Thorsson
2024-09-16 07:09:47 +00:00
Niclas Edenvin 56a49ee56d Link select hotel to select rate 2024-09-02 10:28:49 +02:00
Niclas Edenvin bb9b457525 Go to select hotel when booking widget submits 2024-09-02 10:20:55 +02:00
Niclas Edenvin 0ab825278c feat: SW-280 implement basic details component 2024-09-02 09:01:21 +02:00
Niclas Edenvin f178f7fde0 Merged in feature/select-room-ux-one-page (pull request #523)
This updates the select room page according to the new UX. It has different sections on the same page, but with specific URLs per section. Since neither UX, UI nor API is completely done both design and data structures are a bit temporary.

Approved-by: Simon.Emanuelsson
2024-08-29 13:38:14 +00:00
Niclas Edenvin 819ac454b0 Merged in feature/refresh-token (pull request #401)
feat: SW-101 Proactively refresh tokens

Approved-by: Michael Zetterberg
2024-08-16 13:56:09 +00:00
Niclas Edenvin 59ae1a1d42 Merged in bug/lang-client-component (pull request #411)
bug: Make staycard a client component

* bug: Make staycard a client component


Approved-by: Hrishikesh Vaipurkar
2024-08-15 12:12:39 +00:00
Niclas Edenvin e67212bd94 Merged in feature/refactor-lang (pull request #387)
feat: SW-238 Avoid prop drilling of lang

Approved-by: Michael Zetterberg
2024-08-14 11:00:20 +00:00
Niclas EdenvinandMichael Zetterberg a5dbd38654 Merged in feature/stays-hover (pull request #380)
bug: SW-235 Fix hover state on stay card

Approved-by: Michael Zetterberg
2024-08-01 08:34:17 +00:00
Niclas Edenvin eca9669222 bug: SW-235 Fix hover state on stay card 2024-08-01 10:22:43 +02:00
Niclas Edenvin 39f2b88088 bug: SW-233 Fix wrong padding on membership number 2024-07-31 13:37:42 +02:00
Niclas Edenvin 5347ae5b6c feat(SW-71): Create bed selection 2024-07-19 09:34:28 +02:00
Niclas Edenvin 364979fdf4 feat(SW-74): add hotel information 2024-07-15 16:13:54 +02:00
Niclas Edenvin e83c967eb3 Add some console logging to auth, for debug 2024-07-12 16:23:35 +02:00
Niclas Edenvin 5c6d9d03ce feat(SW-73): Create breakfast selection 2024-07-12 11:09:12 +02:00
Niclas Edenvin 3374505aee feat(SW-72): Add flexibility selection 2024-07-10 16:04:25 +02:00
Niclas Edenvin 8e94c92c70 feat(SW-72): move the room selection to its own component 2024-07-10 16:04:25 +02:00
Niclas Edenvin c5473f477e feat(SW-70): Move RoomCard types to /types 2024-07-09 13:28:44 +02:00
Niclas Edenvin 722bab97ad feat(SW-70): Create TRPC route to get rates 2024-07-09 13:25:26 +02:00
Niclas Edenvin 78c1452ed3 Add texts to i18n 2024-07-09 13:25:26 +02:00
Niclas Edenvin 337dfe24ff feat(SW-70): Use CSS variable 2024-07-09 13:25:26 +02:00
Niclas Edenvin d6fe6a33b4 feat(SW-70): create base for rate selection page
This is the foundation for the rate selection. Since we don't have UX
and UI ready yet this is on a best effort basis. Things that will be
changed later includes proper API fetching, correct design,
internationalization of text and form handling.
2024-07-09 13:25:26 +02:00
Niclas Edenvin 404b1b38cb Remove debug logging 2024-06-28 14:17:38 +02:00
Niclas Edenvin 6b39f2d990 fix(WEB-233): make cookiebot more resilient 2024-06-28 13:41:37 +02:00
Niclas Edenvin 3b54aea6d7 fix(WEB-233): add the disabled checkbox for cookiebot 2024-06-28 13:41:37 +02:00