import type { Meta, StoryObj } from "@storybook/nextjs-vite" // import { expect, fn } from 'storybook/test' import { Lang } from "@scandic-hotels/common/constants/language" import { APIProvider } from "@vis.gl/react-google-maps" import { useState } from "react" import { InteractiveMap } from "." import { hotelPins } from "./storybookData" const meta: Meta = { title: "Patterns/Map/Interactive Map", component: InteractiveMap, argTypes: {}, } export default meta type Story = StoryObj export const PrimaryDefault: Story = { args: { lang: Lang.en, hotelPins, isUserLoggedIn: false, coordinates: { lat: 59.32644916839965, lng: 18.067759400301135, }, }, render: (args) => { const mapKey = import.meta.env.VITE_GOOGLE_STATIC_MAP_KEY const mapId = import.meta.env.VITE_GOOGLE_DYNAMIC_MAP_ID if (!mapKey || !mapId) { throw new Error( "VITE_GOOGLE_STATIC_MAP_KEY or VITE_GOOGLE_DYNAMIC_MAP_ID is not defined in your .env file. Please add it to run this story." ) } const [hoveredHotelPin, setHoveredHotelPin] = useState() const [activeHotelPin, setActiveHotelPin] = useState() return (
{ setHoveredHotelPin(args?.hotelName ?? null) }} activeHotelPin={activeHotelPin} onSetActiveHotelPin={(args) => { setActiveHotelPin(args?.hotelName ?? null) }} />
) }, }