diff --git a/app/listings/page.tsx b/app/listings/page.tsx index a4fd7a01..4421ab8d 100644 --- a/app/listings/page.tsx +++ b/app/listings/page.tsx @@ -1,12 +1,28 @@ +import ButtonIconTextOutlined from "@/components/buttons/icon-text"; import Search from "@/components/search"; export default function Home() { return ( -
+
{/* TODO: TOP */} -
- - {/* TODO: Filter button */} +
+
+ +
+ + + + + + {/* TODO: Price */} + {/* TODO: Beds/Baths */} + {/* TODO: Area */}
); diff --git a/components/buttons/icon-text.tsx b/components/buttons/icon-text.tsx new file mode 100644 index 00000000..55161042 --- /dev/null +++ b/components/buttons/icon-text.tsx @@ -0,0 +1,26 @@ +import { MouseEventHandler } from "react"; + +export interface ButtonIconTextOutlinedProps { + text: string; + onClick?: MouseEventHandler; + dataCy?: string; +} + +export default function ButtonIconTextOutlined({ children, props }: { children: React.ReactNode, props: ButtonIconTextOutlinedProps }) { + return ( + + ); +} diff --git a/public/icons/filter_list.svg b/public/icons/filter_list.svg new file mode 100644 index 00000000..ee6e3be2 --- /dev/null +++ b/public/icons/filter_list.svg @@ -0,0 +1,4 @@ + + + \ No newline at end of file diff --git a/stories/button-icon-text/ButtonIconText.stories.tsx b/stories/button-icon-text/ButtonIconText.stories.tsx new file mode 100644 index 00000000..b490d1c5 --- /dev/null +++ b/stories/button-icon-text/ButtonIconText.stories.tsx @@ -0,0 +1,32 @@ +import ButtonIconTextOutlined from "@/components/buttons/icon-text"; +import type { Meta, StoryObj } from "@storybook/react"; + +const meta: Meta = { + title: "Buttons/Icon Text/Outlined", + component: ButtonIconTextOutlined, + tags: ["autodocs"], +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Example: Story = { + args: { + props: { + text: "Filter", + onClick: () => { + console.log("Added to favorites 💗"); + }, + }, + }, + render: (args) => ( + + + + + + ), +};