My personal site. theclashfruit.me
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix: fix some stuff

+94 -14
+6
app/(main)/art/page.tsx
··· 1 + import type { Metadata } from 'next'; 2 + 3 + export const metadata: Metadata = { 4 + title: 'Art' 5 + }; 6 + 1 7 export default function Art() { 2 8 return ( 3 9 <>
+6
app/(main)/blog/page.tsx
··· 3 3 4 4 import Link from 'next/link'; 5 5 6 + import type { Metadata } from 'next'; 7 + 6 8 export const dynamic = 'force-dynamic'; 9 + 10 + export const metadata: Metadata = { 11 + title: 'Blog' 12 + }; 7 13 8 14 export default async function Blog() { 9 15 const posts = await db
+24 -14
app/(main)/links/page.tsx
··· 8 8 // Types for our buttons 9 9 interface ButtonLink { 10 10 title: string; 11 - img: string; 11 + extension: 'png' | 'jpg' | 'jpeg' | 'svg' | 'gif' | 'apng' | 'webp'; 12 12 href: string; 13 13 } 14 14 ··· 17 17 }; 18 18 19 19 export default function Links() { 20 - // TODO: no hotlinks! 21 20 const buttons: ButtonLink[] = [ 22 21 { 23 22 title: 'Volpeon', 24 - img: 'https://volpeon.ink/_assets/btn1.svg', 23 + extension: 'svg', 25 24 href: 'https://volpeon.ink/' 26 25 }, 27 26 { 28 27 title: 'Pebble', 29 - img: 'https://pebble.pet/button.gif', 28 + extension: 'gif', 30 29 href: 'https://pebble.pet/' 31 30 }, 32 31 { 33 32 title: 'Hayden', 34 - img: 'https://hayden.moe/88x31/hayden.png', 33 + extension: 'png', 35 34 href: 'https://hayden.moe/' 36 35 }, 37 36 { 38 37 title: 'notnite', 39 - img: 'https://notnite.com/buttons/notnite.png', 38 + extension: 'png', 40 39 href: 'https://notnite.com/' 41 40 }, 42 41 { 43 42 title: 'essem', 44 - img: 'https://essem.space/images/sonabadge.png', 43 + extension: 'png', 45 44 href: 'https://essem.space/' 46 45 }, 47 46 { 48 47 title: 'Ivory', 49 - img: 'https://ioletsgo.gay/assets/buttons/ivorybutton.gif', 48 + extension: 'gif', 50 49 href: 'https://ioletsgo.gay/' 51 50 } 52 51 ]; 53 - 52 + 54 53 buttons.sort((a, b) => { 55 54 return a.title.localeCompare(b.title); 56 - }) 57 - 55 + }); 56 + 58 57 return ( 59 58 <> 60 59 <h3>Socials</h3> ··· 94 93 }} 95 94 > 96 95 {buttons.map((btn, i) => ( 97 - <Link href={btn.href} className={styles.button} key={i}> 96 + <Link 97 + href={btn.href} 98 + className={styles.button} 99 + key={i} 100 + rel="noopener noreferrer" 101 + title={btn.title} 102 + > 98 103 <Image 99 - src={btn.img} 104 + src={`/buttons/${btn.title.toLocaleLowerCase()}.${btn.extension}`} 100 105 width={88} 101 106 height={31} 102 107 alt={btn.title} 108 + title={btn.title} 103 109 unoptimized 104 110 /> 105 111 </Link> 106 112 ))} 107 113 </div> 108 - 114 + 109 115 <p>Check out these cool people!</p> 116 + <p> 117 + Want your own button here? Hit me up on{' '} 118 + <code>admin [at] theclashfruit.me</code>. 119 + </p> 110 120 </> 111 121 ); 112 122 }
+6
app/(main)/photos/page.tsx
··· 1 + import type { Metadata } from 'next'; 2 + 3 + export const metadata: Metadata = { 4 + title: 'Photos' 5 + }; 6 + 1 7 export default function Photos() { 2 8 return ( 3 9 <>
+6
app/(main)/projects/page.tsx
··· 1 + import type { Metadata } from 'next'; 2 + 3 + export const metadata: Metadata = { 4 + title: 'Projects' 5 + }; 6 + 1 7 export default function Projects() { 2 8 return ( 3 9 <>
public/buttons/essem.png

This is a binary file and will not be displayed.

public/buttons/hayden.png

This is a binary file and will not be displayed.

public/buttons/ivory.gif

This is a binary file and will not be displayed.

public/buttons/notnite.png

This is a binary file and will not be displayed.

public/buttons/pebble.gif

This is a binary file and will not be displayed.

+46
public/buttons/volpeon.svg
··· 1 + <svg width="88" height="31" viewBox="0 0 88 31" version="1.1" xmlns="http://www.w3.org/2000/svg" 2 + xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/"> 3 + <clipPath id="_clip1"> 4 + <rect x="0" y="0" width="88" height="31" /> 5 + </clipPath> 6 + <g clip-path="url(#_clip1)"> 7 + <rect id="BG" x="0" y="0" width="88" height="31" style="fill:rgb(226,214,206);" /> 8 + <g id="L1"> 9 + <g> 10 + <path d="M88,11L88,27L87,28L1,28L-0,27L-0,15L4,15L9,20L21,20L34,7L45,18L63,18L66,21L78,21L88,11Z" 11 + style="fill:rgb(161,139,134);" /> 12 + </g> 13 + </g> 14 + <g id="Dragon"> 15 + <g> 16 + <path d="M57,12.7C58.069,13.74 57.649,16.119 59,18L62,20L64,20L64,13L62,11L53,11L52.369,12L57,12.7Z" 17 + style="fill:white;" /> 18 + <path 19 + d="M61.5,9L65,11.5C65,11.5 69.616,6.496 71,5C71.926,4 73,4 73,4C66.417,13.472 70.425,22.06 80.57,14C80.57,14 80.799,15.202 80,16C78.063,17.935 69,27 69,27L67,28L60,28L59,27L59,25C59,25 60.565,20.869 62.013,17C63.086,14.134 62.06,12 59,12L52.369,12L50.695,10L52.896,7.696C52.896,5.267 53.709,4.002 55,3.654L55,6L56,6C56.76,4.595 58.657,3.654 60.381,3.654L59,7L62.5,7L61.5,9Z" /> 20 + <path d="M72,27L74,25L74,27C77.198,22.803 80,23 82,27L81,28L73,28L72,27Z" /> 21 + <path 22 + d="M60.5,19C59.651,19 59.033,18.661 58.5,18L55,27L54,28L51,28L50,27L50,25L52,18L57,12.7C59.479,13.202 58.462,17.416 60.5,19Z" /> 23 + <circle cx="56.5" cy="8.5" r="1.386" style="fill:white;" /> 24 + </g> 25 + </g> 26 + <g id="FG"> 27 + <g> 28 + <path d="M88,27L88,31L0,31L-0,18L31,18L40,27L88,27Z" /> 29 + <rect x="15" y="6" width="2" height="13" /> 30 + <path 31 + d="M19.5,14.5C17.823,15.852 17.706,18.393 17.74,18.883C17.761,19.191 17.622,19.132 17,19.75C16.778,19.472 16.472,19.27 16.25,18.992C16.229,18.966 16.578,15.343 19.5,14.5Z" /> 32 + <path 33 + d="M12,16.5C14.3,15.382 15.553,17.505 15.732,18.833C15.739,18.886 15.783,18.949 15.75,18.991C15.531,19.268 15.228,19.472 15.009,19.75C14.781,19.476 14.48,19.267 14.252,18.993C14.238,18.976 14.444,18.056 13.687,17.172C13.057,16.435 12.14,16.502 12,16.5Z" /> 34 + <path 35 + d="M20.999,16.5C20.437,16.58 18.627,16.676 17.743,19.137C17.594,19.55 17.45,19.398 16.694,19.685C16.615,19.339 16.397,19.034 16.318,18.688C16.318,18.688 17.228,16.875 18.737,16.42C19.845,16.087 20.62,16.392 20.999,16.5Z" /> 36 + <path 37 + d="M15,1L15,0L17,0L17,1C17,4 18.992,5.473 22,6.5C22.823,6.781 20.524,7.147 19.5,7C20.495,8.128 22.998,9.718 25,10.478C26.51,11.05 23.025,12.498 20,11.5C20,11.5 20.332,12.279 20.5,13C20.696,13.84 18.005,12.527 17,11.5L15,11.5C13.986,12.587 11.302,13.794 11.5,13C11.665,12.336 12,11.5 12,11.5C8.988,12.534 5.52,11.008 7,10.478C8.993,9.763 11.488,8.135 12.5,7C11.471,7.187 9.214,6.766 10,6.5C13.008,5.481 15,4 15,1Z" /> 38 + <path 39 + d="M15,-7L17,-7C17,-4 21,-1 25,0C26.518,0.379 23,1.345 21,1C21,1 22.498,1.77 24,2.5C25.502,3.23 20.499,3.689 17,2L15,2C11.513,3.646 6.468,3.232 8,2.5C9.346,1.857 11,1 11,1C9,1.318 5.436,0.313 7,0C12,-1 15,-4 15,-7Z" /> 40 + </g> 41 + </g> 42 + <path id="Text" 43 + d="M5,27L4,25L4,22L5,22L5,25L5.5,26L6,25L6,22L7,22L7,25L6,27L5,27ZM8,27L8,23L9,22L11,22L11,26L10,27L8,27ZM9,23L9,26L10,26L10,23L9,23ZM15,27L15,29L14,29L14,23L15,22L17,22L17,26L16,27L15,27ZM15,23L15,26L16,26L16,23L15,23ZM20,27L18,27L18,23L19,22L21,22L21,24L20,25L19,25L19,26L21,26L20,27ZM19,23L19,24L20,24L20,23L19,23ZM22,27L22,23L23,22L25,22L25,26L24,27L22,27ZM23,23L23,26L24,26L24,23L23,23ZM26,27L26,22L28,22L29,23L29,27L28,27L28,23L27,23L27,27L26,27ZM13,20L13,27L12,27L12,20L13,20Z" 44 + style="fill:white;" /> 45 + </g> 46 + </svg>