web: remove Roblox.ts
This commit is contained in:
parent
dff37906c6
commit
ae6e968135
@ -1,24 +1,11 @@
|
||||
"use client"
|
||||
|
||||
import { useState, useEffect } from "react"
|
||||
import { SubmissionInfo } from "@/app/ts/Submission"
|
||||
import { AssetImage } from "@/app/ts/Roblox"
|
||||
import Image from "next/image"
|
||||
|
||||
interface AssetID {
|
||||
id: SubmissionInfo["AssetID"]
|
||||
}
|
||||
|
||||
function MapImage(asset: AssetID) {
|
||||
const [assetImage, setAssetImage] = useState("");
|
||||
|
||||
useEffect(() => {
|
||||
AssetImage(asset.id, "420x420").then(image => setAssetImage(image))
|
||||
}, [asset.id]);
|
||||
if (!assetImage) {
|
||||
return <p>Fetching map image...</p>;
|
||||
}
|
||||
return <Image src={assetImage} alt="Map Image"/>
|
||||
function MapImage() {
|
||||
return <p>Fetching map image...</p>
|
||||
}
|
||||
|
||||
export {
|
||||
|
@ -9,7 +9,7 @@ interface ReviewButton {
|
||||
}
|
||||
|
||||
function ReviewButtonClicked(action: Action) {
|
||||
const post = fetch(`http://localhost:3000/v1/submissions/1/status/${action}`, {
|
||||
fetch(`http://localhost:3000/v1/submissions/1/status/${action}`, {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-type": "application/json",
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
import { SubmissionStatus, SubmissionStatusToString } from "@/app/ts/Submission";
|
||||
import type { CreatorAndReviewStatus } from "./_comments";
|
||||
import { MapImage, type AssetID } from "./_map";
|
||||
import { MapImage } from "./_map";
|
||||
import { useParams } from "next/navigation";
|
||||
import ReviewButtons from "./_reviewButtons";
|
||||
import { Rating } from "@mui/material";
|
||||
@ -34,11 +34,11 @@ function Ratings() {
|
||||
)
|
||||
}
|
||||
|
||||
function RatingArea(asset: AssetID) {
|
||||
function RatingArea() {
|
||||
return (
|
||||
<aside className="review-area">
|
||||
<section className="map-image-area">
|
||||
<MapImage id={asset.id}/>
|
||||
<MapImage/>
|
||||
</section>
|
||||
<Ratings/>
|
||||
<ReviewButtons/>
|
||||
@ -71,7 +71,7 @@ export default function SubmissionInfoPage() {
|
||||
<Webpage>
|
||||
<main className="map-page-main">
|
||||
<section className="review-section">
|
||||
<RatingArea id={432}/>
|
||||
<RatingArea/>
|
||||
<TitleAndComments name={dynamicId.submissionId} creator="Quaternions" review={SubmissionStatus.Accepted} comments={[]}/>
|
||||
</section>
|
||||
</main>
|
||||
|
@ -1,48 +0,0 @@
|
||||
const FALLBACK_IMAGE = ""
|
||||
|
||||
type thumbsizes = "420" | "720"
|
||||
type thumbsize<S extends thumbsizes> = `${S}x${S}`
|
||||
type ParsedJson<A> = {
|
||||
errors: A,
|
||||
data: {
|
||||
[0]: {
|
||||
state: string,
|
||||
imageUrl: string,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function Parse<A>(json: ParsedJson<A>): string {
|
||||
if (json.errors) {
|
||||
console.warn(json.errors)
|
||||
return FALLBACK_IMAGE
|
||||
}
|
||||
if (json.data) {
|
||||
const data = json.data[0]
|
||||
if (!data) { //For whatever reason roblox will sometimes return an empty array instead of an error message
|
||||
console.warn("Roblox gave us no data,", data)
|
||||
return FALLBACK_IMAGE
|
||||
}
|
||||
if (data.state === "Completed") {
|
||||
return data.imageUrl
|
||||
}
|
||||
console.warn(data)
|
||||
return FALLBACK_IMAGE
|
||||
}
|
||||
return FALLBACK_IMAGE
|
||||
}
|
||||
|
||||
async function AvatarHeadshot<S extends thumbsizes>(userid: number, size: thumbsize<S>): Promise<string> {
|
||||
const avatarthumb_api = fetch(`https://thumbnails.roproxy.com/v1/users/avatar-headshot?userIds=${userid}&size=${size}&format=Png&isCircular=false`)
|
||||
return avatarthumb_api.then(res => res.json()).then(json => Parse(json))
|
||||
}
|
||||
|
||||
async function AssetImage<S extends thumbsizes>(assetid: number, size: thumbsize<S>): Promise<string> {
|
||||
const avatarthumb_api = fetch(`https://thumbnails.roblox.com/v1/assets?assetIds=${assetid}&returnPolicy=PlaceHolder&size=${size}&format=Png&isCircular=false`)
|
||||
return avatarthumb_api.then(res => res.json()).then(json => Parse(json))
|
||||
}
|
||||
|
||||
export {
|
||||
AvatarHeadshot,
|
||||
AssetImage
|
||||
}
|
Loading…
Reference in New Issue
Block a user