From caf168c7a15dc9f5402332fd186e113077ab050a Mon Sep 17 00:00:00 2001 From: Dmytro Kondakov Date: Sun, 23 Mar 2025 21:56:09 +0100 Subject: [PATCH] feat(frontend): add new search card components and update styling - Introduced new search card components for Contact, Event, Location, Note, Receipt, and Website. - Updated the App component to utilize these new components for displaying search results. - Changed the default font from Manrope to Switzer and updated related styles. - Added a new dependency `solid-motionone` to package.json. - Improved search functionality with a new sample data structure and enhanced search logic. --- frontend/bun.lockb | Bin 114257 -> 118146 bytes frontend/package.json | 1 + frontend/src-tauri/src/lib.rs | 1 + frontend/src/App.tsx | 220 +++++---- .../fonts/Manrope-VariableFont_wght.ttf | Bin 164936 -> 0 bytes .../src/assets/fonts/Switzer-Variable.ttf | Bin 0 -> 141020 bytes .../search-card/SearchCardContact.tsx | 26 ++ .../search-card/SearchCardEvent.tsx | 33 ++ .../search-card/SearchCardLocation.tsx | 26 ++ .../components/search-card/SearchCardNote.tsx | 26 ++ .../search-card/SearchCardReceipt.tsx | 30 ++ .../search-card/SearchCardWebsite.tsx | 26 ++ frontend/src/index.css | 58 ++- frontend/src/network/sample-data.ts | 88 ---- frontend/src/network/sampleData.ts | 436 ++++++++++++++++++ frontend/src/network/types.ts | 3 + frontend/src/utils/getCardSize.ts | 20 + frontend/tailwind.config.js | 2 +- 18 files changed, 791 insertions(+), 205 deletions(-) delete mode 100644 frontend/src/assets/fonts/Manrope-VariableFont_wght.ttf create mode 100644 frontend/src/assets/fonts/Switzer-Variable.ttf create mode 100644 frontend/src/components/search-card/SearchCardContact.tsx create mode 100644 frontend/src/components/search-card/SearchCardEvent.tsx create mode 100644 frontend/src/components/search-card/SearchCardLocation.tsx create mode 100644 frontend/src/components/search-card/SearchCardNote.tsx create mode 100644 frontend/src/components/search-card/SearchCardReceipt.tsx create mode 100644 frontend/src/components/search-card/SearchCardWebsite.tsx delete mode 100644 frontend/src/network/sample-data.ts create mode 100644 frontend/src/network/sampleData.ts create mode 100644 frontend/src/utils/getCardSize.ts diff --git a/frontend/bun.lockb b/frontend/bun.lockb index e34de90cd66892fb9cd8123c6ccca40d666e1840..63e774e75f82d0205813de2bdbb20b73eeb175e0 100755 GIT binary patch delta 21305 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 b)^KMX!5T9$b1pvVlnB;nXVhZWE$sgQBeAO| diff --git a/frontend/package.json b/frontend/package.json index 42de99c..1060b4c 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -24,6 +24,7 @@ "clsx": "^2.1.1", "fuse.js": "^7.1.0", "solid-js": "^1.9.3", + "solid-motionone": "^1.0.3", "tailwind-scrollbar-hide": "^2.0.0", "valibot": "^1.0.0-rc.2" }, diff --git a/frontend/src-tauri/src/lib.rs b/frontend/src-tauri/src/lib.rs index b30297d..63395df 100644 --- a/frontend/src-tauri/src/lib.rs +++ b/frontend/src-tauri/src/lib.rs @@ -116,6 +116,7 @@ pub fn run() { .setup(|app| { let win_builder = WebviewWindowBuilder::new(app, "main", WebviewUrl::default()) .inner_size(480.0, 360.0) + .hidden_title(true) .resizable(true); // set transparent title bar only when building for macOS #[cfg(target_os = "macos")] diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 6d901c4..f273923 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -1,129 +1,123 @@ -import { Search } from "@kobalte/core/search"; -import { useNavigate } from "@solidjs/router"; -import { IconRefresh, IconSearch } from "@tabler/icons-solidjs"; +import { IconSearch } from "@tabler/icons-solidjs"; import clsx from "clsx"; import Fuse from "fuse.js"; -import { createEffect, createResource, createSignal } from "solid-js"; -import { getUserImages } from "./network"; +import { For, createSignal } from "solid-js"; +import { SearchCardContact } from "./components/search-card/SearchCardContact"; +import { SearchCardEvent } from "./components/search-card/SearchCardEvent"; +import { SearchCardLocation } from "./components/search-card/SearchCardLocation"; +import { SearchCardNote } from "./components/search-card/SearchCardNote"; +import { SearchCardReceipt } from "./components/search-card/SearchCardReceipt"; +import { SearchCardWebsite } from "./components/search-card/SearchCardWebsite"; +import { sampleData } from "./network/sampleData"; +import type { DataItem } from "./network/types"; +import { getCardSize } from "./utils/getCardSize"; -type UserImages = Awaited>; +const getCardComponent = (item: DataItem) => { + switch (item.type) { + case "Location": + return ; + case "Event": + return ; + case "Contact": + return ; + case "Website": + return ; + case "Note": + return ; + case "Receipt": + return ; + default: + return null; + } +}; function App() { - const [searchResults, setSearchResults] = createSignal< - UserImages[number]["Text"] - >([]); + const [searchResults, setSearchResults] = createSignal([]); + const [searchQuery, setSearchQuery] = createSignal(""); + const [selectedItem, setSelectedItem] = createSignal(null); - const [images] = createResource(getUserImages); - - const nav = useNavigate(); - - let fuze = new Fuse[number]>([], { - keys: ["ImageText"], + const fuze = new Fuse(sampleData, { + keys: [{ name: "title", weight: 2 }, "rawData"], + threshold: 0.4, }); - // TODO: there's probably a better way? - createEffect(() => { - const userImages = images(); - - if (userImages == null) { - return; - } - - const imageText = userImages.flatMap((i) => i.Text ?? []); - - fuze = new Fuse(imageText, { - keys: ["ImageText"], - threshold: 0.3, - }); - }); - - const onInputChange = (query: string) => { - // TODO: we can migrate this searching to Rust, so we don't abuse the main thread. - // But, it's not too bad as is. - setSearchResults(fuze.search(query).flatMap((s) => s.item)); + const onInputChange = (event: InputEvent) => { + const query = (event.target as HTMLInputElement).value; + setSearchQuery(query); + setSearchResults(fuze.search(query).map((s) => s.item)); }; return ( -
- { - if (item?.ImageID == null) { - console.error("ImageID was null"); - return; - } - - nav(`/image/${item.ImageID}`); - }} - optionValue="ID" - optionLabel="ImageText" - placeholder="Search for stuff..." - itemComponent={(props) => ( - - - {props.item.rawValue.ImageText ?? ""} - - - )} - > + <> +
- - - - - } - > - - - - - - -
- -
- - {/* - No results found - */} -
- - {/*
-
-
-
-
-
-
-
- - - {(image) => ( - - +
+ - - )} - -
*/} -
- footer -
-
+ + + + + +
+
+ {searchResults().length > 0 ? ( +
+ + {(item) => ( +
+ setSelectedItem(item) + } + onKeyDown={(e) => { + if (e.key === "Enter") { + setSelectedItem(item); + } + }} + class={clsx( + "h-[144px] border relative border-neutral-200 cursor-pointer overflow-hidden rounded-xl", + { + "col-span-3": + getCardSize( + item.type, + ) === "1/1", + "col-span-6": + getCardSize( + item.type, + ) === "2/1", + }, + )} + > + + {item.title} + + {getCardComponent(item)} +
+ )} +
+
+ ) : searchQuery() !== "" ? ( +
+ No results found +
+ ) : null} +
+
+ +
+ footer +
+
+ ); } diff --git a/frontend/src/assets/fonts/Manrope-VariableFont_wght.ttf b/frontend/src/assets/fonts/Manrope-VariableFont_wght.ttf deleted file mode 100644 index f39ca39c968c9d921b9c9e6e737ebdd2c1447a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164936 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 M1-! diff --git a/frontend/src/assets/fonts/Switzer-Variable.ttf b/frontend/src/assets/fonts/Switzer-Variable.ttf new file mode 100644 index 0000000000000000000000000000000000000000..d6e5cc4ab0db278982e03aecd7a22de66604608d GIT binary patch literal 141020 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 _=t@0jgQ~Ch#EgzHYI^P5gK1m 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 literal 0 HcmV?d00001 diff --git a/frontend/src/components/search-card/SearchCardContact.tsx b/frontend/src/components/search-card/SearchCardContact.tsx new file mode 100644 index 0000000..e817e34 --- /dev/null +++ b/frontend/src/components/search-card/SearchCardContact.tsx @@ -0,0 +1,26 @@ +import { Separator } from "@kobalte/core/separator"; + +import { IconUser } from "@tabler/icons-solidjs"; +import type { Contact } from "../../network/types"; + +type Props = { + item: Contact; +}; + +export const SearchCardContact = ({ item }: Props) => { + const { data } = item; + + return ( +
+
+

