diff --git a/public/bluesky-logo.svg b/public/bluesky-logo.svg new file mode 100644 index 0000000..c9ecb15 --- /dev/null +++ b/public/bluesky-logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/public/linkedin-logo.png b/public/linkedin-logo.png new file mode 100644 index 0000000..a9fe49b Binary files /dev/null and b/public/linkedin-logo.png differ diff --git a/src/app/page.tsx b/src/app/page.tsx index 67ea22b..6ff108f 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -2,6 +2,10 @@ import React from 'react'; import Image from 'next/image'; import { Input } from '@/components/ui/input'; import { Separator } from '@/components/ui/separator'; +import { Card, CardContent, CardDescription, CardHeader } from '@/components/ui/card'; +import Link from 'next/link'; +import { SearchResult } from '@/components/search-result'; +import { PublicUser } from '@/lib/github-user'; export default async function Home() { diff --git a/src/components/search-result.tsx b/src/components/search-result.tsx new file mode 100644 index 0000000..f18172f --- /dev/null +++ b/src/components/search-result.tsx @@ -0,0 +1,62 @@ +import Image from 'next/image'; +import Link from 'next/link'; + +interface SearchResultProps { + website: string; + website_icon_uri: string; + href: string; + title: string; + description: string; + links?: SearchResultLink[]; +} + +interface SearchResultLink { + text: string; + href: string; +} + +export function SearchResult( + { + website, + website_icon_uri, + href, + title, + description, + links, + }: SearchResultProps, +) { + + return ( +
+ +
+ {website}/ +
+
+ {website} + {href} +
+ +
+ {title} + {description} +
+ { + links && links.length > 0 && +
+ { + links.map(({ text, href }) => + + {text} + + ) + } +
+ } +
+ ); +}