{"version":3,"file":"static/chunks/app/layout-8d8921f2213e7499.js","mappings":"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","sources":["webpack://_N_E/./app/globals.css","webpack://_N_E/./app/contexts/responsiveContext.tsx","webpack://_N_E/./app/contexts/dimenstionContext.tsx","webpack://_N_E/./app/components/base/Spinner.tsx","webpack://_N_E/./app/assets/styles/MiniCalendar.css","webpack://_N_E/./app/components/cart/CartButton.tsx","webpack://_N_E/./app/assets/styles/Contact.css","webpack://_N_E/./app/contexts/algodContext.tsx","webpack://_N_E/./app/components/providers/QueryProvider.tsx","webpack://_N_E/./app/components/providers/RootProviders.tsx","webpack://_N_E/?6fbd","webpack://_N_E/./app/utils/navigation.ts","webpack://_N_E/./app/components/sidebar/mini.tsx","webpack://_N_E/./app/hooks/queries/useWalletQuery.ts","webpack://_N_E/./app/components/wallet/Wallet.tsx","webpack://_N_E/./app/components/links/index.tsx","webpack://_N_E/./app/components/menu/navbar/Navbar.tsx","webpack://_N_E/./app/hooks/queries/useCartQueries.ts","webpack://_N_E/./app/components/Account.tsx","webpack://_N_E/./app/components/ConnectWallet.tsx","webpack://_N_E/./app/components/layout/AnimatedLayout.tsx","webpack://_N_E/./app/assets/styles/App.css"],"sourcesContent":["// extracted by mini-css-extract-plugin","'use client'\nimport React, { createContext, ReactNode, useContext, useEffect, useState } from 'react'\n\n// Define types for the breakpoints\ntype Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'\n\n// Define the interface for the responsive context\ninterface ResponsiveContextType {\n // Current width of the window\n width: number\n // Current height of the window\n height: number\n // Breakpoint checks\n isXs: boolean\n isSm: boolean\n isMd: boolean\n isLg: boolean\n isXl: boolean\n is2Xl: boolean\n // Device type checks\n isMobile: boolean\n isTablet: boolean\n isDesktop: boolean\n // Current breakpoint\n breakpoint: Breakpoint\n}\n\n// Default values for SSR\nconst defaultContextValue: ResponsiveContextType = {\n width: 0,\n height: 0,\n isXs: false,\n isSm: false,\n isMd: false,\n isLg: false,\n isXl: false,\n is2Xl: false,\n isMobile: false,\n isTablet: false,\n isDesktop: false,\n breakpoint: 'xs',\n}\n\n// Tailwind breakpoint values\nconst breakpoints = {\n xs: 0,\n sm: 640,\n md: 768,\n lg: 1024,\n xl: 1280,\n '2xl': 1536,\n}\n\n// Create the context\nconst ResponsiveContext = createContext(defaultContextValue)\n\n// Props for the provider\ninterface ResponsiveProviderProps {\n children: ReactNode\n}\n\n// Create the provider component\nexport const ResponsiveProvider: React.FC = ({ children }) => {\n const [responsive, setResponsive] = useState(defaultContextValue)\n\n useEffect(() => {\n // Check if window is available (browser environment)\n if (typeof window === 'undefined') return\n\n // Function to update state based on window size\n const updateResponsiveState = () => {\n const width = window.innerWidth\n const height = window.innerHeight\n\n // Determine current breakpoint\n let currentBreakpoint: Breakpoint = 'xs'\n if (width >= breakpoints['2xl']) currentBreakpoint = '2xl'\n else if (width >= breakpoints.xl) currentBreakpoint = 'xl'\n else if (width >= breakpoints.lg) currentBreakpoint = 'lg'\n else if (width >= breakpoints.md) currentBreakpoint = 'md'\n else if (width >= breakpoints.sm) currentBreakpoint = 'sm'\n\n // Update the state\n setResponsive({\n width,\n height,\n // Breakpoint flags\n isXs: width >= breakpoints.xs && width < breakpoints.sm,\n isSm: width >= breakpoints.sm && width < breakpoints.md,\n isMd: width >= breakpoints.md && width < breakpoints.lg,\n isLg: width >= breakpoints.lg && width < breakpoints.xl,\n isXl: width >= breakpoints.xl && width < breakpoints['2xl'],\n is2Xl: width >= breakpoints['2xl'],\n // Device type flags\n isMobile: width < breakpoints.md,\n isTablet: width >= breakpoints.md && width < breakpoints.lg,\n isDesktop: width >= breakpoints.lg,\n // Current breakpoint\n breakpoint: currentBreakpoint,\n })\n }\n\n // Set initial values\n updateResponsiveState()\n\n // Add event listener\n window.addEventListener('resize', updateResponsiveState)\n\n // Cleanup\n return () => window.removeEventListener('resize', updateResponsiveState)\n }, [])\n\n return {children}\n}\n\n// Custom hook to use the responsive context\nexport const useResponsive = (): ResponsiveContextType => {\n const context = useContext(ResponsiveContext)\n if (context === undefined) {\n throw new Error('useResponsive must be used within a ResponsiveProvider')\n }\n return context\n}\n","'use client'\nimport { createContext, ReactNode, useContext, useEffect, useState } from 'react'\n\ninterface DimensionContextType {\n heights: Record\n setHeights: React.Dispatch>>\n totalOtherHeights: number\n totalCreateOtherHeights: number\n createBodyHeight: number\n}\n\n// Create a no-op function for setHeights default\nconst noop = () => {}\n\n// Provide default values for all required fields\nconst defaultContext: DimensionContextType = {\n heights: {\n navbar: 0,\n footer: 0,\n createNavbar: 0,\n createFooter: 0,\n },\n setHeights: noop,\n totalOtherHeights: 0,\n totalCreateOtherHeights: 0,\n createBodyHeight: 0,\n}\n\nexport const DimensionContext = createContext(defaultContext)\n\ninterface DimensionProviderProps {\n children: ReactNode\n}\n\nexport function DimensionProvider({ children }: DimensionProviderProps) {\n const [heights, setHeights] = useState({\n navbar: 0,\n footer: 0,\n createNavbar: 0,\n createFooter: 0,\n })\n const [createBodyHeight, setCreateBodyHeight] = useState(0)\n const [totalOtherHeights, setTotalOtherHeights] = useState(0)\n const [totalCreateOtherHeights, setTotalCreateOtherHeights] = useState(0)\n\n useEffect(() => {\n if (typeof window == 'undefined') return\n setCreateBodyHeight(window.innerHeight - totalCreateOtherHeights)\n setTotalOtherHeights(heights.navbar + heights.footer)\n setTotalCreateOtherHeights(heights.createNavbar + heights.createFooter)\n }, [heights.navbar, heights.footer, heights.createNavbar, heights.createFooter, totalCreateOtherHeights])\n\n return (\n \n {children}\n \n )\n}\n\nexport function useDimensionContext() {\n const context = useContext(DimensionContext)\n if (!context) {\n throw new Error('useDimensionContext must be used within a DimensionProvider')\n }\n return context\n}\n","import { FiLoader } from 'react-icons/fi'\n\nexport default function Spinner({ size = 'lg', color = 'p' }: { size?: 's' | 'lg' | 'md'; color?: 'w' | 'p' }) {\n const sz = size == 'lg' ? 'w-16 h-16' : size == 'md' ? 'w-8 h-8' : size == 's' ? 'w-4 h-4' : 'w-4 h-4'\n const cl = color == 'p' ? '#7C05F2' : '#E9E3FF'\n return (\n
\n \n
\n )\n}\n","// extracted by mini-css-extract-plugin","'use client'\n\nimport { FiShoppingCart } from 'react-icons/fi'\nimport { create } from 'zustand'\nimport { useCartQuery } from '../../hooks/queries/useCartQueries'\n\ninterface CartStore {\n isOpen: boolean\n toggle: () => void\n}\n\nexport const useCartStore = create((set) => ({\n isOpen: false,\n toggle: () => set((state) => ({ isOpen: !state.isOpen })),\n}))\n\nexport default function CartButton() {\n const { data: cart } = useCartQuery()\n const toggle = useCartStore((state) => state.toggle)\n\n return (\n \n
\n \n {cart?.items.length ? (\n \n {cart.items.length}\n \n ) : null}\n
\n \n )\n}\n","// extracted by mini-css-extract-plugin","'use client'\nimport { AlgorandClient, Config, getAlgoIndexerClient } from '@algorandfoundation/algokit-utils'\nimport { nullLogger } from '@algorandfoundation/algokit-utils/types/logging'\n\nimport { PROVIDER_ID, ProvidersArray, useInitializeProviders, WalletProvider } from '@txnlab/use-wallet'\nimport algosdk from 'algosdk'\nimport IndexerClient from 'algosdk/dist/types/client/v2/indexer/indexer'\nimport { createContext, ReactNode, useContext, useRef } from 'react'\n\nConfig.configure({\n logger: nullLogger,\n debug: false,\n})\n\nfunction getAlgodConfigFromEnv() {\n return {\n server: 'https://testnet-api.algonode.cloud',\n port: 443,\n token: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa',\n network: 'testnet',\n }\n}\n\nconst getDynamicDeflyWalletConnect = async () => {\n const DeflyWalletConnect = (await import('@blockshake/defly-connect')).DeflyWalletConnect\n return DeflyWalletConnect\n}\n\nconst getDynamicPeraWalletConnect = async () => {\n const PeraWalletConnect = (await import('@perawallet/connect')).PeraWalletConnect\n return PeraWalletConnect\n}\n\nconst getDynamicDaffiWalletConnect = async () => {\n const DaffiWalletConnect = (await import('@daffiwallet/connect')).DaffiWalletConnect\n return DaffiWalletConnect\n}\n\ninterface AlgodContextType {\n algodClient: AlgorandClient\n indexer: IndexerClient\n}\n\nexport const AlgodContext = createContext>({})\n\ninterface AlgodProviderProps {\n children: ReactNode\n}\n\nexport function AlgodProvider({ children }: AlgodProviderProps) {\n const algodConfig = useRef(getAlgodConfigFromEnv())\n const algodClient = useRef(AlgorandClient.testNet())\n const indexer = useRef(getAlgoIndexerClient(algodConfig.current))\n\n const providersArray = useRef([\n { id: PROVIDER_ID.PERA, getDynamicClient: getDynamicPeraWalletConnect, clientOptions: { shouldShowSignTxnToast: true } },\n { id: PROVIDER_ID.DEFLY, getDynamicClient: getDynamicDeflyWalletConnect, clientOptions: { shouldShowSignTxnToast: true } },\n { id: PROVIDER_ID.DAFFI, getDynamicClient: getDynamicDaffiWalletConnect, clientOptions: { shouldShowSignTxnToast: true } },\n ])\n\n const walletProviders = useInitializeProviders({\n providers: providersArray.current,\n nodeConfig: {\n network: 'testnet',\n nodeServer: algodConfig.current.server,\n nodePort: String(algodConfig.current.port),\n nodeToken: String(algodConfig.current.token),\n },\n algosdkStatic: algosdk,\n })\n\n const value = {\n algodClient: algodClient.current,\n indexer: indexer.current,\n }\n return (\n \n {children}\n \n )\n}\nexport function useAlgodClient() {\n const context = useContext(AlgodContext)\n if (context === undefined) {\n throw new Error('useAlgodClient must be used within a AlgodProvider')\n }\n return context\n}\n","'use client'\n\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { useState, type ReactNode } from 'react'\n\nexport default function QueryProvider({ children }: { children: ReactNode }) {\n const [queryClient] = useState(\n () =>\n new QueryClient({\n defaultOptions: {\n queries: {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 60, // 1 hour\n retry: 1,\n refetchOnWindowFocus: false,\n },\n mutations: {\n retry: 1,\n },\n },\n }),\n )\n\n return (\n \n {children}\n {/* */}\n \n )\n}\n","'use client'\n\nimport { SnackbarProvider } from 'notistack'\nimport { AlgodProvider } from '../../contexts/algodContext'\nimport { DimensionProvider } from '../../contexts/dimenstionContext'\nimport { ResponsiveProvider } from '../../contexts/responsiveContext'\nimport QueryProvider from './QueryProvider'\n\nexport default function RootProviders({ children }: { children: React.ReactNode }) {\n return (\n \n \n \n \n {children}\n \n \n \n \n )\n}\n","import(/* webpackMode: \"eager\" */ \"/codebuild/output/src1784519652/src/soti/app/assets/styles/App.css\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src1784519652/src/soti/app/assets/styles/Contact.css\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src1784519652/src/soti/app/assets/styles/MiniCalendar.css\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src1784519652/src/soti/app/components/layout/AnimatedLayout.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src1784519652/src/soti/app/components/menu/navbar/Navbar.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"default\"] */ \"/codebuild/output/src1784519652/src/soti/app/components/providers/RootProviders.tsx\");\n;\nimport(/* webpackMode: \"eager\" */ \"/codebuild/output/src1784519652/src/soti/app/globals.css\");\n","// NextJS Requirement\nexport const isWindowAvailable = () => typeof window !== 'undefined'\n","import React from 'react'\nimport { IoMenuOutline } from 'react-icons/io5'\nimport { isWindowAvailable } from '../../utils/navigation'\nimport SidebarContent from './content'\n\nexport function SidebarResponsive() {\n const [isOpen, setIsOpen] = React.useState(false)\n const btnRef = React.useRef(null)\n\n const onClose = () => setIsOpen(false)\n const onOpen = () => setIsOpen(true)\n\n return (\n
\n
\n \n
\n\n {/* Backdrop */}\n {isOpen &&
}\n\n {/* Drawer */}\n \n {/* Close Button */}\n
\n \n
\n {/* Content */}\n
\n \n
\n
\n
\n )\n}\n","import { useQuery } from '@tanstack/react-query'\nimport { useWallet } from '@txnlab/use-wallet'\nimport { microalgosToAlgos } from 'algosdk'\n\nexport const walletKeys = {\n all: ['wallet'] as const,\n balance: () => [...walletKeys.all, 'balance'] as const,\n assets: () => [...walletKeys.all, 'assets'] as const,\n info: (address: string) => [...walletKeys.all, 'info', address] as const,\n}\n\ninterface WalletInfo {\n balance: string\n formattedBalance: {\n main: string\n decimal: string\n }\n}\n\nexport function useWalletQuery() {\n const { activeAddress, getAccountInfo, isReady } = useWallet()\n\n return useQuery({\n queryKey: walletKeys.info(activeAddress || ''),\n queryFn: async (): Promise => {\n const info = await getAccountInfo()\n if (!info) throw new Error('Failed to fetch account info')\n\n const amount = microalgosToAlgos(info.amount).toFixed(2)\n const [main, decimal] = amount.split('.')\n\n return {\n balance: amount,\n formattedBalance: {\n main,\n decimal,\n },\n }\n },\n enabled: !!activeAddress && isReady,\n staleTime: 1000 * 30, // 30 seconds\n refetchInterval: 1000 * 60, // 1 minute\n retry: 2,\n gcTime: 1000 * 60 * 5, // 5 minutes\n })\n}\n","import { CopyIcon, ExternalLinkIcon, TimeIcon } from '@chakra-ui/icons'\nimport { useWallet } from '@txnlab/use-wallet'\nimport Image from 'next/image'\nimport { useEffect, useRef, useState } from 'react'\nimport { useWalletQuery } from '../../hooks/queries/useWalletQuery'\nimport Spinner from '../base/Spinner'\nimport ConnectWallet from '../ConnectWallet'\n\nexport function Wallet() {\n const { activeAddress, providers } = useWallet()\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [showQuickMenu, setShowQuickMenu] = useState(false)\n const menuRef = useRef(null)\n const { data: walletInfo, isLoading } = useWalletQuery()\n const provider = providers ? providers.find((p) => p.isActive) : undefined\n useEffect(() => {\n function handleClickOutside(event: MouseEvent) {\n if (menuRef.current && !menuRef.current.contains(event.target as Node)) {\n setShowQuickMenu(false)\n }\n }\n\n document.addEventListener('mousedown', handleClickOutside)\n return () => {\n document.removeEventListener('mousedown', handleClickOutside)\n }\n }, [])\n\n const handleDisconnect = () => {\n if (providers) {\n const activeProvider = providers.find((p) => p.isActive)\n if (activeProvider) {\n activeProvider.disconnect()\n } else {\n localStorage.removeItem('txnlab-use-wallet')\n window.location.reload()\n }\n }\n setShowQuickMenu(false)\n }\n\n const handleCopyAddress = () => {\n if (activeAddress) {\n navigator.clipboard.writeText(activeAddress)\n // Could add a toast notification here\n }\n setShowQuickMenu(false)\n }\n\n const handleViewOnExplorer = () => {\n if (activeAddress) {\n window.open(`https://allo.info/account/${activeAddress}`, '_blank')\n }\n setShowQuickMenu(false)\n }\n\n return (\n <>\n {activeAddress && provider ? (\n
\n setShowQuickMenu(!showQuickMenu)}\n className=\"\n flex\n items-center\n gap-2\n px-3\n py-1.5\n rounded-full\n bg-gradient-to-r from-brand-400 to-black\n hover:bg-navy-700\n transition-colors\n cursor-pointer\n relative\n \"\n >\n
\n \n
\n
\n {isLoading ? (\n
\n \n
\n ) : (\n
\n
\n {walletInfo?.formattedBalance.main}\n .{walletInfo?.formattedBalance.decimal}\n
\n ALGO\n
\n )}\n
\n
\n\n {/* Quick Action Menu */}\n {showQuickMenu && (\n
\n \n \n Copy Address\n \n \n \n View on Explorer\n \n {\n setIsModalOpen(true)\n setShowQuickMenu(false)\n }}\n className=\"flex items-center gap-2 w-full px-4 py-2 text-sm text-gray-200 hover:bg-navy-700 transition-colors\"\n >\n \n Transaction History\n \n
\n \n \n Disconnect\n \n
\n )}\n
\n ) : (\n setIsModalOpen(true)}\n className=\"\n px-6\n py-2\n rounded-full\n bg-brand-400\n text-white\n font-thin\n hover:bg-brand-500\n transition-colors\n focus:outline-none\n focus:ring-2\n focus:ring-brand-400/50\n \"\n >\n Connect\n \n )}\n\n setIsModalOpen(false)} />\n \n )\n}\n","'use client'\nimport CartButton from '../cart/CartButton'\nimport { LogoText } from '../icons/icons'\nimport { SidebarResponsive } from '../sidebar/mini'\n// Assets\nimport { HorizontalSidebarLinks } from '../sidebar/sidebarlinks'\nimport { Wallet } from '../wallet/Wallet'\n\nexport default function NavBarLinks() {\n return (\n \n {/* Left section */}\n
\n \n
\n \n
\n
\n\n {/* Center section */}\n
\n \n
\n\n {/* Right section */}\n
\n
\n \n \n
\n
\n \n )\n}\n","'use client'\n\nimport NavBarLinks from '../../links'\n\nexport default function Navbar() {\n return (\n
\n
\n
\n
\n \n
\n
\n
\n
\n )\n}\n","import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query'\nimport { useWallet } from '@txnlab/use-wallet'\nimport { createTicketContractService } from '../../services/ticketContract'\nimport { EVENTSMODEL } from '../../types/graphql/API'\n\nexport const cartKeys = {\n all: ['cart'] as const,\n items: () => [...cartKeys.all, 'items'] as const,\n event: (eventId: string) => [...cartKeys.all, 'event', eventId] as const,\n}\n\n// Local storage functions\nconst CART_STORAGE_KEY = 'soti_cart'\n\nasync function getStoredCart(): Promise {\n if (typeof window === 'undefined') return { items: [], total: 0, isCheckingOut: false }\n const stored = localStorage.getItem(CART_STORAGE_KEY)\n return stored ? JSON.parse(stored) : { items: [], total: 0, isCheckingOut: false }\n}\n\nasync function setStoredCart(cart: CartState): Promise {\n if (typeof window === 'undefined') return cart\n localStorage.setItem(CART_STORAGE_KEY, JSON.stringify(cart))\n return cart\n}\n\n// Cart Query Hook\nexport function useCartQuery() {\n return useQuery({\n queryKey: cartKeys.items(),\n queryFn: getStoredCart,\n staleTime: Infinity, // Cart data is managed through mutations\n })\n}\n\n// Cart Mutation Hooks\nexport function useCartMutations(event?: EVENTSMODEL) {\n const queryClient = useQueryClient()\n const { activeAddress, signer } = useWallet()\n\n // Add to Cart\n const addToCart = useMutation({\n mutationFn: async (item: Omit): Promise => {\n const cart = await getStoredCart()\n const existingItemIndex = cart.items.findIndex((i) => i.section === item.section)\n\n if (existingItemIndex >= 0) {\n cart.items[existingItemIndex].quantity += item.quantity\n } else {\n cart.items.push({ ...item, eventId: event?.id || '', boxId: item.box?.id || 0 })\n }\n\n // Calculate total\n cart.total = cart.items.reduce((sum, item) => {\n return sum + Number(item.price) * item.quantity\n }, 0)\n\n return setStoredCart(cart)\n },\n onSuccess: (newCart) => {\n queryClient.setQueryData(cartKeys.items(), newCart)\n },\n })\n\n // Update Quantity\n const updateQuantity = useMutation({\n mutationFn: async ({ section, quantity }: { section: string; quantity: number }): Promise => {\n const cart = await getStoredCart()\n const itemIndex = cart.items.findIndex((i) => i.section === section)\n\n if (itemIndex >= 0) {\n if (quantity === 0) {\n cart.items.splice(itemIndex, 1)\n } else {\n cart.items[itemIndex].quantity = quantity\n }\n }\n\n // Calculate total\n cart.total = cart.items.reduce((sum, item) => {\n return sum + Number(item.price) * item.quantity\n }, 0)\n\n return setStoredCart(cart)\n },\n onSuccess: (newCart) => {\n queryClient.setQueryData(cartKeys.items(), newCart)\n },\n })\n\n // Remove from Cart\n const removeFromCart = useMutation({\n mutationFn: async (section: string): Promise => {\n const cart = await getStoredCart()\n cart.items = cart.items.filter((i) => i.section !== section)\n cart.total = cart.items.reduce((sum, item) => {\n return sum + Number(item.price) * item.quantity\n }, 0)\n return setStoredCart(cart)\n },\n onSuccess: (newCart) => {\n queryClient.setQueryData(cartKeys.items(), newCart)\n },\n })\n\n // Clear Cart\n const clearCart = useMutation({\n mutationFn: async (): Promise => {\n const emptyCart = { items: [], total: 0, isCheckingOut: false }\n return setStoredCart(emptyCart)\n },\n onSuccess: (newCart) => {\n queryClient.setQueryData(cartKeys.items(), newCart)\n },\n })\n\n // Purchase Cart Items\n const purchaseCart = useMutation({\n mutationFn: async (items: CartItem[]) => {\n if (!event?.name || !event.contract?.appId || !activeAddress) {\n throw new Error('Missing required data for purchase')\n }\n\n const ticketService = createTicketContractService(event.name, event.contract.appId, activeAddress, signer)\n\n const result = await ticketService.purchaseTickets(items)\n if (!result?.success) {\n throw new Error('Purchase failed')\n }\n\n return result\n },\n onSuccess: () => {\n // Clear cart after successful purchase\n clearCart.mutate()\n\n // Invalidate relevant queries\n queryClient.invalidateQueries({ queryKey: ['tickets'] })\n queryClient.invalidateQueries({ queryKey: ['events'] })\n },\n })\n\n return {\n addToCart: addToCart.mutate,\n updateQuantity: updateQuantity.mutate,\n removeFromCart: removeFromCart.mutate,\n clearCart: clearCart.mutate,\n purchaseCart: purchaseCart.mutate,\n isPurchasing: purchaseCart.isPending,\n purchaseError: purchaseCart.error,\n }\n}\n","import { useWallet } from '@txnlab/use-wallet'\n\nconst ellipseAddress = (address: string | undefined) => {\n if (!address) return ''\n return `${address.slice(0, 4)}...${address.slice(-4)}`\n}\n\nconst Account = () => {\n const { activeAddress } = useWallet()\n\n const networkName = process.env.NEXT_PUBLIC_ALGOD_NETWORK || 'testnet'\n // const dappFlowNetworkName = networkName.toLowerCase()\n\n return (\n
\n
\n \n
Address
\n {ellipseAddress(activeAddress)}\n \n
\n
Network
\n
{networkName}
\n
\n
\n
\n )\n}\n\nexport default Account\n","import { Provider, useWallet } from '@txnlab/use-wallet'\nimport Image from 'next/image'\nimport Account from './Account'\n\ninterface ConnectWalletInterface {\n openModal: boolean\n closeModal: () => void\n}\n\nconst ConnectWallet = ({ openModal, closeModal }: ConnectWalletInterface) => {\n const { providers, activeAddress } = useWallet()\n\n const isKmd = (provider: Provider) => provider.metadata.name.toLowerCase() === 'kmd'\n\n if (!openModal) return null\n\n return (\n
\n
\n
\n

Select Wallet

\n \n
\n\n
\n {activeAddress && (\n <>\n \n
\n \n )}\n\n {!activeAddress && (\n
\n {providers?.map((provider) => (\n provider.connect()}\n className=\"flex items-center gap-3 w-full rounded-xl border border-gray-700 bg-[#12132D] p-4 \n hover:border-[#9D5AF2] hover:bg-[#1A1B3D] transition-all duration-200\"\n >\n {!isKmd(provider) && (\n \n )}\n {isKmd(provider) ? 'LocalNet Wallet' : provider.metadata.name}\n \n ))}\n
\n )}\n
\n\n
\n {activeAddress && (\n {\n if (providers) {\n const activeProvider = providers.find((p) => p.isActive)\n if (activeProvider) {\n activeProvider.disconnect()\n } else {\n localStorage.removeItem('txnlab-use-wallet')\n window.location.reload()\n }\n }\n }}\n >\n Disconnect Wallet\n \n )}\n \n Close\n \n
\n
\n
\n )\n}\n\nexport default ConnectWallet\n","'use client'\n\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { useResponsive } from '../../contexts/responsiveContext'\nimport { useCartStore } from '../cart/CartButton'\n\ninterface AnimatedLayoutProps {\n children: React.ReactNode\n cart: React.ReactNode\n sidebar: React.ReactNode\n}\n\nexport default function AnimatedLayout({ children, cart, sidebar }: AnimatedLayoutProps) {\n const isOpen = useCartStore((state) => state.isOpen)\n const { isDesktop } = useResponsive()\n\n return (\n
\n
{sidebar}
\n
\n \n {children}\n \n \n {isOpen && isDesktop && (\n \n {cart}\n \n )}\n {isOpen && !isDesktop && (\n \n {cart}\n \n )}\n \n
\n
\n )\n}\n","// extracted by mini-css-extract-plugin"],"names":["defaultContextValue","width","height","isXs","isSm","isMd","isLg","isXl","is2Xl","isMobile","isTablet","isDesktop","breakpoint","breakpoints","xs","sm","md","lg","xl","ResponsiveContext","createContext","ResponsiveProvider","children","responsive","setResponsive","useState","useEffect","updateResponsiveState","window","innerWidth","innerHeight","currentBreakpoint","addEventListener","removeEventListener","Provider","value","context","useContext","DimensionContext","heights","navbar","footer","createNavbar","createFooter","setHeights","noop","totalOtherHeights","totalCreateOtherHeights","createBodyHeight","DimensionProvider","setCreateBodyHeight","setTotalOtherHeights","setTotalCreateOtherHeights","useDimensionContext","Error","Spinner","size","color","div","className","FiLoader","cl","useCartStore","create","isOpen","toggle","set","state","CartButton","data","cart","useCartQuery","button","onClick","aria-label","FiShoppingCart","items","length","span","Config","configure","logger","nullLogger","debug","getDynamicDeflyWalletConnect","DeflyWalletConnect","getDynamicPeraWalletConnect","PeraWalletConnect","getDynamicDaffiWalletConnect","DaffiWalletConnect","AlgodContext","AlgodProvider","algodConfig","useRef","server","port","token","network","algodClient","AlgorandClient","testNet","indexer","getAlgoIndexerClient","current","providersArray","id","PROVIDER_ID","PERA","getDynamicClient","clientOptions","shouldShowSignTxnToast","DEFLY","DAFFI","walletProviders","useInitializeProviders","providers","nodeConfig","nodeServer","nodePort","String","nodeToken","algosdkStatic","algosdk","WalletProvider","QueryProvider","queryClient","QueryClient","defaultOptions","queries","staleTime","gcTime","retry","refetchOnWindowFocus","mutations","QueryClientProvider","client","RootProviders","SnackbarProvider","maxSnack","isWindowAvailable","setIsOpen","React","btnRef","onClose","ref","onOpen","IoMenuOutline","document","documentElement","dir","svg","fill","stroke","viewBox","path","strokeLinecap","strokeLinejoin","strokeWidth","d","SidebarContent","walletKeys","all","balance","assets","info","address","Wallet","activeAddress","useWallet","isModalOpen","setIsModalOpen","showQuickMenu","setShowQuickMenu","menuRef","walletInfo","isLoading","useWalletQuery","getAccountInfo","isReady","useQuery","queryKey","queryFn","amount","microalgosToAlgos","toFixed","main","decimal","split","formattedBalance","enabled","refetchInterval","provider","find","p","isActive","undefined","handleClickOutside","event","contains","target","Image","alt","metadata","src","icon","style","objectFit","borderRadius","handleCopyAddress","navigator","clipboard","writeText","CopyIcon","handleViewOnExplorer","open","ExternalLinkIcon","TimeIcon","handleDisconnect","activeProvider","disconnect","localStorage","removeItem","location","reload","ConnectWallet","openModal","closeModal","NavBarLinks","SidebarResponsive","LogoText","HorizontalSidebarLinks","Navbar","cartKeys","eventId","getStoredCart","stored","getItem","CART_STORAGE_KEY","JSON","parse","total","isCheckingOut","setStoredCart","setItem","stringify","Infinity","useCartMutations","useQueryClient","signer","addToCart","useMutation","mutationFn","item","existingItemIndex","findIndex","i","section","quantity","push","boxId","box","reduce","sum","Number","price","onSuccess","setQueryData","newCart","updateQuantity","itemIndex","splice","removeFromCart","filter","clearCart","emptyCart","purchaseCart","contract","appId","ticketService","createTicketContractService","name","result","purchaseTickets","success","mutate","invalidateQueries","isPurchasing","isPending","purchaseError","error","ellipseAddress","slice","Account","networkName","process","env","NEXT_PUBLIC_ALGOD_NETWORK","a","rel","href","isKmd","toLowerCase","h3","map","data-test-id","connect","AnimatedLayout","sidebar","useResponsive","motion","animate","marginRight","transition","duration","AnimatePresence","initial","x","exit","y"],"sourceRoot":"","ignoreList":[]}