diff --git a/.gitignore b/.gitignore
index 92061a3..a76970f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
-node_modules
-.next
-.vercel
+node_modules
+.next
+.vercel
+.cache
diff --git a/components/Icon.tsx b/components/Icon.tsx
index 83fdb2f..064c6b3 100644
--- a/components/Icon.tsx
+++ b/components/Icon.tsx
@@ -1,71 +1,80 @@
-export type Icon =
- | 'twitter'
- | 'bandcamp'
- | 'discord'
- | 'envelope'
- | 'soundcloud'
- | 'teespring'
-import styles from "../styles/Icons.module.sass"
-import {
- FaBandcamp,
- FaDiscord,
- FaEnvelope,
- FaSoundcloud,
- FaTwitter,
-} from 'react-icons/fa'
-import { SiSpringCreators } from 'react-icons/si'
-const Icon = ({
- icon,
- className,
-}: {
- icon: Icon | string
- className?: string
-}) => {
- const size = '3rem'
- switch (icon) {
- case 'twitter':
- return (
-
- )
- case 'bandcamp':
- return (
-
- )
- case 'discord':
- return (
-
- )
- case 'envelope':
- return (
-
- )
- case 'soundcloud':
- return (
-
- )
- case 'teespring':
- return (
-
- )
- }
-}
-
-export default Icon
+export type Icon =
+ | 'twitter'
+ | 'bandcamp'
+ | 'discord'
+ | 'envelope'
+ | 'soundcloud'
+ | 'teespring'
+ | 'twitch'
+import styles from "../styles/Icons.module.sass"
+import {
+ FaBandcamp,
+ FaDiscord,
+ FaEnvelope,
+ FaSoundcloud,
+ FaTwitter,
+ FaTwitch
+} from 'react-icons/fa'
+import { SiSpringCreators } from 'react-icons/si'
+const Icon = ({
+ icon,
+ className,
+}: {
+ icon: Icon | string
+ className?: string
+}) => {
+ const size = '3rem'
+ switch (icon) {
+ case 'twitter':
+ return (
+
+ )
+ case 'bandcamp':
+ return (
+
+ )
+ case 'twitch':
+ return (
+
+ )
+ case 'discord':
+ return (
+
+ )
+ case 'envelope':
+ return (
+
+ )
+ case 'soundcloud':
+ return (
+
+ )
+ case 'teespring':
+ return (
+
+ )
+ }
+}
+
+export default Icon
diff --git a/lib/constants.ts b/lib/constants.ts
deleted file mode 100644
index bfe5a70..0000000
--- a/lib/constants.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-export default {
- spotify: "https://open.spotify.com/playlist/52m7Bk2Lo0qGvzdn9Ecyjx?si=cba9a3a596a746d6",
- soundcloud: "https://soundcloud.com/heikadog",
- twitter: "https://twitter.com/hkadogs",
- discord: "https://discordapp.com/users/319164759478108170",
- bandcamp: "https://heikadog.bandcamp.com/",
- mail: "website@heika.dog",
- teespring: "https://club-siberian.creator-spring.com/"
-}
\ No newline at end of file
diff --git a/lib/socials.ts b/lib/socials.ts
index 26ccd81..8eabb55 100644
--- a/lib/socials.ts
+++ b/lib/socials.ts
@@ -1,32 +1,32 @@
-import c from "./constants";
-import { Icon } from "../components/Icon";
-
-const Socials: { icon: Icon, link: string }[] = [
- {
- icon: "twitter",
- link: c.twitter,
- },
- {
- icon: "bandcamp",
- link: c.bandcamp,
- },
- {
- icon: "discord",
- link: c.discord,
- },
- {
- icon: "soundcloud",
- link: c.soundcloud,
- },
- {
- icon: "teespring",
- link: c.teespring,
- },
- {
- icon: "envelope",
- link: c.mail,
- }
-]
-
-
+import c from "./constants";
+import { Icon } from "../components/Icon";
+
+const Socials: { icon: Icon, link: string }[] = [
+ {
+ icon: "twitter",
+ link: c.socials.twitter,
+ },
+ {
+ icon: "bandcamp",
+ link: c.socials.bandcamp,
+ },
+ {
+ icon: "discord",
+ link: c.socials.discord,
+ },
+ {
+ icon: "soundcloud",
+ link: c.socials.soundcloud,
+ },
+ {
+ icon: "twitch",
+ link: c.socials.twitch,
+ },
+ {
+ icon: "envelope",
+ link: c.socials.mail,
+ }
+]
+
+
export default Socials
\ No newline at end of file
diff --git a/next-env.d.ts b/next-env.d.ts
index 4f11a03..62b8a52 100644
--- a/next-env.d.ts
+++ b/next-env.d.ts
@@ -1,5 +1,5 @@
-///
-///
-
-// NOTE: This file should not be edited
-// see https://nextjs.org/docs/basic-features/typescript for more information.
+///
+///
+
+// NOTE: This file should not be edited
+// see https://nextjs.org/docs/basic-features/typescript for more information.
diff --git a/package.json b/package.json
index 57f9ddb..90491a4 100644
--- a/package.json
+++ b/package.json
@@ -14,7 +14,8 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-icons": "^4.4.0",
- "sass": "^1.53.0"
+ "sass": "^1.53.0",
+ "ts-import": "4.0.0-beta.10"
},
"license": "MIT",
"devDependencies": {
diff --git a/pages/_app.tsx b/pages/_app.tsx
index 9b79716..319b608 100644
--- a/pages/_app.tsx
+++ b/pages/_app.tsx
@@ -1,7 +1,19 @@
-import React from "react";
-import "../styles/shared.sass";
-
-function MyApp({ Component, pageProps }) {
- return ;
-}
-export default MyApp;
+import React from "react";
+import Script from "next/script"
+import "../styles/shared.sass";
+
+function MyApp({ Component, pageProps }) {
+ return (
+ <>
+ {/* Umami Tracking */}
+
+
+ >
+ );
+}
+export default MyApp;
diff --git a/pages/index.tsx b/pages/index.tsx
index 272cf81..653ece4 100644
--- a/pages/index.tsx
+++ b/pages/index.tsx
@@ -1,52 +1,77 @@
-import Image from "next/image";
-import Link from "next/link";
-import styles from "../styles/Index.module.sass";
-import Avatar from "../public/Avatar.png";
-import constants from "lib/constants";
-import Icon from "components/Icon";
-import Socials from "lib/socials";
-
-
-const Index = () => {
- let AvatarSize = 200;
- return (
- <>
-
-
-
HEIKADOG
-
(pronounced high-cuh)
-
- i'm heika, a dog person who creates for the internet.
-
-
- check my music out on my solo album
- CLUB SIBERIAN VOL. 1
-
-
-
- or peep my production credits on
- spotify
- and
- soundcloud
- .{" "}
-
-
- {Socials.map(social => (
-
-
-
-
-
- ))}
-
-
- >
- );
-};
-
-export default Index;
+import Image from "next/image";
+import Link from "next/link";
+import styles from "../styles/Index.module.sass";
+import Avatar from "../public/assets/Avatar.png";
+import constants from "lib/constants";
+import Icon from "components/Icon";
+import Head from "components/Head";
+import Socials from "lib/socials";
+import Credits from "components/Credits";
+
+const Index = ({ credits }) => {
+ let AvatarSize = 200;
+ return (
+ <>
+