feat: added version to changelog

This commit is contained in:
dvelo 2024-09-10 17:45:03 -05:00
parent 5699da4dc4
commit 7059a47ec0
11 changed files with 151 additions and 68 deletions

@ -12,6 +12,7 @@
"dependencies": {
"arguments-parser": "^3.2.1",
"chalk": "^5.3.0",
"cron": "^3.1.7",
"dotenv": "^16.4.5",
"mongodb": "^6.8.0"
},

@ -116,21 +116,12 @@ async function periodicCronJob() {
date: new Date(),
});
process.stdout.clearLine(0);
process.stdout.cursorTo(0);
process.stdout.write(
"[CRON] " +
INFO +
" Remaining servers: " +
(y + "/" + mh.servers.length),
console.log(
Date.now() + "[CRON] " + INFO + (y + "/" + mh.servers.length),
);
y++;
if (y == mh.servers.length) {
process.stdout.clearLine(0);
process.stdout.cursorTo(0);
process.stdout.write(
"[CRON] " + SUCCESS + " Finished! Closing MongoDB connection.",
);
console.log(Date.now() + "[CRON] " + SUCCESS + "Done!");
return;
}

@ -9,6 +9,11 @@
dependencies:
sparse-bitfield "^3.0.3"
"@types/luxon@~3.4.0":
version "3.4.2"
resolved "https://registry.yarnpkg.com/@types/luxon/-/luxon-3.4.2.tgz#e4fc7214a420173cea47739c33cdf10874694db7"
integrity sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==
"@types/webidl-conversions@*":
version "7.0.3"
resolved "https://registry.yarnpkg.com/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz#1306dbfa53768bcbcfc95a1c8cde367975581859"
@ -65,6 +70,14 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
cron@^3.1.7:
version "3.1.7"
resolved "https://registry.yarnpkg.com/cron/-/cron-3.1.7.tgz#3423d618ba625e78458fff8cb67001672d49ba0d"
integrity sha512-tlBg7ARsAMQLzgwqVxy8AZl/qlTc5nibqYwtNGoCrd+cV+ugI+tvZC1oT/8dFH8W455YrywGykx/KMmAqOr7Jw==
dependencies:
"@types/luxon" "~3.4.0"
luxon "~3.4.0"
dotenv@^16.4.5:
version "16.4.5"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.4.5.tgz#cdd3b3b604cb327e286b4762e13502f717cb099f"
@ -75,6 +88,11 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
luxon@~3.4.0:
version "3.4.4"
resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.4.4.tgz#cf20dc27dc532ba41a169c43fdcc0063601577af"
integrity sha512-zobTr7akeGHnv7eBOXcRgMeCP6+uyYsczwmeRCauvpvaAltgNyTbLH/+VaEAPUeWBT+1GuNmz4wC/6jtQzbbVA==
memory-pager@^1.0.2:
version "1.5.0"
resolved "https://registry.yarnpkg.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5"

@ -0,0 +1,10 @@
---
title: "Achievement Collection"
---
# Achievements
Achievements are a page that every server gets which contains certain requirements which could be embedded in an servers history.
<Separator/>
Achievements are *not* collected instantly, and are actually collected every 12 hours. (this is not timezone dependent) There are currently 5 possible achievements to get, ranging from easiest to hardest.

@ -1,6 +1,6 @@
{
"name": "mh-stats",
"version": "1.1.0",
"version": "1.3.0",
"private": true,
"packageManager": "yarn@1.22.22",
"scripts": {

@ -31,7 +31,11 @@ export function SLCustomize() {
setUsePaddingOnSides(
(user?.publicMetadata.srv as boolean | undefined) || false
);
});
}, [
user?.publicMetadata.srv,
user?.publicMetadata.pad,
user?.publicMetadata.ipr,
]);
const handleSubmit = (e: React.FormEvent) => {
e.preventDefault();
@ -105,7 +109,20 @@ export function SLCustomize() {
</Label>
</div>
<p className="text-sm text-muted-foreground ml-6">
Better for larger screens.
Better for larger screens, can look more stylish.
</p>
<div className="flex items-center space-x-2 mt-2">
<RadioGroupItem value="120" id="padding-comfortable" />
<Label htmlFor="padding-comfortable">
Very Spacious{" "}
{advanced && (
<span className="text-muted-foreground">(120px)</span>
)}
</Label>
</div>
<p className="text-sm text-muted-foreground ml-6">
When information needs to be crunched in-between, recommended
for larger screens only.
</p>
</RadioGroup>
</div>

@ -853,7 +853,29 @@ export default function ServerList() {
<MenubarSub>
<MenubarSubTrigger>Grid</MenubarSubTrigger>
<MenubarSubContent>
<MenubarRadioGroup value={ipr} onValueChange={setIPR}>
<MenubarRadioGroup
value={ipr}
onValueChange={(v) => {
if (am)
toast(
<span>
These settings will not change over reloads
because you have account specific options enabled
<Button
variant="link"
className="p-0 m-0"
onClick={() =>
router.push("/account/settings/options")
}
>
Change your preferences
</Button>
</span>,
{ icon: "⚠️" }
);
setIPR(v);
}}
>
<MenubarRadioItem value="4">
4 items per row
</MenubarRadioItem>

@ -38,7 +38,7 @@ export default function AchievementList({ server }: { server: string }) {
<div>
<span>
Achievements are earned automatically when the server is online. See{" "}
<A alt="Achievement collection">Special:Root</A>
<A alt="Achievement collection">Docs:Advanced/Achievements</A>
</span>
{achievements
.filter(

@ -10,9 +10,21 @@ export default function A({
alt: string | ReactNode;
}) {
return (
<NextLink href={pageFind(children)}>
{children.startsWith("Docs:") && <Book />}
<NextLink
href={pageFind(children || "")}
className="no-underline transition duration-300 hover:underline "
title={children}
>
{(children || "").startsWith("Docs:") && (
<Book size={16} className="mr-[2px] inline-flex" />
)}
{(children || "").startsWith("Wiki:") && (
<NotebookText size={14} className="mr-[2px] mb-[3px] inline-flex" />
)}
{alt}
{(children || "").startsWith("https") && (
<ExternalLink size={12} className="ml-[2px] mb-[3px] inline-flex" />
)}
</NextLink>
);
}
@ -28,6 +40,7 @@ export function ALegacy({
<NextLink
href={pageFind(href || "")}
className="no-underline transition duration-300 hover:underline "
title={href}
>
{(href || "").startsWith("Docs:") && (
<Book size={16} className="mr-[2px] inline-flex" />
@ -45,7 +58,7 @@ export function ALegacy({
export const pageFind = (text: string) => {
if (text.startsWith("Docs:")) {
return "/docs/" + text.substring(5);
return "/docs/" + text.substring(5).toLowerCase();
}
if (text === "Special:Root") return "/";
if (text === "Special:Preferences") return "/account/settings";

@ -1,52 +1,57 @@
export const allFolders: (DocsFolder | Docs)[] = [
{
title: "Getting Started",
url: "/docs/getting-started",
},
{
title: "Reading",
url: "/docs/reading",
},
{
name: "Guides",
docs: [
{
title: "Linking",
url: "/docs/guides/linking",
},
{
title: "Owning a Server",
url: "/docs/guides/owning-a-server",
},
{
title: "Server Customization",
url: "/docs/guides/customization",
},
{ title: "Reporting a server", url: "/docs/guides/reporting-server" },
],
},
{
name: "Advanced",
docs: [
{ title: "Tech Stack", url: "/docs/advanced/tech-stack" },
{ title: "Using the Command-bar", url: "/docs/advanced/command-bar" },
{ title: "Tips with external servers", url: "/docs/advanced/external" },
],
},
{
name: "Legal",
docs: [
{ title: "ECA Agreement", url: "/docs/legal/external-content-agreement" },
],
},
{
title: "Getting Started",
url: "/docs/getting-started",
},
{
title: "Server List",
url: "/",
},
{
title: "Reading",
url: "/docs/reading",
},
{
name: "Guides",
docs: [
{
title: "Linking",
url: "/docs/guides/linking",
},
{
title: "Owning a Server",
url: "/docs/guides/owning-a-server",
},
{
title: "Server Customization",
url: "/docs/guides/customization",
},
{ title: "Reporting a server", url: "/docs/guides/reporting-server" },
],
},
{
name: "Advanced",
docs: [
{ title: "Tech Stack", url: "/docs/advanced/tech-stack" },
{ title: "Using the Command-bar", url: "/docs/advanced/command-bar" },
{ title: "Tips with external servers", url: "/docs/advanced/external" },
{ title: "Achievements", url: "/docs/advanced/achievements" },
],
},
{
name: "Legal",
docs: [
{ title: "ECA Agreement", url: "/docs/legal/external-content-agreement" },
],
},
];
export type Docs = {
title: string;
url: string;
title: string;
url: string;
};
export type DocsFolder = {
name: string;
docs: Array<Docs>;
name: string;
docs: Array<Docs>;
};

@ -5,7 +5,7 @@ import { Separator } from "../components/ui/separator";
import { Button } from "../components/ui/button";
import confetti from "canvas-confetti";
export const version = "1.2.5";
export const version = "1.3";
const User = ({ user }: { user: string }) => (
<span className="cursor-pointer bg-[rgba(255,165,0,0.25);] rounded p-[2.5px]">
@ -130,16 +130,21 @@ export const Changelog = () => {
<br />
<div>
<strong className="flex items-center">
Version 1.2.0 (September 4th 2024)
Version 1.3.0 (September 9th 2024)
</strong>
<ul>
<li>
Removed sorting system in-favor of leaderboards coming soon :eyes:
<A alt="New documentation linking">Docs:Reading</A>
</li>
<li>
Achievements are here! See more at{" "}
<A alt="here">Docs:Advanced/Achievements</A>
</li>
<li> Finally fixed Cron actions for the final time</li>
<li> Overhauled account preferences</li>
</ul>
</div>
<br />
<br />
<div>
<strong className="flex items-center">
Version 1.2.0 (September 3rd 2024)
@ -365,6 +370,7 @@ import type { SVGProps } from "react";
import Marquee from "@/components/effects/marquee";
import { useRouter } from "@/lib/useRouter";
import { BookIcon } from "lucide-react";
import A from "@/components/misc/Link";
const Discord = (props: SVGProps<SVGSVGElement>) => (
<svg
viewBox="0 0 256 199"