Skip to content

Commit 8f523f7

Browse files
committed
much changes
1 parent d3ec9dd commit 8f523f7

7 files changed

+258
-12
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
> **100% client sided Sword Battle account manager written in react**
44
5-
Use Now [here](https://sk337.github.io/SwordManager)
5+
**Use Now [here](https://sword-manager.replit.app)**
66

77
## Run Locally
88

index.html

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,7 @@
88
<link rel="icon" type="image/png" href="/src/swordlogo.png">
99
</head>
1010
<body>
11-
<div id="root">
12-
13-
</div>
11+
<div id="root"></div>
1412
<script type="module" src="/src/index.jsx"></script>
1513
</body>
1614
</html>

package-lock.json

+142
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
"node-fetch": "^3.2.6",
3535
"prettier": "^3.2.4",
3636
"react": "^18.2.0",
37+
"react-chartjs-2": "^5.2.0",
3738
"react-dom": "^18.2.0",
3839
"react-redux": "^9.1.0",
3940
"react-router-dom": "^6.21.3",
@@ -42,6 +43,7 @@
4243
"tailwind-merge": "^2.2.1",
4344
"tailwindcss-animate": "^1.0.7",
4445
"typescript": "^5.3.3",
46+
"unplugin-inject-preload": "^2.0.0",
4547
"vite": "^5.0.12",
4648
"vite-plugin-plain-text": "^1.4.2"
4749
},

src/Stats.jsx

+63-7
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,29 @@
11
import React, { useState, useEffect } from "react";
22
import { getPubInfo } from "@/utils/login";
3-
import { prettyNum } from "@/utils/jsutils";
3+
import { prettyNum, id2skin, dateParse, parseDailyStats } from "@/utils/jsutils";
44
import cosmetics from "@/../cosmetics.json";
55
import Nav from "@/components/nav";
6+
import {
7+
HoverCard,
8+
HoverCardContent,
9+
HoverCardTrigger,
10+
} from "@/components/ui/hover-card";
11+
import {
12+
Chart as ChartJS,
13+
CategoryScale,
14+
LinearScale,
15+
PointElement,
16+
LineElement,
17+
Title,
18+
Tooltip,
19+
Legend,
20+
} from "chart.js";
21+
import { Line } from 'react-chartjs-2';
22+
623

724
export default function Stats() {
825
const urlData = new URL("https://" + window.location.hash.replace("#", "q/"));
9-
console.log(urlData);
26+
1027
if (!urlData.searchParams.get("user")) {
1128
return (
1229
<main>
@@ -28,26 +45,65 @@ export default function Stats() {
2845
}, []);
2946

3047
if (user && !user.error) {
48+
let stats = parseDailyStats(user.dailyStats)
49+
// console.log(user);
50+
console.log(stats)
3151
return (
3252
<main>
3353
<Nav />
3454
<div className="w-full flex items-center justify-center p-5">
3555
<div className="w-4/5">
3656
<p className="text-3xl font-bold text-center">Stats</p>
57+
<img src={user.image} className="rounded-full w-[60px]"></img>
3758
<p className="font-bold text-2xl">{user.account.username}</p>
3859
<p className="text-green-500">General:</p>
3960
<p>
4061
<span className="text-sky-500">&nbsp;&nbsp;Skins: </span>
41-
<span className="text-orange-400">
42-
{user.account.skins.owned.length}
43-
</span>{" "}
62+
<HoverCard>
63+
<HoverCardTrigger>
64+
<span className="text-orange-400">
65+
{user.account.skins.owned.length}
66+
</span>
67+
</HoverCardTrigger>
68+
<HoverCardContent className="max-h-[300px] overflow-x-auto">
69+
{user.account.skins.owned.map((skin) => {
70+
let skinCont = id2skin(skin);
71+
return (
72+
<span key={skin}>
73+
<span>{skinCont.name} </span>
74+
<span className="text-sky-500">OG: </span>
75+
{skinCont.og ? "T" : "F"}
76+
<br />
77+
</span>
78+
);
79+
})}
80+
</HoverCardContent>
81+
</HoverCard>{" "}
4482
/{" "}
4583
<span className="text-orange-400">{cosmetics.skins.length}</span>
4684
<br />
47-
<span className="text-sky-500">&nbsp;&nbsp;ranks: </span>
85+
<span className="text-sky-500">&nbsp;&nbsp;rank: </span>
4886
<span className="text-orange-400">{prettyNum(user.rank)}</span>
4987
<br />
50-
88+
<span className="text-sky-500">&nbsp;&nbsp;User Id: </span>
89+
<span className="text-orange-400">
90+
{prettyNum(user.account.id)}
91+
</span>
92+
<br />
93+
<span className="text-sky-500">&nbsp;&nbsp;Profile Views: </span>
94+
<span className="text-orange-400">
95+
{prettyNum(user.account.profile_views)}
96+
</span>
97+
<br />
98+
<span className="text-sky-500">&nbsp;&nbsp;XP: </span>
99+
<span className="text-orange-400">
100+
{prettyNum(user.account.xp)}
101+
</span>
102+
<br />
103+
<span className="text-sky-500">&nbsp;&nbsp;kills: </span>
104+
<span className="text-orange-400">
105+
{prettyNum(user.totalStats.kills)}
106+
</span>
51107
</p>
52108
</div>
53109
</div>

0 commit comments

Comments
 (0)