Merged in feat/loy-291-new-claim-points-flow (pull request #3508)

feat(LOY-291): New claim points flow for logged in users

* wip new flow

* More wip

* More wip

* Wip styling

* wip with a mutation

* Actually fetch booking data

* More styling wip

* Fix toast duration

* fix loading a11y maybe

* More stuff

* Add feature flag

* Add invalid state

* Clean up

* Add fields for missing user info

* Restructure files

* Add todos

* Disable warning

* Fix icon and border radius


Approved-by: Emma Zettervall
Approved-by: Matilda Landström
This commit is contained in:
Anton Gunnarsson
2026-02-03 13:27:24 +00:00
parent 310ad7bc7f
commit c2cf6b03a7
13 changed files with 775 additions and 1 deletions

View File

@@ -85,7 +85,10 @@ export const FormInput = forwardRef<HTMLInputElement, FormInputProps>(
ref={mergeRefs(field.ref, ref)}
name={field.name}
onBlur={field.onBlur}
onChange={field.onChange}
onChange={(event) => {
field.onChange(event)
props.onChange?.(event)
}}
value={field.value ?? ""}
autoComplete={autoComplete}
id={id ?? field.name}

View File

@@ -160,6 +160,8 @@ import EditOutlined from "./generated/EditOutlined"
import EditFilled from "./generated/EditFilled"
import EditCalendarOutlined from "./generated/EditCalendarOutlined"
import EditCalendarFilled from "./generated/EditCalendarFilled"
import EditDocumentOutlined from "./generated/EditDocumentOutlined"
import EditDocumentFilled from "./generated/EditDocumentFilled"
import EditSquareOutlined from "./generated/EditSquareOutlined"
import EditSquareFilled from "./generated/EditSquareFilled"
import ElectricBikeOutlined from "./generated/ElectricBikeOutlined"
@@ -642,6 +644,9 @@ const _materialIcons = {
edit_calendar: {
rounded: { outlined: EditCalendarOutlined, filled: EditCalendarFilled },
},
edit_document: {
rounded: { outlined: EditDocumentOutlined, filled: EditDocumentFilled },
},
edit_square: {
rounded: { outlined: EditSquareOutlined, filled: EditSquareFilled },
},

View File

@@ -0,0 +1,10 @@
/* AUTO-GENERATED — DO NOT EDIT */
import type { SVGProps } from "react"
const EditDocumentFilled = (props: SVGProps<SVGSVGElement>) => (
<svg viewBox="0 -960 960 960" {...props}>
<path d="M220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h315q12 0 23.5 5t19.5 13l204 204q8 8 13 19.5t5 23.5v99q0 8-5 14.5t-13 8.5q-12 5-23 11.5T738-465L518-246q-8 8-13 19.5t-5 23.5v93q0 13-8.5 21.5T470-80zm340-30v-81q0-6 2-11t7-10l212-211q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22-4.5 22.5T902-300L692-89q-5 5-10 7t-11 2h-81q-13 0-21.5-8.5T560-110m263-194 37-39-37-37-38 38zM550-600h190L520-820l220 220-220-220v190q0 13 8.5 21.5T550-600" />
</svg>
)
export default EditDocumentFilled

View File

@@ -0,0 +1,10 @@
/* AUTO-GENERATED — DO NOT EDIT */
import type { SVGProps } from "react"
const EditDocumentOutlined = (props: SVGProps<SVGSVGElement>) => (
<svg viewBox="0 -960 960 960" {...props}>
<path d="M560-110v-81q0-5.57 2-10.78 2-5.22 7-10.22l211.61-210.77q9.11-9.12 20.25-13.18Q812-440 823-440q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22-4.5 22.5-13.58 20.62L692-89q-5 5-10.22 7-5.21 2-10.78 2h-81q-12.75 0-21.37-8.63Q560-97.25 560-110m300-233-37-37zM620-140h38l121-122-37-37-122 121zM220-80q-24 0-42-18t-18-42v-680q0-24 18-42t42-18h315q12.44 0 23.72 5T578-862l204 204q8 8 13 19.28t5 23.72v71q0 12.75-8.68 21.37-8.67 8.63-21.5 8.63-12.82 0-21.32-8.63-8.5-8.62-8.5-21.37v-56H550q-12.75 0-21.37-8.63Q520-617.25 520-630v-190H220v680h250q12.75 0 21.38 8.68 8.62 8.67 8.62 21.5 0 12.82-8.62 21.32Q482.75-80 470-80zm0-60v-680zm541-141-19-18 37 37z" />
</svg>
)
export default EditDocumentOutlined