fix build issues
This commit is contained in:
@@ -1,103 +0,0 @@
|
|||||||
import Image from "next/image";
|
|
||||||
import Link from "next/link";
|
|
||||||
import React, {useEffect, useState} from 'react';
|
|
||||||
import { api } from "@/utils/api";
|
|
||||||
|
|
||||||
// types
|
|
||||||
import type {
|
|
||||||
MedalApiObject,
|
|
||||||
SteamApiObject,
|
|
||||||
MusicApiObject
|
|
||||||
} from '@/utils/types'
|
|
||||||
|
|
||||||
type SocialCardProps = {
|
|
||||||
platform: "steam" | "music" | "medal"
|
|
||||||
}
|
|
||||||
|
|
||||||
function MedalSocialCard() {
|
|
||||||
const { data: medalData, medalFetchStatus } = api.social.getMedalData.useQuery();
|
|
||||||
|
|
||||||
return (
|
|
||||||
<>
|
|
||||||
{
|
|
||||||
medalData?.data.map((v: MedalApiObject,k: number) => {
|
|
||||||
return <div key={k}>
|
|
||||||
<Image
|
|
||||||
src={v.image[0]?.["#text"] ?? "https://storage.thatalex.dev/content/pfp.jpg"}
|
|
||||||
width="50"
|
|
||||||
height="50"
|
|
||||||
alt={`${v.name} Cover Art`}
|
|
||||||
className="inline mr-2"
|
|
||||||
/>
|
|
||||||
<div className="inline-block align-middle">
|
|
||||||
<Link href={v.url} target="_blank">
|
|
||||||
<h1 className="font-bold w-52 truncate hover:underline">{v.name}</h1>
|
|
||||||
</Link>
|
|
||||||
<p className="opacity-75">{v.artist["#text"]}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
function SteamSocialCard() {
|
|
||||||
const { data: SteamData, steamFetchStatus } = api.social.getSteamData.useQuery();
|
|
||||||
}
|
|
||||||
|
|
||||||
function MusicSocialCard() {
|
|
||||||
const { data: MusicData, musicFetchStatus } = api.social.getMusicData.useQuery();
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function SocialCard({ platform }: SocialCardProps) {
|
|
||||||
const [content, setContent] = useState<React.JSX.Element | null>(null)
|
|
||||||
|
|
||||||
|
|
||||||
const platformDisplayElements = () => {
|
|
||||||
if (platform === "music") {
|
|
||||||
return (
|
|
||||||
<div className="space-y-2">
|
|
||||||
{
|
|
||||||
socialData?.data.map((v,k) => {
|
|
||||||
return <div key={k}>
|
|
||||||
<Image
|
|
||||||
src={v.image[0]?.["#text"] ?? "https://storage.thatalex.dev/content/pfp.jpg"}
|
|
||||||
width="50"
|
|
||||||
height="50"
|
|
||||||
alt={`${v.name} Cover Art`}
|
|
||||||
className="inline mr-2"
|
|
||||||
/>
|
|
||||||
<div className="inline-block align-middle">
|
|
||||||
<Link href={v.url} target="_blank">
|
|
||||||
<h1 className="font-bold w-52 truncate hover:underline">{v.name}</h1>
|
|
||||||
</Link>
|
|
||||||
<p className="opacity-75">{v.artist["#text"]}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// return (
|
|
||||||
// <div className="bg-white text-black max-w-fit mx-auto p-4">
|
|
||||||
// <h1 className="text-2xl font-bold inline">{displayPlatform}</h1>
|
|
||||||
// </div>
|
|
||||||
// // <div className="bg-white text-black max-w-fit mx-auto p-4">
|
|
||||||
// // <h1 className="text-2xl font-bold inline">Listening To</h1>
|
|
||||||
|
|
||||||
// // {/* link to lastfm */}
|
|
||||||
// // <Link
|
|
||||||
// // href="https://last.fm/user/lulawex"
|
|
||||||
// // target="_blank"
|
|
||||||
// // className="opacity-75 underline font-bold text-sm ml-2 hover:text-zinc-600"
|
|
||||||
// // >
|
|
||||||
// // Powered by Last.fm
|
|
||||||
// // </Link>
|
|
||||||
// // </div>
|
|
||||||
// )
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,5 @@
|
|||||||
import { postRouter } from "@/server/api/routers/post";
|
import { postRouter } from "@/server/api/routers/post";
|
||||||
import { linksRouter } from "./routers/links";
|
import { linksRouter } from "./routers/links";
|
||||||
import { socialRouter } from "./routers/social";
|
|
||||||
import { blogRouter } from "./routers/blog";
|
import { blogRouter } from "./routers/blog";
|
||||||
import { createTRPCRouter } from "@/server/api/trpc";
|
import { createTRPCRouter } from "@/server/api/trpc";
|
||||||
|
|
||||||
@@ -12,7 +11,6 @@ import { createTRPCRouter } from "@/server/api/trpc";
|
|||||||
export const appRouter = createTRPCRouter({
|
export const appRouter = createTRPCRouter({
|
||||||
post: postRouter,
|
post: postRouter,
|
||||||
links: linksRouter,
|
links: linksRouter,
|
||||||
social: socialRouter,
|
|
||||||
blog: blogRouter
|
blog: blogRouter
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,31 +0,0 @@
|
|||||||
import {z} from 'zod';
|
|
||||||
import axios from 'axios';
|
|
||||||
|
|
||||||
import {
|
|
||||||
createTRPCRouter,
|
|
||||||
publicProcedure
|
|
||||||
} from '@/server/api/trpc';
|
|
||||||
import type {
|
|
||||||
MedalApiObject,
|
|
||||||
MusicApiObject,
|
|
||||||
SteamApiObject
|
|
||||||
} from '@/utils/types'
|
|
||||||
|
|
||||||
const base_url = "https://api.thatalex.dev/v4/social/"
|
|
||||||
export const socialRouter = createTRPCRouter({
|
|
||||||
getMedalData: publicProcedure
|
|
||||||
.query(async ({input}) => {
|
|
||||||
const response = await axios.get(base_url + "medal")
|
|
||||||
return response.data as MedalApiObject
|
|
||||||
}),
|
|
||||||
getSteamData: publicProcedure
|
|
||||||
.query(async ({input}) => {
|
|
||||||
const response = await axios.get(base_url + "steam")
|
|
||||||
return response.data as SteamApiObject
|
|
||||||
}),
|
|
||||||
getMusicData: publicProcedure
|
|
||||||
.query(async ({input}) => {
|
|
||||||
const response = await axios.get(base_url + "music")
|
|
||||||
return response.data as MusicApiObject
|
|
||||||
})
|
|
||||||
})
|
|
||||||
Reference in New Issue
Block a user