mirror of
https://github.com/DeveloLongScript/MHSF.git
synced 2026-05-07 23:45:02 -05:00
fix: dates show incorrectly
This commit is contained in:
parent
579ce15832
commit
0a347d3eac
@ -30,12 +30,16 @@ import { useEffectOnce } from "@/lib/useEffectOnce";
|
||||
import { useClerk, useUser } from "@clerk/nextjs";
|
||||
import { useRouter } from "@/lib/useRouter";
|
||||
import type { SVGProps } from "react";
|
||||
import { favoriteServer, getAccountFavorites, serverOwned } from "@/lib/api";
|
||||
import {
|
||||
favoriteServer,
|
||||
getAccountFavorites,
|
||||
isFavorited,
|
||||
serverOwned,
|
||||
} from "@/lib/api";
|
||||
import IconDisplay from "./IconDisplay";
|
||||
import ServerSingle from "@/lib/single";
|
||||
import toast from "react-hot-toast";
|
||||
import { ServerResponse, OnlineServer } from "@/lib/types/mh-server";
|
||||
import { m } from "framer-motion";
|
||||
import {
|
||||
Dialog,
|
||||
DialogContent,
|
||||
@ -164,6 +168,8 @@ export function OfflineServerCB() {
|
||||
const [obj, setObj] = useState<ServerResponse | object>({});
|
||||
const [vb, setVB] = useState(false);
|
||||
const router = useRouter();
|
||||
const [starred, setStarred] = useState(false);
|
||||
const { resolvedTheme } = useTheme();
|
||||
|
||||
useEffect(() => {
|
||||
events.on("cmd-offline", (info: ServerResponse) => {
|
||||
@ -184,6 +190,7 @@ export function OfflineServerCB() {
|
||||
});
|
||||
});
|
||||
} else {
|
||||
isFavorited(info.name).then((b) => setStarred(b));
|
||||
setVB(false);
|
||||
setOpen(true);
|
||||
setObj(info);
|
||||
@ -208,6 +215,7 @@ export function OfflineServerCB() {
|
||||
});
|
||||
});
|
||||
} else {
|
||||
isFavorited(info.name).then((b) => setStarred(b));
|
||||
setOpen(true);
|
||||
setVB(true);
|
||||
setObj(info);
|
||||
@ -258,13 +266,23 @@ export function OfflineServerCB() {
|
||||
</CommandItem>
|
||||
<CommandItem
|
||||
onSelect={() => {
|
||||
favoriteServer((obj as ServerResponse).name).then(() =>
|
||||
toast.success("Done!")
|
||||
);
|
||||
favoriteServer((obj as ServerResponse).name).then(() => {
|
||||
setStarred(!starred);
|
||||
toast.success("Done!");
|
||||
});
|
||||
}}
|
||||
>
|
||||
<Star className="mr-2 h-4 w-4" />
|
||||
Favorite Server
|
||||
<Star
|
||||
className="mr-2 h-4 w-4"
|
||||
fill={
|
||||
starred == true
|
||||
? resolvedTheme == "dark"
|
||||
? "white"
|
||||
: "black"
|
||||
: "transparent"
|
||||
}
|
||||
/>
|
||||
{!starred ? "F" : "Unf"}avorite Server
|
||||
</CommandItem>
|
||||
<CommandItem
|
||||
onSelect={() =>
|
||||
@ -311,7 +329,9 @@ export function ServerCommandBar() {
|
||||
const [obj, setObj] = useState<OnlineServer | object>({});
|
||||
const [vb, setVB] = useState(false);
|
||||
const router = useRouter();
|
||||
const { resolvedTheme } = useTheme();
|
||||
const [owned, setOwned] = useState(false);
|
||||
const [starred, setStarred] = useState(false);
|
||||
const [serverSingle, setSingle] = useState<ServerSingle>(
|
||||
new ServerSingle(serverName)
|
||||
);
|
||||
@ -321,6 +341,7 @@ export function ServerCommandBar() {
|
||||
serverSingle.setName(info.serverName);
|
||||
if (serverSingle != undefined)
|
||||
(serverSingle as ServerSingle).init(true).then(() => {
|
||||
isFavorited(info.serverName).then((b) => setStarred(b));
|
||||
setServerName(info.serverName);
|
||||
setObj(info.serverObject);
|
||||
setOpen(true);
|
||||
@ -392,11 +413,23 @@ export function ServerCommandBar() {
|
||||
</CommandItem>
|
||||
<CommandItem
|
||||
onSelect={() => {
|
||||
favoriteServer(serverName).then(() => toast.success("Done!"));
|
||||
favoriteServer(serverName).then(() => {
|
||||
setStarred(!starred);
|
||||
toast.success("Done!");
|
||||
});
|
||||
}}
|
||||
>
|
||||
<Star className="mr-2 h-4 w-4" />
|
||||
Favorite Server
|
||||
<Star
|
||||
className="mr-2 h-4 w-4"
|
||||
fill={
|
||||
starred == true
|
||||
? resolvedTheme == "dark"
|
||||
? "white"
|
||||
: "black"
|
||||
: "transparent"
|
||||
}
|
||||
/>
|
||||
{!starred ? "F" : "Unf"}avorite Server
|
||||
</CommandItem>
|
||||
<CommandItem
|
||||
onSelect={() =>
|
||||
|
||||
@ -41,7 +41,7 @@ export function NewChart({ server }: { server: string }) {
|
||||
|
||||
const allNums = { player_count: joins, favorites };
|
||||
useEffectOnce(() => {
|
||||
getShortTermData(server, ["player_count", "favorites", "time"]).then(
|
||||
getShortTermData(server, ["player_count", "favorites", "date"]).then(
|
||||
(c) => {
|
||||
setChartData(c);
|
||||
getCommunityServerFavorites(server).then((b) => setFavorites(b));
|
||||
@ -101,14 +101,13 @@ export function NewChart({ server }: { server: string }) {
|
||||
>
|
||||
<CartesianGrid vertical={false} />
|
||||
<XAxis
|
||||
dataKey="time"
|
||||
dataKey="date"
|
||||
tickLine={false}
|
||||
axisLine={false}
|
||||
tickMargin={8}
|
||||
minTickGap={32}
|
||||
tickFormatter={(value) => {
|
||||
const date = new Date(value);
|
||||
return date.toLocaleTimeString("en-US", {
|
||||
return new Date(value).toLocaleTimeString("en-US", {
|
||||
timeStyle: "short",
|
||||
});
|
||||
}}
|
||||
|
||||
@ -73,7 +73,7 @@ export async function isFavorited(server: string): Promise<boolean> {
|
||||
}
|
||||
);
|
||||
|
||||
return (await response.json()).data;
|
||||
return (await response.json()).result;
|
||||
} catch {
|
||||
throw Error("Not authenticated with a user.");
|
||||
}
|
||||
@ -128,7 +128,7 @@ export async function getHistoricalData(
|
||||
|
||||
export async function getShortTermData(
|
||||
server: string,
|
||||
scopes: Array<"player_count" | "favorites" | "server" | "time">
|
||||
scopes: Array<"player_count" | "favorites" | "server" | "date">
|
||||
): Promise<
|
||||
Array<{
|
||||
player_count?: number;
|
||||
@ -152,7 +152,7 @@ export async function getShortTermData(
|
||||
}
|
||||
|
||||
export async function getMetaShortTerm(
|
||||
scopes: Array<"total_players" | "total_servers" | "unix">
|
||||
scopes: Array<"total_players" | "total_servers" | "date">
|
||||
): Promise<
|
||||
Array<{
|
||||
total_players?: number;
|
||||
@ -355,3 +355,27 @@ export async function getCustomization(server: string): Promise<any> {
|
||||
throw Error("Error while running API");
|
||||
}
|
||||
}
|
||||
|
||||
export async function sortedFavorites(): Promise<
|
||||
Array<{ server: string; favorites: number }> | boolean
|
||||
> {
|
||||
try {
|
||||
const response = await fetch(
|
||||
connector(`/sorting/favorites`, { version: 0 }),
|
||||
{
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
if (response.status == 400) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return (await response.json()).results;
|
||||
} catch {
|
||||
throw Error("Error while running API");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user