diff --git a/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx b/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx index cbc4e497..403711c3 100644 --- a/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx +++ b/src/components/catalog/views/page/layout/CatalogLayoutRoomAdsView.tsx @@ -1,7 +1,7 @@ -import { GetRoomAdPurchaseInfoComposer, PurchaseRoomAdMessageComposer, RoomAdPurchaseInfoEvent, RoomEntryData } from '@nitrots/nitro-renderer'; +import { GetRoomAdPurchaseInfoComposer, GetUserEventCatsMessageComposer, PurchaseRoomAdMessageComposer, RoomAdPurchaseInfoEvent, RoomEntryData, UserEventCatsEvent } from '@nitrots/nitro-renderer'; import { FC, useCallback, useEffect, useState } from 'react'; import { LocalizeText, SendMessageComposer } from '../../../../../api'; -import { Base, Column, Text } from '../../../../../common'; +import { Base, Button, Column, Text } from '../../../../../common'; import { UseMessageEventHook } from '../../../../../hooks'; import { CatalogLayoutProps } from './CatalogLayout.types'; @@ -10,10 +10,11 @@ export const CatalogLayoutRoomAdsView: FC = props => const { page = null } = props; const [ eventName, setEventName ] = useState(''); const [ eventDesc, setEventDesc ] = useState(''); - const [ roomId, setRoomId ] = useState(null); + const [ roomId, setRoomId ] = useState(-1); const [ availableRooms, setAvailableRooms ] = useState([]); const [ extended, setExtended ] = useState(false); - const [ categories, setCategories ] = useState(null); + const [ categoryId, setCategoryId ] = useState(1); + const [ categories, setCategories ] = useState(null); const onRoomAdPurchaseInfoEvent = useCallback((event: RoomAdPurchaseInfoEvent) => { @@ -23,7 +24,7 @@ export const CatalogLayoutRoomAdsView: FC = props => setAvailableRooms(parser.rooms); }, []); - + UseMessageEventHook(RoomAdPurchaseInfoEvent, onRoomAdPurchaseInfoEvent); const purchaseAd = useCallback(() => @@ -33,29 +34,45 @@ export const CatalogLayoutRoomAdsView: FC = props => const flatId = roomId; const name = eventName; const desc = eventDesc; - const categoryId = -1; + const catId = categoryId; - SendMessageComposer(new PurchaseRoomAdMessageComposer(pageId, offerId, flatId, name, extended, desc, categoryId)) - }, [eventDesc, eventName, extended, page.offers, page.pageId, roomId]); + SendMessageComposer(new PurchaseRoomAdMessageComposer(pageId, offerId, flatId, name, extended, desc, catId)) + }, [ categoryId, eventDesc, eventName, extended, page.offers, page.pageId, roomId ]); + + + const onUserEventCatsEvent = (event: UserEventCatsEvent) => + { + const parser = event.getParser(); + + setCategories(parser.categories); + } + + UseMessageEventHook(UserEventCatsEvent, onUserEventCatsEvent); useEffect(() => { SendMessageComposer(new GetRoomAdPurchaseInfoComposer()); - //SendMessageComposer(new GetUserEventCatsMessageComposer()); + // TODO: someone needs to fix this for morningstar + SendMessageComposer(new GetUserEventCatsMessageComposer()); }, []); return (<> - {LocalizeText('roomad.catalog_header')} - - {LocalizeText('roomad.catalog_text')} - + { LocalizeText('roomad.catalog_header') } + + { LocalizeText('roomad.catalog_text') } + + + + { LocalizeText('roomad.catalog_name') } setEventName(event.target.value) } /> - < Text bold>{LocalizeText('roomad.catalog_description')} -