{data.name}

+ +
+

{data.phoneNumber}

+ +

+ {data.notes} +

+
+ ); +}; diff --git a/frontend/src/components/search-card/SearchCardEvent.tsx b/frontend/src/components/search-card/SearchCardEvent.tsx new file mode 100644 index 0000000..8febd33 --- /dev/null +++ b/frontend/src/components/search-card/SearchCardEvent.tsx @@ -0,0 +1,33 @@ +import { Separator } from "@kobalte/core/separator"; + +import { IconCalendar } from "@tabler/icons-solidjs"; +import type { Event } from "../../network/types"; + +type Props = { + item: Event; +}; + +export const SearchCardEvent = ({ item }: Props) => { + const { data } = item; + + return ( +
+
+

{data.title}

+ +
+

+ Organized by {data.organizer.name} on{" "} + {new Date(data.dateTime.start).toLocaleDateString("en-US", { + month: "long", + day: "numeric", + year: "numeric", + })} +

+ +

+ {data.description} +

+
+ ); +}; diff --git a/frontend/src/components/search-card/SearchCardLocation.tsx b/frontend/src/components/search-card/SearchCardLocation.tsx new file mode 100644 index 0000000..56f47ac --- /dev/null +++ b/frontend/src/components/search-card/SearchCardLocation.tsx @@ -0,0 +1,26 @@ +import { Separator } from "@kobalte/core/separator"; + +import { IconMapPin } from "@tabler/icons-solidjs"; +import type { Location } from "../../network/types"; + +type Props = { + item: Location; +}; + +export const SearchCardLocation = ({ item }: Props) => { + const { data } = item; + + return ( +
+
+

{data.name}

+ +
+

{data.address}

+ +

+ {data.description} +

+
+ ); +}; diff --git a/frontend/src/components/search-card/SearchCardNote.tsx b/frontend/src/components/search-card/SearchCardNote.tsx new file mode 100644 index 0000000..746dfcc --- /dev/null +++ b/frontend/src/components/search-card/SearchCardNote.tsx @@ -0,0 +1,26 @@ +import { Separator } from "@kobalte/core/separator"; + +import { IconNote } from "@tabler/icons-solidjs"; +import type { Note } from "../../network/types"; + +type Props = { + item: Note; +}; + +export const SearchCardNote = ({ item }: Props) => { + const { data } = item; + + return ( +
+
+

{data.title}

+ +
+

{data.keywords}

+ +

+ {data.content} +

+
+ ); +}; diff --git a/frontend/src/components/search-card/SearchCardReceipt.tsx b/frontend/src/components/search-card/SearchCardReceipt.tsx new file mode 100644 index 0000000..6d7dfad --- /dev/null +++ b/frontend/src/components/search-card/SearchCardReceipt.tsx @@ -0,0 +1,30 @@ +import { Separator } from "@kobalte/core/separator"; + +import { IconReceipt } from "@tabler/icons-solidjs"; +import type { Receipt } from "../../network/types"; + +type Props = { + item: Receipt; +}; + +export const SearchCardReceipt = ({ item }: Props) => { + const { data } = item; + + return ( +
+
+

+ {data.orderNumber} - {data.vendor} +

+ +
+

+ {data.shippingAddress.address} +

+ +

+ {data.amount} {data.currency} +

+
+ ); +}; diff --git a/frontend/src/components/search-card/SearchCardWebsite.tsx b/frontend/src/components/search-card/SearchCardWebsite.tsx new file mode 100644 index 0000000..0099128 --- /dev/null +++ b/frontend/src/components/search-card/SearchCardWebsite.tsx @@ -0,0 +1,26 @@ +import { Separator } from "@kobalte/core/separator"; + +import { IconLink } from "@tabler/icons-solidjs"; +import type { Website } from "../../network/types"; + +type Props = { + item: Website; +}; + +export const SearchCardWebsite = ({ item }: Props) => { + const { data } = item; + + return ( +
+
+

{data.title}

+ +
+

{data.url}

+ +

+ {data.description} +

+
+ ); +}; diff --git a/frontend/src/index.css b/frontend/src/index.css index 3deaf14..4221ff1 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -2,16 +2,68 @@ @tailwind components; @tailwind utilities; +/* CSS Reset */ +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + padding: 0; +} + +html, +body { + height: 100%; +} + +body { + line-height: 1.2; + -webkit-font-smoothing: antialiased; +} + +img, +picture, +video, +canvas, +svg { + display: block; + max-width: 100%; +} + +input, +button, +textarea, +select { + font: inherit; +} + +p, +h1, +h2, +h3, +h4, +h5, +h6 { + overflow-wrap: break-word; +} + +#root, +#__next { + isolation: isolate; +} + @font-face { - font-family: "Manrope"; - src: url("./assets/fonts/Manrope-VariableFont_wght.ttf") format("truetype"); + font-family: "Switzer"; + src: url("./assets/fonts/Switzer-Variable.ttf") format("truetype"); font-weight: 100 900; font-display: swap; } :root { @apply bg-neutral-100 text-black rounded-xl; - font-family: Manrope, sans-serif; + font-family: "Switzer", sans-serif; + font-stretch: 100%; + font-optical-sizing: auto; font-size: 16px; line-height: 24px; font-weight: 500; diff --git a/frontend/src/network/sample-data.ts b/frontend/src/network/sample-data.ts deleted file mode 100644 index 342ee51..0000000 --- a/frontend/src/network/sample-data.ts +++ /dev/null @@ -1,88 +0,0 @@ -import type { DataArray } from "./types"; - -export const sampleData: DataArray = [ - { - type: "Event", - data: { - title: "Startup Mixer", - dateTime: { - start: "2025-06-01T19:00:00+01:00", - end: "2025-06-01T23:00:00+01:00", - }, - location: "The Kings Arms, 27 Ropemaker St, London EC2Y 9LY", - description: - "Casual networking event for tech entrepreneurs and investors in London.", - organizer: { - name: "London Startup Network", - email: "events@londonstartupnetwork.co.uk", - }, - attendees: ["Alex Smith", "Sofia Rodriguez"], - category: "Networking", - }, - }, - { - type: "Contact", - data: { - name: "João Silva", - phoneNumber: "+351 912 345 678", - emailAddress: "joao.silva@example.pt", - address: "Rua do Carmo 12, 1200-161 Lisboa, Portugal", - organization: "PortoTech Solutions", - title: "Marketing Manager", - notes: "Met at Web Summit Lisbon 2024", - }, - }, - { - type: "Location", - data: { - name: "Barman Dictat", - address: "14 Khreshchatyk St., Kyiv, Ukraine", - category: "Bar", - description: - "Stylish cocktail bar in the heart of Kyiv with an extensive menu of craft cocktails and a sophisticated atmosphere", - }, - }, - { - type: "Note", - data: { - title: "Q2 2025 Marketing Strategy", - keywords: ["strategy", "digital marketing", "Q2", "2025"], - content: - "## Executive Summary\n\nOur Q2 2025 marketing strategy focuses on expanding our digital presence and increasing customer engagement across all platforms. We will leverage AI-driven personalization to enhance user experience and implement a multi-channel approach to reach our target demographics more effectively.\n\n### Key Objectives\n\n1. Increase website traffic by 30% through SEO optimization and content marketing.\n2. Boost social media engagement rates by 25% using interactive campaigns and influencer partnerships.\n3. Implement a new customer loyalty program to improve retention rates by 15%.\n\nBy aligning our marketing efforts with emerging trends and customer preferences, we aim to solidify our market position and drive sustainable growth throughout Q2 and beyond.", - }, - }, - { - type: "Website", - data: { - url: "https://www.attio.com", - title: "Attio", - description: - "Attio is the AI-native CRM that builds, scales and grows your company to the next level.", - category: "SaaS", - }, - }, - { - type: "Receipt", - data: { - receiptDate: "2025-03-12T20:15:30+01:00", - orderNumber: "ORD12345", - amount: 49.99, - currency: "GBP", - vendor: "Zara Online Store", - items: [ - { - name: "Slim Fit Dress Shirt", - quantity: 1, - price: 49.99, - currency: "GBP", - }, - ], - paymentMethod: "Visa", - shippingAddress: { - name: "Alex Smith", - address: "123 High St, London, EC2A 3AZ", - }, - category: "Online Shopping", - }, - }, -]; diff --git a/frontend/src/network/sampleData.ts b/frontend/src/network/sampleData.ts new file mode 100644 index 0000000..8c1f992 --- /dev/null +++ b/frontend/src/network/sampleData.ts @@ -0,0 +1,436 @@ +import type { DataArray, DataItem } from "./types"; + +const getRawData = (item: DataItem) => { + return Object.values(item.data).join(" "); +}; + +export const sampleData: DataArray = [ + { + id: "1", + type: "Event", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + title: "Startup Mixer", + dateTime: { + start: "2025-06-01T19:00:00+01:00", + end: "2025-06-01T23:00:00+01:00", + }, + location: "The Kings Arms, 27 Ropemaker St, London EC2Y 9LY", + description: + "Casual networking event for tech entrepreneurs and investors in London.", + organizer: { + name: "London Startup Network", + email: "events@londonstartupnetwork.co.uk", + }, + attendees: ["Alex Smith", "Sofia Rodriguez"], + category: "Networking", + }, + }, + { + id: "2", + type: "Contact", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.name; + }, + data: { + name: "João Silva", + phoneNumber: "+351 912 345 678", + emailAddress: "joao.silva@example.pt", + address: "Rua do Carmo 12, 1200-161 Lisboa, Portugal", + organization: "PortoTech Solutions", + title: "Marketing Manager", + notes: "Met at Web Summit Lisbon 2024", + }, + }, + { + id: "3", + type: "Location", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.name; + }, + data: { + name: "Barman Dictat", + address: "14 Khreshchatyk St., Kyiv, Ukraine", + category: "Bar", + description: + "Stylish cocktail bar in the heart of Kyiv with an extensive menu of craft cocktails and a sophisticated atmosphere", + }, + }, + { + id: "4", + type: "Note", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + title: "Q2 2025 Marketing Strategy", + keywords: ["strategy", "digital marketing", "Q2", "2025"], + content: + "## Executive Summary\n\nOur Q2 2025 marketing strategy focuses on expanding our digital presence and increasing customer engagement across all platforms. We will leverage AI-driven personalization to enhance user experience and implement a multi-channel approach to reach our target demographics more effectively.\n\n### Key Objectives\n\n1. Increase website traffic by 30% through SEO optimization and content marketing.\n2. Boost social media engagement rates by 25% using interactive campaigns and influencer partnerships.\n3. Implement a new customer loyalty program to improve retention rates by 15%.\n\nBy aligning our marketing efforts with emerging trends and customer preferences, we aim to solidify our market position and drive sustainable growth throughout Q2 and beyond.", + }, + }, + { + id: "5", + type: "Website", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + url: "https://www.attio.com", + title: "Attio", + description: + "Attio is the AI-native CRM that builds, scales and grows your company to the next level.", + category: "SaaS", + }, + }, + { + id: "6", + type: "Receipt", + get rawData() { + return getRawData(this); + }, + get title() { + return `${this.data.orderNumber} - ${this.data.vendor}`; + }, + data: { + receiptDate: "2025-03-12T20:15:30+01:00", + orderNumber: "ORD12345", + amount: 49.99, + currency: "GBP", + vendor: "Zara Online Store", + items: [ + { + name: "Slim Fit Dress Shirt", + quantity: 1, + price: 49.99, + currency: "GBP", + }, + ], + paymentMethod: "Visa", + shippingAddress: { + name: "Alex Smith", + address: "123 High St, London, EC2A 3AZ", + }, + category: "Online Shopping", + }, + }, + { + id: "7", + type: "Event", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + title: "AI in Healthcare Summit", + dateTime: { + start: "2025-07-15T09:00:00+01:00", + end: "2025-07-15T17:00:00+01:00", + }, + location: + "Royal College of Physicians, 11 St Andrews Pl, London NW1 4LE", + description: + "Annual conference exploring the latest developments in AI applications for healthcare", + organizer: { + name: "HealthTech Alliance", + email: "events@healthtechalliance.org", + }, + attendees: [ + "Dr. Sarah Chen", + "Prof. James Wilson", + "Dr. Maria Santos", + ], + category: "Conference", + }, + }, + { + id: "8", + type: "Contact", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.name; + }, + data: { + name: "Emma Schmidt", + phoneNumber: "+49 30 12345678", + emailAddress: "e.schmidt@techberlin.de", + address: "Friedrichstraße 123, 10117 Berlin, Germany", + organization: "TechBerlin GmbH", + title: "Chief Technology Officer", + notes: "Key contact for Berlin tech scene, met at TechFest 2024", + }, + }, + { + id: "9", + type: "Location", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.name; + }, + data: { + name: "Digital Nomad Hub", + address: "Calle Princesa 25, 08001 Barcelona, Spain", + category: "Coworking Space", + description: + "Modern coworking space with high-speed internet, meeting rooms, and a vibrant community of international remote workers", + }, + }, + { + id: "10", + type: "Website", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + url: "https://www.techcrunch.com", + title: "TechCrunch", + description: + "Leading technology media platform covering startups, tech news, and venture capital", + category: "Tech News", + }, + }, + { + id: "11", + type: "Note", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + title: "Product Roadmap 2025", + keywords: ["product development", "strategy", "features", "2025"], + content: + "## Overview\n\nPriority features for 2025:\n\n1. AI-powered customer insights dashboard\n2. Integration with major CRM platforms\n3. Mobile app redesign\n4. Enhanced analytics suite\n\n### Timeline\n- Q1: Research and planning\n- Q2: Development phase 1\n- Q3: Beta testing\n- Q4: Full release", + }, + }, + { + id: "12", + type: "Receipt", + get rawData() { + return getRawData(this); + }, + get title() { + return `${this.data.orderNumber} - ${this.data.vendor}`; + }, + data: { + receiptDate: "2025-03-15T13:45:00+01:00", + orderNumber: "INV789012", + amount: 1299.99, + currency: "EUR", + vendor: "Apple Store", + items: [ + { + name: "MacBook Air M3", + quantity: 1, + price: 1299.99, + currency: "EUR", + }, + ], + paymentMethod: "MasterCard", + shippingAddress: { + name: "Emma Schmidt", + address: "Friedrichstraße 123, 10117 Berlin, Germany", + }, + category: "Electronics", + }, + }, + { + id: "13", + type: "Event", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + title: "Sustainable Tech Workshop", + dateTime: { + start: "2025-08-20T14:00:00+02:00", + end: "2025-08-20T17:00:00+02:00", + }, + location: "GreenTech Hub, Prinsengracht 150, Amsterdam", + description: + "Workshop on implementing sustainable practices in tech companies", + organizer: { + name: "Green Digital Alliance", + email: "workshops@greendigital.org", + }, + attendees: ["Lisa van der Berg", "Mark Johnson"], + category: "Workshop", + }, + }, + { + id: "14", + type: "Contact", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.name; + }, + data: { + name: "Akiko Tanaka", + phoneNumber: "+81 3 1234 5678", + emailAddress: "a.tanaka@tokyotech.jp", + address: "2-1-1 Marunouchi, Chiyoda-ku, Tokyo 100-0005", + organization: "Tokyo Tech Ventures", + title: "Investment Director", + notes: "Specialist in Asia-Pacific tech investments", + }, + }, + { + id: "15", + type: "Location", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.name; + }, + data: { + name: "Innovation Center Stockholm", + address: "Regeringsgatan 65, 111 56 Stockholm, Sweden", + category: "Tech Hub", + description: + "Leading innovation center in Scandinavia, hosting startups and tech events", + }, + }, + { + id: "16", + type: "Website", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + url: "https://www.github.com", + title: "GitHub", + description: "World's leading software development platform", + category: "Development Tools", + }, + }, + { + id: "17", + type: "Note", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + title: "Team Structure Reorganization", + keywords: ["organization", "teams", "structure", "management"], + content: + "## Proposed Changes\n\n1. Create dedicated AI/ML team\n2. Merge frontend and mobile teams\n3. Establish DevOps center of excellence\n\n### Timeline\nGradual implementation over Q3 2025\n\n### Expected Outcomes\n- Improved efficiency\n- Better resource allocation\n- Faster delivery cycles", + }, + }, + { + id: "18", + type: "Receipt", + get rawData() { + return getRawData(this); + }, + get title() { + return `${this.data.orderNumber} - ${this.data.vendor}`; + }, + data: { + receiptDate: "2025-03-18T10:30:00+01:00", + orderNumber: "BOK456789", + amount: 850.0, + currency: "USD", + vendor: "Hilton Hotels", + items: [ + { + name: "Executive Suite - 2 nights", + quantity: 1, + price: 850.0, + currency: "USD", + }, + ], + paymentMethod: "American Express", + shippingAddress: { + name: "Akiko Tanaka", + address: + "Hilton San Francisco, 333 O'Farrell St, San Francisco, CA 94102", + }, + category: "Travel", + }, + }, + { + id: "19", + type: "Event", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.title; + }, + data: { + title: "Web3 Developer Conference", + dateTime: { + start: "2025-09-10T09:00:00-07:00", + end: "2025-09-12T17:00:00-07:00", + }, + location: "Moscone Center, 747 Howard St, San Francisco, CA 94103", + description: + "Three-day conference focusing on blockchain, DeFi, and Web3 development", + organizer: { + name: "Web3 Alliance", + email: "conference@web3alliance.org", + }, + attendees: ["Vitalik B.", "Charles H.", "Gavin W."], + category: "Conference", + }, + }, + { + id: "20", + type: "Contact", + get rawData() { + return getRawData(this); + }, + get title() { + return this.data.name; + }, + data: { + name: "Rachel Chen", + phoneNumber: "+1 415 555 0123", + emailAddress: "rachel.chen@siliconvc.com", + address: "525 Market St, San Francisco, CA 94105", + organization: "Silicon Valley Capital", + title: "Partner", + notes: "Specializes in Series A/B investments in AI and ML startups", + }, + }, +]; diff --git a/frontend/src/network/types.ts b/frontend/src/network/types.ts index 415cf8d..410584e 100644 --- a/frontend/src/network/types.ts +++ b/frontend/src/network/types.ts @@ -21,7 +21,10 @@ interface ReceiptItem { } interface DataItemType { + id: string; + title: string; type: T; + rawData: string; data: D; } diff --git a/frontend/src/utils/getCardSize.ts b/frontend/src/utils/getCardSize.ts new file mode 100644 index 0000000..f686815 --- /dev/null +++ b/frontend/src/utils/getCardSize.ts @@ -0,0 +1,20 @@ +export type CardSize = "1/1" | "2/1"; + +export const getCardSize = (type: string): CardSize => { + switch (type) { + case "Event": + return "2/1"; + case "Contact": + return "1/1"; + case "Location": + return "1/1"; + case "Note": + return "2/1"; + case "Website": + return "1/1"; + case "Receipt": + return "2/1"; + default: + return "1/1"; + } +}; diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js index 2aede78..045af77 100644 --- a/frontend/tailwind.config.js +++ b/frontend/tailwind.config.js @@ -4,7 +4,7 @@ export default { theme: { extend: { fontFamily: { - sans: ["Manrope", "sans-serif"], + sans: ["Switzer", "sans-serif"], }, }, },