@homefile/components-v2 2.28.1 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/assets/locales/en/index.json +6 -0
  2. package/dist/components/homeAssistant/monitorAlerts/HomieAddItems.d.ts +2 -0
  3. package/dist/components/homeAssistant/monitorAlerts/HomieAddItems.js +14 -0
  4. package/dist/components/homeAssistant/monitorAlerts/index.d.ts +1 -0
  5. package/dist/components/homeAssistant/monitorAlerts/index.js +1 -0
  6. package/dist/components/homeBoard/HomeBoard.js +2 -2
  7. package/dist/components/tile/MinimizedTile.js +2 -2
  8. package/dist/components/tile/MinimizedTiles.js +2 -2
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.js +1 -1
  11. package/dist/interfaces/homeAssistant/HomieAddItems.interface.d.ts +9 -0
  12. package/dist/interfaces/homeAssistant/HomieAddItems.interface.js +1 -0
  13. package/dist/interfaces/homeAssistant/index.d.ts +1 -0
  14. package/dist/interfaces/homeAssistant/index.js +1 -0
  15. package/dist/stories/homeAssistant/HomeMonitor.stories.d.ts +1 -0
  16. package/dist/stories/homeAssistant/HomeMonitor.stories.js +9 -2
  17. package/dist/stories/tiles/MinimizedTiles.stories.js +4 -0
  18. package/package.json +1 -1
  19. package/src/assets/locales/en/index.json +6 -0
  20. package/src/components/homeAssistant/monitorAlerts/HomieAddItems.tsx +58 -0
  21. package/src/components/homeAssistant/monitorAlerts/index.ts +1 -0
  22. package/src/components/homeBoard/HomeBoard.tsx +5 -1
  23. package/src/components/tile/MinimizedTile.tsx +14 -11
  24. package/src/components/tile/MinimizedTiles.tsx +10 -4
  25. package/src/index.ts +1 -0
  26. package/src/interfaces/homeAssistant/HomieAddItems.interface.ts +10 -0
  27. package/src/interfaces/homeAssistant/index.ts +1 -0
  28. package/src/stories/homeAssistant/HomeMonitor.stories.tsx +28 -1
  29. package/src/stories/tiles/MinimizedTiles.stories.tsx +8 -0
@@ -478,6 +478,12 @@
478
478
  "unopened": "Unopened"
479
479
  }
480
480
  },
