diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..cc88fc5 --- /dev/null +++ b/biome.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://biomejs.dev/schemas/1.5.3/schema.json", + "organizeImports": { + "enabled": true + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "formatter": { + "enabled": true, + "indentStyle": "space", + "indentWidth": 4 + } +} diff --git a/frontend/biome.json b/frontend/biome.json deleted file mode 100644 index 1c90366..0000000 --- a/frontend/biome.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "$schema": "https://biomejs.dev/schemas/1.5.3/schema.json", - "organizeImports": { - "enabled": true - }, - "linter": { - "enabled": true, - "rules": { - "recommended": true - } - }, - "formatter": { - "enabled": true, - "indentStyle": "space", - "indentWidth": 4 - } -} diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 9d4e043..06ec56f 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -99,35 +99,32 @@ function App() { - - e.preventDefault()} - > - - - 😬 No emoji found - - - {/*
Emoji selected: {emoji()?.emoji} {emoji()?.name}
*/} - + {/* */}
-
-
- {/*
-
-
-
-
-
-
*/} - {/* {JSON.stringify(images())} */} - + e.preventDefault()} + > + + + No results found + + + +
+
+
+
+
+
+
+ {/* {JSON.stringify(images())} */} + {/* {(image) => ( )} - -
-
+ */}
footer diff --git a/frontend/src/network/sample-data.ts b/frontend/src/network/sample-data.ts new file mode 100644 index 0000000..342ee51 --- /dev/null +++ b/frontend/src/network/sample-data.ts @@ -0,0 +1,88 @@ +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/types.ts b/frontend/src/network/types.ts new file mode 100644 index 0000000..415cf8d --- /dev/null +++ b/frontend/src/network/types.ts @@ -0,0 +1,103 @@ +interface DateTime { + start: string; + end: string; +} + +interface Address { + name: string; + address: string; +} + +interface Organizer { + name: string; + email: string; +} + +interface ReceiptItem { + name: string; + quantity: number; + price: number; + currency: string; +} + +interface DataItemType { + type: T; + data: D; +} + +interface EventData { + title: string; + dateTime: DateTime; + location: string; + description: string; + organizer: Organizer; + attendees: string[]; + category: string; +} + +interface ContactData { + name: string; + phoneNumber: string; + emailAddress: string; + address: string; + organization: string; + title: string; + notes: string; +} + +interface LocationData { + name: string; + address: string; + category: string; + description: string; +} + +interface NoteData { + title: string; + keywords: string[]; + content: string; +} + +interface WebsiteData { + url: string; + title: string; + description: string; + category: string; +} + +interface ReceiptData { + receiptDate: string; + orderNumber: string; + amount: number; + currency: string; + vendor: string; + items: ReceiptItem[]; + paymentMethod: string; + shippingAddress: Address; + category: string; +} + +type Event = DataItemType<"Event", EventData>; +type Contact = DataItemType<"Contact", ContactData>; +type Location = DataItemType<"Location", LocationData>; +type Note = DataItemType<"Note", NoteData>; +type Website = DataItemType<"Website", WebsiteData>; +type Receipt = DataItemType<"Receipt", ReceiptData>; + +type DataItem = Event | Contact | Location | Note | Website | Receipt; +type DataArray = DataItem[]; + +export type { + DateTime, + Address, + Organizer, + ReceiptItem, + Event, + Contact, + Location, + Note, + Website, + Receipt, + DataItem, + DataArray, +};