package pages import ( "html/template" "atri.dad/lib" "github.com/labstack/echo/v4" ) type HomeProps struct { Socials []lib.IconLink Tech []lib.IconLink ButtonsLinks []lib.ButtonLink } func Home(c echo.Context) error { socials := []lib.IconLink{ { Name: "Email", Href: "mailto:me@atri.dad", Icon: template.HTML(``), }, { Name: "RSS", Href: "/api/rss", Icon: template.HTML(``), }, { Name: "Discord", Href: "http://discord.com/users/83679718401904640", Icon: template.HTML(``), }, { Name: "Spotify", Href: "https://open.spotify.com/user/31v3p4oq6im7fvpqhhbju222pbr4?si=f25bb92301434db2", Icon: template.HTML(``), }, { Name: "Mastdon", Href: "https://mastodon.social/@atridotdad", Icon: template.HTML(``), }, { Name: "Git", Href: "https://git.atri.dad/atridad", Icon: template.HTML(`Git`), }, { Name: "LinkedIn", Href: "https://www.linkedin.com/in/atridadl/", Icon: template.HTML(``), }, { Name: "Twitch", Href: "https://www.twitch.tv/himbothyswaggins", Icon: template.HTML(``), }, { Name: "YouTube", Href: "https://www.youtube.com/@himbothyswaggins", Icon: template.HTML(``), }, } tech := []lib.IconLink{ { Name: "React", Href: "https://react.dev", Icon: template.HTML(`React`), }, { Name: "Remix", Href: "https://remix.run", Icon: template.HTML(`Remix`), }, { Name: "TypeScript", Href: "https://typescriptlang.org", Icon: template.HTML(`TypeScript`), }, { Name: "Node.js", Href: "https://nodejs.org", Icon: template.HTML(`Node.js`), }, { Name: "Bun", Href: "https://bun.sh", Icon: template.HTML(`Bun`), }, { Name: "Go", Href: "https://golang.org", Icon: template.HTML(`Go`), }, { Name: "PostgreSQL", Href: "https://postgresql.org", Icon: template.HTML(`PostgreSQL`), }, { Name: "SQLite", Href: "https://sqlite.org", Icon: template.HTML(`SQLite`), }, { Name: "Redis", Href: "https://redis.io", Icon: template.HTML(`Redis`), }, { Name: "Railway", Href: "https://railway.app?referralCode=i4U1gm", Icon: template.HTML(`Railway`), }, { Name: "Docker", Href: "https://docker.com", Icon: template.HTML(`Docker`), }, } buttons := []lib.ButtonLink{ { Name: "Contract Me", Href: "mailto:contract@atri.dad", Internal: false, }, { Name: "Resumé", Href: lib.GeneratePublicURL("Atridad_Lahiji_Resume.pdf"), Internal: false, }, { Name: "Testimonials", Href: "/testimonials", Internal: true, }, { Name: "Support 🩵", Href: "https://donate.stripe.com/8wMeVF25c78L0V2288", Internal: false, }, } props := HomeProps{ Socials: socials, Tech: tech, ButtonsLinks: buttons, } // Specify the partials used by this page partials := []string{"header", "navitems", "iconlinks", "buttonlinks"} // Render the template return lib.RenderTemplate(c.Response().Writer, "base", partials, props) }