481
+ "homieAddItems": {
482
+ "addItem": "Upload a picture of your refrigerator label",
483
+ "addReceipt": "Add a picture of a purchase receipt.",
484
+ "subTitle": "Give them a try.",
485
+ "title": "Homie does the work for you."
486
+ },
481
487
  "householdItems": {
482
488
  "headers": {
483
489
  "itemName": "An item name",
@@ -0,0 +1,2 @@
1
+ import { HomieAddItemsI } from '../../../interfaces';
2
+ export declare const HomieAddItems: ({ onAddReceipt, onAddItem }: HomieAddItemsI) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { t } from 'i18next';
3
+ import { Box, Stack, Text, Image, Flex } from '@chakra-ui/react';
4
+ import { Fridge, Register } from '../../../assets/images';
5
+ import { colors } from '../../../theme/colors';
6
+ import { Plus } from '../..';
7
+ export const HomieAddItems = ({ onAddReceipt, onAddItem }) => {
8
+ return (_jsxs(Stack, { spacing: "base", flex: "1", zIndex: "2", pr: "6", children: [_jsx(Text, { fontSize: "26px", lineHeight: "36px", textAlign: "center", children: t('homieAddItems.title') }), _jsx(Box, { bg: "lightBlue.5", borderRadius: "full", py: "2", children: _jsx(Text, { fontWeight: "medium", textAlign: "center", children: t('homieAddItems.subTitle') }) }), _jsx(AddButton, { icon: Register, text: t('homieAddItems.addReceipt'), onClick: onAddReceipt }), _jsx(AddButton, { icon: Fridge, text: t('homieAddItems.addItem'), onClick: onAddItem })] }));
9
+ };
10
+ const AddButton = ({ icon, text, onClick }) => {
11
+ return (_jsx(Box, { as: "button", p: "base", bg: "neutral.white", boxShadow: "md", transition: "background 0.2s", _hover: {
12
+ bg: 'lightGreen.7',
13
+ }, onClick: onClick, minH: "80px", children: _jsxs(Flex, { align: "center", gap: "base", children: [_jsxs(Flex, { children: [_jsx(Plus, { size: 18, stroke: colors.blue[3] }), _jsx(Image, { boxSize: "32px", src: icon })] }), _jsx(Text, { textAlign: "left", lineHeight: "22px", children: text })] }) }));
14
+ };
@@ -8,5 +8,6 @@ export * from './BackendAlertCard';
8
8
  export * from './WeatherWidget';
9
9
  export * from './HomefileMonitoring';
10
10
  export * from './HomeMonitorPanel';
11
+ export * from './HomieAddItems';
11
12
  export * from './MonitorAlerts';
12
13
  export * from './Notifications';
@@ -8,5 +8,6 @@ export * from './BackendAlertCard';
8
8
  export * from './WeatherWidget';
9
9
  export * from './HomefileMonitoring';
10
10
  export * from './HomeMonitorPanel';
11
+ export * from './HomieAddItems';
11
12
  export * from './MonitorAlerts';
12
13
  export * from './Notifications';
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
11
11
  import { Box, DrawerBody, DrawerContent, DrawerHeader, Flex, Stack, } from '@chakra-ui/react';
12
- import { HomeHeader, HomeCardWithRecipent, AddFolder, EditAccountType, FolderSharing, RightPanel, HomeBoardTour, RoomsMenu, ContactsContent, AppBar, BarDivider, ContactList, PeopleConnected, StorageUsed, TourButton, Trash, TutorialsButton, FolderTypeSelection, DisplayFiles, DisplayOptions, FilesUploader, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, SharedAccounts, ReceiptAutofiler, HomeBoardGrid, ShortPartnerTile, ValueMonitor, TrendingValue, ReceiptsFiled, PropertyTaxes, PartnerCatalogPanel, DynamicForm, PanelHeader, EditHomePanel, HomeCard, EditHomeFooter, HomeAssistant, HomeAssistantPanel, HomeMonitor, HomefileMonitoring, HomeMonitorSteps, NotificationsReminder, NotificationsPanel, AddToHomefile, WeatherWidget, MinimizedTiles, } from '..';
12
+ import { HomeHeader, HomeCardWithRecipent, AddFolder, EditAccountType, FolderSharing, RightPanel, HomeBoardTour, RoomsMenu, ContactsContent, AppBar, BarDivider, ContactList, PeopleConnected, StorageUsed, TourButton, Trash, TutorialsButton, FolderTypeSelection, DisplayFiles, DisplayOptions, FilesUploader, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, SharedAccounts, ReceiptAutofiler, HomeBoardGrid, ShortPartnerTile, ValueMonitor, TrendingValue, ReceiptsFiled, PropertyTaxes, PartnerCatalogPanel, DynamicForm, PanelHeader, EditHomePanel, HomeCard, EditHomeFooter, HomeAssistant, HomeAssistantPanel, HomeMonitor, HomeMonitorSteps, NotificationsReminder, NotificationsPanel, AddToHomefile, WeatherWidget, MinimizedTiles, HomieAddItems, } from '..';
13
13
  import { HomeCards, recipientsDb, FoldersDB, selectOptions, RoomsList, RoomsToAdd, } from '../../helpers';
14
14
  import { ContactsMock, DisplayFilesMock, formFieldsMock, homeBoardRecorsMock, lineChartData, menuMock, partnerCatalogMock, sharedAccountsMock, socialLinksMock2, taxesMock, userMock, videoMock, homeAssitantStep1FormMock, homeAssitantStep2FormMock, homeAssitantStep3FormMock, homeAssitantStep4FormMock, homeAssitantStep5FormMock, homeAssitantStep6FormMock, tileUIMock, socialLinksMock, notificationsMock, weatherDataMock, documentListMock, minimizedTilesMock, } from '../../mocks';
15
15
  import { useHomeBoard, useWindowDimensions } from '../../hooks';
@@ -53,7 +53,7 @@ export const HomeBoard = () => {
53
53
  Notifications: (_jsx(NotificationsPanel, { notifications: notificationsMock, onClose: onRightClose, onDismiss: () => null })),
54
54
  };
55
55
  const panelSize = currentComponent === 'PartnerCatalog' ? 'lg' : 'md';
56
- return (_jsxs(Box, { overflowX: "hidden", children: [_jsx(RightPanel, { overlay: showOverlay, isOpen: isRightOpen, onClose: onRightClose, size: panelSize, children: rightPanelComponents[currentComponent] }), _jsxs(Flex, { w: "full", minH: "100dvh", children: [_jsx(RoomsMenu, { activeRoom: "homeboard", onAddRoom: (id) => __awaiter(void 0, void 0, void 0, function* () { return console.log(id); }), onClick: () => null, onHomeClick: () => null, rooms: RoomsList, roomsToAdd: RoomsToAdd }), _jsxs(Box, { w: "full", children: [_jsx(AppBarComponent, { setActiveTour: setActiveTour, onClick: handleAppBarClick }), _jsxs(Stack, { spacing: "base", p: "base", children: [_jsx(HomeHeader, { buttonLabel: "Partner catalog", onBack: () => null, homeName: homeName, onAdd: () => null }), _jsxs(HomeBoardGrid, { children: [_jsx(HomeCardWithRecipent, { address: HomeCards[0].address, handleEdit: handleEditHomeClick, handleDeleteAccountType: (email) => email, handleSubmitAccountType: (form) => form, _id: HomeCards[0]._id, image: HomeCards[0].image, loading: false, name: HomeCards[0].name, menu: menuMock, addImage: () => null, recipients: recipientsDb, records: homeBoardRecorsMock }), _jsx(HomeAssistant, { currentPanel: homeAssistantCurrentStep, currentStep: 6, onStepClick: handleHomeAssistantClick }), _jsx(MinimizedTiles, { tiles: minimizedTilesMock, menu: menuMock, onMaximize: (id) => console.log(id) }), _jsx(PropertyTaxes, { estimatedTaxValue: 1000, menuItems: menuMock, taxes: taxesMock, title: "Travis County Property Taxes" }), _jsx(HomeMonitor, { children: _jsxs(Stack, { spacing: "base", w: "full", p: "base", h: "full", justify: "space-between", children: [_jsxs(Flex, { gap: "base", children: [_jsx(HomefileMonitoring, {}), _jsx(WeatherWidget, Object.assign({}, mapForecastToWidget(weatherDataMock, 'TX, Houston')))] }), _jsx(HomeMonitorSteps, { menuItems: [
56
+ return (_jsxs(Box, { overflowX: "hidden", children: [_jsx(RightPanel, { overlay: showOverlay, isOpen: isRightOpen, onClose: onRightClose, size: panelSize, children: rightPanelComponents[currentComponent] }), _jsxs(Flex, { w: "full", minH: "100dvh", children: [_jsx(RoomsMenu, { activeRoom: "homeboard", onAddRoom: (id) => __awaiter(void 0, void 0, void 0, function* () { return console.log(id); }), onClick: () => null, onHomeClick: () => null, rooms: RoomsList, roomsToAdd: RoomsToAdd }), _jsxs(Box, { w: "full", children: [_jsx(AppBarComponent, { setActiveTour: setActiveTour, onClick: handleAppBarClick }), _jsxs(Stack, { spacing: "base", p: "base", children: [_jsx(HomeHeader, { buttonLabel: "Partner catalog", onBack: () => null, homeName: homeName, onAdd: () => null }), _jsxs(HomeBoardGrid, { children: [_jsx(HomeCardWithRecipent, { address: HomeCards[0].address, handleEdit: handleEditHomeClick, handleDeleteAccountType: (email) => email, handleSubmitAccountType: (form) => form, _id: HomeCards[0]._id, image: HomeCards[0].image, loading: false, name: HomeCards[0].name, menu: menuMock, addImage: () => null, recipients: recipientsDb, records: homeBoardRecorsMock }), _jsx(HomeAssistant, { currentPanel: homeAssistantCurrentStep, currentStep: 6, onStepClick: handleHomeAssistantClick }), _jsx(MinimizedTiles, { tiles: minimizedTilesMock, menu: menuMock, onMaximize: (id) => console.log(id) }), _jsx(PropertyTaxes, { estimatedTaxValue: 1000, menuItems: menuMock, taxes: taxesMock, title: "Travis County Property Taxes" }), _jsx(HomeMonitor, { children: _jsxs(Stack, { spacing: "base", w: "full", p: "base", h: "full", justify: "space-between", children: [_jsxs(Flex, { gap: "base", children: [_jsx(HomieAddItems, { onAddReceipt: () => console.log('Add receipt clicked'), onAddItem: () => console.log('Add item clicked') }), _jsx(WeatherWidget, Object.assign({}, mapForecastToWidget(weatherDataMock, 'TX, Houston')))] }), _jsx(HomeMonitorSteps, { menuItems: [
57
57
  {
58
58
  label: 'Details',
59
59
  handleClick: handleHomeAssistantClick,
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Stack, Image, Text } from '@chakra-ui/react';
3
3
  import { MoreHorizontal, IconMenu, NewBadge } from '..';
4
4
  export const MinimizedTile = ({ _id, menu, title, icon, isNew, onMaximize, }) => {
5
- return (_jsxs(Box, { bg: "neutral.white", boxShadow: "md", boxSize: "100px", position: "relative", transition: "background 0.2s", _hover: {
5
+ return (_jsxs(Stack, { bg: "neutral.white", boxShadow: "md", flex: "1", h: "full", justify: "center", position: "relative", transition: "background 0.2s", _hover: {
6
6
  bg: 'lightGreen.7',
7
- }, children: [isNew && (_jsx(Box, { position: "absolute", top: "-5px", left: "-2px", children: _jsx(NewBadge, { bg: "violet.1", color: "neutral.white" }) })), _jsx(Box, { textAlign: "right", w: "full", pr: "2", children: _jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 26 }), itemForm: _id, menuItems: menu, disabled: menu.length === 0 }) }), _jsxs(Stack, { px: "base", align: "center", cursor: "pointer", pos: "relative", children: [_jsx(Box, { onClick: () => onMaximize(_id), pos: "absolute", top: "0", right: "0", bottom: "0", left: "0" }), icon && (_jsx(Image, { src: icon, alt: "not-found", boxSize: "34px", objectFit: "contain" })), title && (_jsx(Text, { textAlign: "center", noOfLines: 1, textOverflow: "ellipsis", fontSize: "xs", children: title }))] })] }));
7
+ }, children: [isNew && (_jsx(Box, { position: "absolute", top: "-5px", left: "-2px", children: _jsx(NewBadge, { bg: "violet.1", color: "neutral.white" }) })), _jsx(Box, { position: "absolute", top: "2px", right: "5px", children: _jsx(IconMenu, { icon: _jsx(MoreHorizontal, { size: 26 }), itemForm: _id, menuItems: menu, disabled: menu.length === 0 }) }), _jsxs(Stack, { px: "base", align: "center", cursor: "pointer", pos: "relative", justify: "center", children: [_jsx(Box, { onClick: () => onMaximize(_id), pos: "absolute", top: "0", right: "0", bottom: "0", left: "0" }), icon && (_jsx(Image, { src: icon, alt: "not-found", boxSize: "50%", objectFit: "contain" })), title && (_jsx(Text, { textAlign: "center", noOfLines: 1, textOverflow: "ellipsis", fontSize: "xs", children: title }))] })] }));
8
8
  };
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createElement as _createElement } from "react";
3
- import { Center, SimpleGrid } from '@chakra-ui/react';
3
+ import { Box, SimpleGrid } from '@chakra-ui/react';
4
4
  import { MinimizedTile } from './MinimizedTile';
5
5
  import { Billing, Calendar, EstValue, GuestBedroom, IA, Inbox, Lighting, Warranty, YellowFolder, } from '../../assets/images';
6
6
  export const MinimizedTiles = ({ tiles, menu, onMaximize, }) => {
7
7
  const onlyMinimizedTiles = tiles.filter((tile) => !tile.isMaximized);
8
- return (_jsx(Center, { h: "full", children: _jsx(SimpleGrid, { columns: 3, spacing: "base", children: onlyMinimizedTiles.map((tile) => (_createElement(MinimizedTile, Object.assign({}, tile, { key: tile._id, menu: menu, icon: IconById[tile._id], onMaximize: onMaximize })))) }) }));
8
+ return (_jsx(Box, { h: "full", children: _jsx(SimpleGrid, { columns: 3, spacing: "base", h: "full", gridAutoRows: "1fr", alignItems: "stretch", children: onlyMinimizedTiles.map((tile) => (_createElement(MinimizedTile, Object.assign({}, tile, { key: tile._id, menu: menu, icon: IconById[tile._id], onMaximize: onMaximize })))) }) }));
9
9
  };
10
10
  const IconById = {
11
11
  folders: YellowFolder,
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BackendAlert, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessagePanel, MessageChatPanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SearchItemLoader, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WeatherWidget, WellDone, YtdTile, } from './components';
1
+ export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BackendAlert, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, HomieAddItems, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessagePanel, MessageChatPanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SearchItemLoader, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WeatherWidget, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
3
  export { randomColor, mapApiObjectToFormFields, mapForecastToWidget, } from './utils';
4
4
  export { Contacts, MagnifyingGlassReport, Message, Register, Receipts, Price, BlueFolderShared, Calendar, Create, Notes, } from './assets/images';
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BackendAlert, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessagePanel, MessageChatPanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SearchItemLoader, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WeatherWidget, WellDone, YtdTile, } from './components';
1
+ export { ActivateAccount, ActiveSubscription, AddCardBanner, AddEditContactPanel, AddFolder, AddHomeContent, AddHomeItem, AddHomeItemHeader, AddMedia, AddPropertyRecords, Address, AddPopup, AddTile, AddToHomefile, AlertBanner, AphwTile, AppBar, AssignableReceipts, BackHeader, BackendAlert, BarDivider, CancelAccount, CatalogPopup, CloudsAnimation, ContactList, ContactsContent, ContainerHeader, CreateDocumentHeader, CreateHouseholdItemHeader, CreditCardContainer, CreditCardError, CustomerTile, DeleteBanner, Dialog, DisplayFiles, DisplayFilesDetail, DisplayOptions, DisplayReceipts, DocumentMenu, DocumentNameHeader, DocumentPreview, DynamicForm, EditAccountType, EditHomeBody, EditHomeFooter, EditHomeHeader, EditHomePanel, EditItemName, EmailPermissions, EmailValidation, Feedback, FileDetail, FilesUploader, FlowStep, FolderDetail, FolderDetailBody, FolderDetailContent, FolderDetailFooter, FolderDetailHeader, FolderInfo, FolderSharing, FolderTypeSelection, FooterButtons, FooterDrawer, GenericBackHeader, GroupCard, GroupsContainer, GroupsHeader, Header, HelpContent, HomeAssistant, HomeAssistantPanel, HomeBoardGrid, HomeBoardTour, HomeCard, HomeCardWithRecipent, HomeDetailsContent, HomefileMonitoring, HomeHeader, HomeItemList, HomeItemManualInfo, HomeMonitor, HomeMonitorPanel, HomeMonitorSteps, HomeSharedWith, HomieAddItems, InboxForwardBanner, InboxTile, ItemFormPanel, ItemFormTabs, ItemNameHeader, ItemsReviewBanner, ItemSubTypeSelect, Launchpad, LaunchpadAutofilerBanner, LaunchpadReceiptAutofiler, LaunchpadReceiptPanel, LaunchpadTour, LeftPanel, Loading, MediaDetailsStep, MessagePanel, MessageChatPanel, MinimizedTiles, MonthlyCharge, MortgageInfo, MoveModal, MyHomes, MyProfileBody, MyProfileContent, MyProfileFooter, MyProfileHeader, MyProfilePanel, NewCreditCard, NewCreditCardHeader, NewPassword, NotBeChargedBanner, Notifications, NotificationsReminder, NotificationsPanel, NotificationCard, Overlay, PanelHeader, PartnerActiveSubscription, PartnerCatalogPanel, PartnerContent, PartnerCustomerCode, PartnerDetails, PartnerImages, PartnerPanel, PasswordInput, PaymentReceipts, PdfButton, PeopleConnected, ProfileDetailsTab, ProfilePaymentTab, ProjectList, PropertyRecords, PropertyTaxes, ReadOnlyDynamicForm, ReadOnlyImage, ReadOnlyToggle, ReceiptAutofiler, ReceiptBody, ReceiptContent, ReceiptDetails, ReceiptFilters, ReceiptFooter, ReceiptHeader, ReceiptInfos, ReceiptItem, ReceiptItems, ReceiptPDF, ReceiptsDisplayOptions, ReceiptsFiled, ReceiptsHeader, ReceiptsInfo, ReceiptsReceivedContent, RecipientForm, RecipientsToShare, RecipientTab, RecordsInputs, ResendResetPassword, ResetPassword, ReviewBanner, RightPanel, RolePermissionsTab, RoomHeader, RoomsBoardTour, RoomsMenu, RoomsMenuMobile, RoomStep, RoomVideo, SalesTax, SatisfactionTile, SectionHeader, SendCommunication, SearchItemLoader, ShareContactsContent, SharedAccounts, SharedHomeContent, SharedHomeHeader, ShareHome, ShareHomeConnections, ShareHomeForm, ShineTile, ShortPartnerTile, SignIn, SignUp, SkeletonBox, StepHeader, StorageUsed, Subscription, SubscriptionCard, SubscriptionTable, Summary, TabsHeader, TextInput, ToBeDeletedBody, ToBeDeletedContent, ToBeDeletedFooter, ToBeDeletedHeader, TourButton, Trash, TrendingValue, TrialBanner, TutorialsButton, TwoFactor, TwoFactorSetting, UpdateList, UserDetails, ValueMonitor, ViewContactPanel, VideoPlayer, VideoPlayerModal, WeatherWidget, WellDone, YtdTile, } from './components';
2
2
  export { useCustomToast } from './hooks';
3
3
  export { randomColor, mapApiObjectToFormFields, mapForecastToWidget, } from './utils';
4
4
  export { Contacts, MagnifyingGlassReport, Message, Register, Receipts, Price, BlueFolderShared, Calendar, Create, Notes, } from './assets/images';
@@ -0,0 +1,9 @@
1
+ export interface HomieAddItemsI {
2
+ onAddReceipt: () => void;
3
+ onAddItem: () => void;
4
+ }
5
+ export interface AddButtonI {
6
+ icon: string;
7
+ text: string;
8
+ onClick: () => void;
9
+ }
@@ -10,5 +10,6 @@ export * from './HomeAssistantSteps.interface';
10
10
  export * from './HomeAssistantTutorial.interface';
11
11
  export * from './HomeMonitorPanel.interface';
12
12
  export * from './HomeMonitorSteps.interface';
13
+ export * from './HomieAddItems.interface';
13
14
  export * from './MonitorAlerts.interface';
14
15
  export * from './WeatherWidget.interface';
@@ -10,5 +10,6 @@ export * from './HomeAssistantSteps.interface';
10
10
  export * from './HomeAssistantTutorial.interface';
11
11
  export * from './HomeMonitorPanel.interface';
12
12
  export * from './HomeMonitorSteps.interface';
13
+ export * from './HomieAddItems.interface';
13
14
  export * from './MonitorAlerts.interface';
14
15
  export * from './WeatherWidget.interface';
@@ -2,3 +2,4 @@ import { Meta } from '@storybook/react';
2
2
  declare const _default: Meta;
3
3
  export default _default;
4
4
  export declare const HomeMonitorComponent: () => import("react/jsx-runtime").JSX.Element;
5
+ export declare const HomeMonitorWithAddItems: () => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { HomefileMonitoring, HomeMonitor, HomeMonitorSteps, WeatherWidget, } from '../../components';
2
+ import { HomefileMonitoring, HomeMonitor, HomeMonitorSteps, HomieAddItems, WeatherWidget, } from '../../components';
3
3
  import { Box, Flex, Stack } from '@chakra-ui/react';
4
4
  import { action } from '@storybook/addon-actions';
5
5
  import { menuMock, weatherDataMock } from '../../mocks';
@@ -8,7 +8,7 @@ export default {
8
8
  title: 'Components/HomeAssistant',
9
9
  component: HomeMonitor,
10
10
  decorators: [
11
- (Story) => (_jsx(Box, { p: "base", w: ['full', '800px'], h: "fit-content", children: _jsx(Story, {}) })),
11
+ (Story) => (_jsx(Box, { p: "base", w: ['full', '800px'], children: _jsx(Story, {}) })),
12
12
  ],
13
13
  };
14
14
  export const HomeMonitorComponent = () => {
@@ -23,3 +23,10 @@ export const HomeMonitorComponent = () => {
23
23
  const alertsCount = alerts.reduce((acc, alert) => acc + alert.count, 0);
24
24
  return (_jsx(HomeMonitor, { children: _jsxs(Stack, { spacing: "base", children: [_jsxs(Flex, { gap: "base", children: [_jsx(HomefileMonitoring, { alertCount: alertsCount }), _jsx(WeatherWidget, Object.assign({}, weatherData))] }), _jsx(HomeMonitorSteps, { menuItems: menuMock, alerts: alerts, onStepClick: handleAlertClick })] }) }));
25
25
  };
26
+ export const HomeMonitorWithAddItems = () => {
27
+ const handleAlertClick = (step) => {
28
+ action('onStepClick')(step);
29
+ };
30
+ const weatherData = mapForecastToWidget(weatherDataMock, 'TX, Houston');
31
+ return (_jsx(HomeMonitor, { children: _jsxs(Stack, { spacing: "base", children: [_jsxs(Flex, { gap: "base", children: [_jsx(HomieAddItems, { onAddReceipt: action('Add receipt clicked'), onAddItem: action('Add item clicked') }), _jsx(WeatherWidget, Object.assign({}, weatherData))] }), _jsx(HomeMonitorSteps, { menuItems: menuMock, alerts: [], onStepClick: handleAlertClick })] }) }));
32
+ };
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { action } from '@storybook/addon-actions';
3
3
  import { MinimizedTiles } from '../../components';
4
4
  import { menuMock, minimizedTilesMock } from '../../mocks';
5
+ import { Box } from '@chakra-ui/react';
5
6
  export default {
6
7
  title: 'Components/Tiles',
7
8
  component: MinimizedTiles,
@@ -10,6 +11,9 @@ export default {
10
11
  menu: menuMock,
11
12
  onMaximize: action('onMaximize'),
12
13
  },
14
+ decorators: [
15
+ (Story) => (_jsx(Box, { w: "400px", children: _jsx(Story, {}) })),
16
+ ],
13
17
  };
14
18
  export const MinimizedTilesComponent = (args) => {
15
19
  return _jsx(MinimizedTiles, Object.assign({}, args));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@homefile/components-v2",
3
- "version": "2.28.1",
3
+ "version": "2.29.0",
4
4
  "author": "Homefile",
5
5
  "license": "UNLICENSED",
6
6
  "typings": "dist/index.d.ts",
@@ -478,6 +478,12 @@
478
478
  "unopened": "Unopened"
479
479
  }
480
480
  },
481
+ "homieAddItems": {
482
+ "addItem": "Upload a picture of your refrigerator label",
483
+ "addReceipt": "Add a picture of a purchase receipt.",
484
+ "subTitle": "Give them a try.",
485
+ "title": "Homie does the work for you."
486
+ },
481
487
  "householdItems": {
482
488
  "headers": {
483
489
  "itemName": "An item name",
@@ -0,0 +1,58 @@
1
+ import { t } from 'i18next'
2
+ import { Box, Stack, Text, Image, Flex } from '@chakra-ui/react'
3
+ import { Fridge, Register } from '@/assets/images'
4
+ import { colors } from '@/theme/colors'
5
+ import { Plus } from '@/components'
6
+ import { AddButtonI, HomieAddItemsI } from '@/interfaces'
7
+
8
+ export const HomieAddItems = ({ onAddReceipt, onAddItem }: HomieAddItemsI) => {
9
+ return (
10
+ <Stack spacing="base" flex="1" zIndex="2" pr="6">
11
+ <Text fontSize="26px" lineHeight="36px" textAlign="center">
12
+ {t('homieAddItems.title')}
13
+ </Text>
14
+ <Box bg="lightBlue.5" borderRadius="full" py="2">
15
+ <Text fontWeight="medium" textAlign="center">
16
+ {t('homieAddItems.subTitle')}
17
+ </Text>
18
+ </Box>
19
+ <AddButton
20
+ icon={Register}
21
+ text={t('homieAddItems.addReceipt')}
22
+ onClick={onAddReceipt}
23
+ />
24
+ <AddButton
25
+ icon={Fridge}
26
+ text={t('homieAddItems.addItem')}
27
+ onClick={onAddItem}
28
+ />
29
+ </Stack>
30
+ )
31
+ }
32
+
33
+ const AddButton = ({ icon, text, onClick }: AddButtonI) => {
34
+ return (
35
+ <Box
36
+ as="button"
37
+ p="base"
38
+ bg="neutral.white"
39
+ boxShadow="md"
40
+ transition="background 0.2s"
41
+ _hover={{
42
+ bg: 'lightGreen.7',
43
+ }}
44
+ onClick={onClick}
45
+ minH="80px"
46
+ >
47
+ <Flex align="center" gap="base">
48
+ <Flex>
49
+ <Plus size={18} stroke={colors.blue[3]} />
50
+ <Image boxSize="32px" src={icon} />
51
+ </Flex>
52
+ <Text textAlign="left" lineHeight="22px">
53
+ {text}
54
+ </Text>
55
+ </Flex>
56
+ </Box>
57
+ )
58
+ }
@@ -8,5 +8,6 @@ export * from './BackendAlertCard'
8
8
  export * from './WeatherWidget'
9
9
  export * from './HomefileMonitoring'
10
10
  export * from './HomeMonitorPanel'
11
+ export * from './HomieAddItems'
11
12
  export * from './MonitorAlerts'
12
13
  export * from './Notifications'
@@ -60,6 +60,7 @@ import {
60
60
  AddToHomefile,
61
61
  WeatherWidget,
62
62
  MinimizedTiles,
63
+ HomieAddItems,
63
64
  } from '@/components'
64
65
  import {
65
66
  HomeCards,
@@ -377,7 +378,10 @@ export const HomeBoard = () => {
377
378
  justify="space-between"
378
379
  >
379
380
  <Flex gap="base">
380
- <HomefileMonitoring />
381
+ <HomieAddItems
382
+ onAddReceipt={() => console.log('Add receipt clicked')}
383
+ onAddItem={() => console.log('Add item clicked')}
384
+ />
381
385
  <WeatherWidget
382
386
  {...mapForecastToWidget(weatherDataMock, 'TX, Houston')}
383
387
  />
@@ -11,10 +11,12 @@ export const MinimizedTile = ({
11
11
  onMaximize,
12
12
  }: MinimizedTileI) => {
13
13
  return (
14
- <Box
14
+ <Stack
15
15
  bg="neutral.white"
16
16
  boxShadow="md"
17
- boxSize="100px"
17
+ flex="1"
18
+ h="full"
19
+ justify="center"
18
20
  position="relative"
19
21
  transition="background 0.2s"
20
22
  _hover={{
@@ -26,7 +28,7 @@ export const MinimizedTile = ({
26
28
  <NewBadge bg="violet.1" color="neutral.white" />
27
29
  </Box>
28
30
  )}
29
- <Box textAlign="right" w="full" pr="2">
31
+ <Box position="absolute" top="2px" right="5px">
30
32
  <IconMenu
31
33
  icon={<MoreHorizontal size={26} />}
32
34
  itemForm={_id}
@@ -34,7 +36,13 @@ export const MinimizedTile = ({
34
36
  disabled={menu.length === 0}
35
37
  />
36
38
  </Box>
37
- <Stack px="base" align="center" cursor="pointer" pos="relative">
39
+ <Stack
40
+ px="base"
41
+ align="center"
42
+ cursor="pointer"
43
+ pos="relative"
44
+ justify="center"
45
+ >
38
46
  <Box
39
47
  onClick={() => onMaximize(_id)}
40
48
  pos="absolute"
@@ -44,12 +52,7 @@ export const MinimizedTile = ({
44
52
  left="0"
45
53
  />
46
54
  {icon && (
47
- <Image
48
- src={icon}
49
- alt="not-found"
50
- boxSize="34px"
51
- objectFit="contain"
52
- />
55
+ <Image src={icon} alt="not-found" boxSize="50%" objectFit="contain" />
53
56
  )}
54
57
  {title && (
55
58
  <Text
@@ -62,6 +65,6 @@ export const MinimizedTile = ({
62
65
  </Text>
63
66
  )}
64
67
  </Stack>
65
- </Box>
68
+ </Stack>
66
69
  )
67
70
  }
@@ -1,4 +1,4 @@
1
- import { Box, Center, SimpleGrid } from '@chakra-ui/react'
1
+ import { Box, SimpleGrid } from '@chakra-ui/react'
2
2
  import { MinimizedTile } from './MinimizedTile'
3
3
  import {
4
4
  Billing,
@@ -20,8 +20,14 @@ export const MinimizedTiles = ({
20
20
  }: MinimizedTilesI) => {
21
21
  const onlyMinimizedTiles = tiles.filter((tile) => !tile.isMaximized)
22
22
  return (
23
- <Center h="full">
24
- <SimpleGrid columns={3} spacing="base">
23
+ <Box h="full">
24
+ <SimpleGrid
25
+ columns={3}
26
+ spacing="base"
27
+ h="full"
28
+ gridAutoRows="1fr"
29
+ alignItems="stretch"
30
+ >
25
31
  {onlyMinimizedTiles.map((tile) => (
26
32
  <MinimizedTile
27
33
  {...tile}
@@ -32,7 +38,7 @@ export const MinimizedTiles = ({
32
38
  />
33
39
  ))}
34
40
  </SimpleGrid>
35
- </Center>
41
+ </Box>
36
42
  )
37
43
  }
38
44
 
package/src/index.ts CHANGED
@@ -84,6 +84,7 @@ export {
84
84
  HomeMonitorPanel,
85
85
  HomeMonitorSteps,
86
86
  HomeSharedWith,
87
+ HomieAddItems,
87
88
  InboxForwardBanner,
88
89
  InboxTile,
89
90
  ItemFormPanel,
@@ -0,0 +1,10 @@
1
+ export interface HomieAddItemsI {
2
+ onAddReceipt: () => void
3
+ onAddItem: () => void
4
+ }
5
+
6
+ export interface AddButtonI {
7
+ icon: string
8
+ text: string
9
+ onClick: () => void
10
+ }
@@ -10,5 +10,6 @@ export * from './HomeAssistantSteps.interface'
10
10
  export * from './HomeAssistantTutorial.interface'
11
11
  export * from './HomeMonitorPanel.interface'
12
12
  export * from './HomeMonitorSteps.interface'
13
+ export * from './HomieAddItems.interface'
13
14
  export * from './MonitorAlerts.interface'
14
15
  export * from './WeatherWidget.interface'
@@ -3,6 +3,7 @@ import {
3
3
  HomefileMonitoring,
4
4
  HomeMonitor,
5
5
  HomeMonitorSteps,
6
+ HomieAddItems,
6
7
  WeatherWidget,
7
8
  } from '@/components'
8
9
  import { Box, Flex, Stack } from '@chakra-ui/react'
@@ -15,7 +16,7 @@ export default {
15
16
  component: HomeMonitor,
16
17
  decorators: [
17
18
  (Story: any) => (
18
- <Box p="base" w={['full', '800px']} h="fit-content">
19
+ <Box p="base" w={['full', '800px']}>
19
20
  <Story />
20
21
  </Box>
21
22
  ),
@@ -48,3 +49,29 @@ export const HomeMonitorComponent = () => {
48
49
  </HomeMonitor>
49
50
  )
50
51
  }
52
+
53
+ export const HomeMonitorWithAddItems = () => {
54
+ const handleAlertClick = (step: number) => {
55
+ action('onStepClick')(step)
56
+ }
57
+ const weatherData = mapForecastToWidget(weatherDataMock, 'TX, Houston')
58
+
59
+ return (
60
+ <HomeMonitor>
61
+ <Stack spacing="base">
62
+ <Flex gap="base">
63
+ <HomieAddItems
64
+ onAddReceipt={action('Add receipt clicked')}
65
+ onAddItem={action('Add item clicked')}
66
+ />
67
+ <WeatherWidget {...weatherData} />
68
+ </Flex>
69
+ <HomeMonitorSteps
70
+ menuItems={menuMock}
71
+ alerts={[]}
72
+ onStepClick={handleAlertClick}
73
+ />
74
+ </Stack>
75
+ </HomeMonitor>
76
+ )
77
+ }
@@ -3,6 +3,7 @@ import { action } from '@storybook/addon-actions'
3
3
  import { MinimizedTiles } from '@/components'
4
4
  import { menuMock, minimizedTilesMock } from '@/mocks'
5
5
  import { MinimizedTilesI } from '@/interfaces'
6
+ import { Box } from '@chakra-ui/react'
6
7
 
7
8
  export default {
8
9
  title: 'Components/Tiles',
@@ -12,6 +13,13 @@ export default {
12
13
  menu: menuMock,
13
14
  onMaximize: action('onMaximize'),
14
15
  },
16
+ decorators: [
17
+ (Story) => (
18
+ <Box w="400px">
19
+ <Story />
20
+ </Box>
21
+ ),
22
+ ],
15
23
  } as Meta<MinimizedTilesI>
16
24
 
17
25
  export const MinimizedTilesComponent = (args: MinimizedTilesI) => {