import Image, { ImageProps } from 'next/image' import { type ElementType } from 'react' import Button from '@/components/client/Button' import Card, { CardCta, CardDescription, CardEyebrow, CardTags, CardTitle, } from '@/components/server/Card' import Container from '@/components/server/Container' import HybridLink, { type Props as HybridLinkProps, } from '@/components/server/HybridLink' import Tag from '@/components/server/Tag' import { CodebergIcon, GitHubIcon, type IconProps, MastodonLogo, RSSIcon, } from '@/components/server/icons' import EmmaLogo from '@/images/logos/emma.jpeg' import FarfetchLogo from '@/images/logos/farfetch.png' import ThreeSigmaLogo from '@/images/logos/threeSigma.png' import formatDate from '@/lib/formatDate' import { getFirstBlogPosts } from '@/lib/notion/content/blogPosts' import { SelectColor } from '@/lib/notion/types' import richTextAsPlainText from '@/lib/notion/utils/richTextToPlainText' function BriefcaseIcon(props: IconProps) { return ( ) } function ArrowDownIcon(props: IconProps) { return ( ) } function BlogPost({ slug, title, description, publishDate, topics, }: { slug: string title: string description: string publishDate: string topics: { name: string; color: SelectColor }[] }) { return ( {title} {formatDate(publishDate)} {description} {topics.map((topic) => ( {topic.name} ))} Lê o artigo ) } function SocialLink({ icon: Icon, ...props }: HybridLinkProps & { icon: ElementType }) { return ( ) } function StayUpToDate() { return (

Mantém-te atualizade

Subscreve o feed de RSS{' '} Vais precisar de um leitor de RSS! Pessoalmente, recomendo o{' '} Fluent Reader {' '} ou o{' '} Feedly {' '} :) aqui !

) } function Resume() { const resume: { company: string title: string logo: ImageProps['src'] start: | { label: string dateTime: string } | string end: | { label: string dateTime: string } | string }[] = [ { company: 'Farfetch', title: 'Junior Frontend Software Eng.', start: '2020', end: '2021', logo: FarfetchLogo, }, { company: 'Emma - The Sleep Company', title: 'Frontend Software Eng.', start: '2022', end: '2022', logo: EmmaLogo, }, { company: 'Three Sigma', title: 'Frontend Software Eng.', start: '2022', end: 'Present', logo: ThreeSigmaLogo, }, ] return (

Trabalho

    {resume.map((role, roleIndex) => (
  1. Company
    {role.company}
    Role
    {role.title}
    Date
    {' '} {' '}
  2. ))}
) } export default async function Home() { const { results: blogPosts } = await getFirstBlogPosts() return ( <>

Olá! Sou o Filipe :)

Sou um engenheiro de UX (não me perguntem o que é que nem eu sei bem).

Gosto de programar interfaces e aplicações web, mas também de política, de ler sobre economia e de animais. Não gosto de cozinhar nem de vento frio. 🥶

Estou a tentar trazer à superfície o potencial da humanidade. Sou a favor de standards, software de código aberto (como é este site!), licenças{' '} copyleft {' '} e de cooperativas em vez de monopólios. ✊

Sou apaixonado pela{' '} Economia do Donut {' '} e por economia social e ambiental. Gostava de, um dia, ser economista em vez de programador. Quem sabe, para a União Europeia. 🇪🇺

Moro em Oeiras, Lisboa, Portugal.

{blogPosts.map((blogPost) => ( ({ name, color, }), )} slug={richTextAsPlainText(blogPost.properties.Slug.rich_text)} publishDate={richTextAsPlainText( blogPost.properties.PublishDate.date?.start ?? blogPost.created_time, )} /> ))}
) }