fix(sw-350): reverted unnecessary state

This commit is contained in:
Pontus Dreij
2024-10-15 11:54:56 +02:00
parent cae11a80a7
commit 4089d8d8d6
4 changed files with 5 additions and 19 deletions

View File

@@ -24,10 +24,7 @@ const locales = {
[Lang.sv]: sv, [Lang.sv]: sv,
} }
export default function DatePickerForm({ export default function DatePickerForm({ name = "date" }: DatePickerFormProps) {
name = "date",
onToggleOpen,
}: DatePickerFormProps) {
const lang = useLang() const lang = useLang()
const [isOpen, setIsOpen] = useState(false) const [isOpen, setIsOpen] = useState(false)
const selectedDate = useWatch({ name }) const selectedDate = useWatch({ name })
@@ -38,16 +35,10 @@ export default function DatePickerForm({
function close() { function close() {
setIsOpen(false) setIsOpen(false)
if (onToggleOpen) {
onToggleOpen(false)
}
} }
function handleOnClick() { function handleOnClick() {
setIsOpen((prevIsOpen) => !prevIsOpen) setIsOpen((prevIsOpen) => !prevIsOpen)
if (onToggleOpen) {
onToggleOpen(!isOpen)
}
} }
function handleSelectDate(selected: Date) { function handleSelectDate(selected: Date) {
@@ -80,16 +71,13 @@ export default function DatePickerForm({
const target = evt.target as HTMLElement const target = evt.target as HTMLElement
if (ref.current && target && !ref.current.contains(target)) { if (ref.current && target && !ref.current.contains(target)) {
setIsOpen(false) setIsOpen(false)
if (onToggleOpen) {
onToggleOpen(false)
}
} }
} }
document.body.addEventListener("click", handleClickOutside) document.body.addEventListener("click", handleClickOutside)
return () => { return () => {
document.body.removeEventListener("click", handleClickOutside) document.body.removeEventListener("click", handleClickOutside)
} }
}, [setIsOpen, onToggleOpen]) }, [setIsOpen])
const selectedFromDate = dt(selectedDate.from) const selectedFromDate = dt(selectedDate.from)
.locale(lang) .locale(lang)

View File

@@ -78,7 +78,7 @@
.when:hover, .when:hover,
.rooms:hover, .rooms:hover,
.when[data-open="true"], .when:has([data-isopen="true"]),
.rooms:has(.input:active, .input:focus, .input:focus-within) { .rooms:has(.input:active, .input:focus, .input:focus-within) {
background-color: var(--Base-Surface-Primary-light-Hover-alt); background-color: var(--Base-Surface-Primary-light-Hover-alt);
} }

View File

@@ -23,7 +23,6 @@ export default function FormContent({
formId, formId,
}: BookingWidgetFormContentProps) { }: BookingWidgetFormContentProps) {
const intl = useIntl() const intl = useIntl()
const [isDatePickerOpen, setIsDatePickerOpen] = useState(false)
const selectedDate = useWatch({ name: "date" }) const selectedDate = useWatch({ name: "date" })
const rooms = intl.formatMessage({ id: "Guests & Rooms" }) const rooms = intl.formatMessage({ id: "Guests & Rooms" })
@@ -37,14 +36,14 @@ export default function FormContent({
<div className={styles.where}> <div className={styles.where}>
<Search locations={locations} /> <Search locations={locations} />
</div> </div>
<div className={styles.when} data-open={isDatePickerOpen}> <div className={styles.when}>
<Caption color="red" textTransform="bold"> <Caption color="red" textTransform="bold">
{intl.formatMessage( {intl.formatMessage(
{ id: "booking.nights" }, { id: "booking.nights" },
{ totalNights: nights > 0 ? nights : 0 } { totalNights: nights > 0 ? nights : 0 }
)} )}
</Caption> </Caption>
<DatePicker onToggleOpen={setIsDatePickerOpen} /> <DatePicker />
</div> </div>
<div className={styles.rooms}> <div className={styles.rooms}>
<label> <label>

View File

@@ -5,7 +5,6 @@ import type { DateRange } from "react-day-picker"
export interface DatePickerFormProps { export interface DatePickerFormProps {
name?: string name?: string
onToggleOpen?: (isDatePickerOpen: boolean) => void
} }
type LangWithoutEn = Lang.da | Lang.de | Lang.fi | Lang.no | Lang.sv type LangWithoutEn = Lang.da | Lang.de | Lang.fi | Lang.no | Lang.sv