mirror of
https://github.com/DeveloLongScript/MHSF.git
synced 2026-05-09 08:44:58 -05:00
Compare commits
14 Commits
78f796c5fa
...
7ad45e9cba
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7ad45e9cba | ||
|
|
d5c291c8fe | ||
|
|
c4c8b82f8b | ||
|
|
b2daa04755 | ||
|
|
e29262893e | ||
|
|
43d8706472 | ||
|
|
fbb8ae91fb | ||
|
|
d0c01919c5 | ||
|
|
bc06b79bf5 | ||
|
|
032a4b67f1 | ||
|
|
299e34d21f | ||
|
|
43ec081367 | ||
|
|
8fd0f90472 | ||
|
|
5a95f5edd8 |
@ -29,7 +29,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/** @type {import('next-sitemap').IConfig} */
|
/** @type {import('next-sitemap').IConfig} */
|
||||||
module.exports = {
|
export default {
|
||||||
siteUrl: "https://mhsf.app",
|
siteUrl: "https://mhsf.app",
|
||||||
generateRobotsTxt: true
|
generateRobotsTxt: true,
|
||||||
}
|
};
|
||||||
|
|||||||
29
apps/www/next.config.js
Normal file
29
apps/www/next.config.js
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/** @type {import('next').NextConfig} */
|
||||||
|
const nextConfig = {
|
||||||
|
images: {
|
||||||
|
remotePatterns: [
|
||||||
|
{
|
||||||
|
protocol: "https",
|
||||||
|
hostname: "img.clerk.com",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
async redirects() {
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
source: "/docs",
|
||||||
|
destination: "/docs/getting-started",
|
||||||
|
permanent: true,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
},
|
||||||
|
eslint: {
|
||||||
|
ignoreDuringBuilds: true,
|
||||||
|
},
|
||||||
|
typescript: {
|
||||||
|
ignoreBuildErrors: true,
|
||||||
|
},
|
||||||
|
output: "standalone",
|
||||||
|
}; //
|
||||||
|
|
||||||
|
export default nextConfig;
|
||||||
@ -13,6 +13,7 @@
|
|||||||
"inngest": "npx inngest-cli@latest dev",
|
"inngest": "npx inngest-cli@latest dev",
|
||||||
"postbuild": "next-sitemap"
|
"postbuild": "next-sitemap"
|
||||||
},
|
},
|
||||||
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.24.7",
|
"@babel/parser": "^7.24.7",
|
||||||
"@biomejs/biome": "^1.8.3",
|
"@biomejs/biome": "^1.8.3",
|
||||||
@ -31,6 +32,8 @@
|
|||||||
"@radix-ui/react-primitive": "^2.0.0",
|
"@radix-ui/react-primitive": "^2.0.0",
|
||||||
"@radix-ui/react-select": "^2.1.2",
|
"@radix-ui/react-select": "^2.1.2",
|
||||||
"@radix-ui/react-switch": "^1.1.0",
|
"@radix-ui/react-switch": "^1.1.0",
|
||||||
|
"@types/react": "^19.0.10",
|
||||||
|
"@types/react-dom": "^19.0.4",
|
||||||
"@unocss/eslint-plugin": "^0.61.5",
|
"@unocss/eslint-plugin": "^0.61.5",
|
||||||
"@unocss/postcss": "^0.61.5",
|
"@unocss/postcss": "^0.61.5",
|
||||||
"@unocss/transformer-directives": "^0.61.5",
|
"@unocss/transformer-directives": "^0.61.5",
|
||||||
@ -54,8 +57,8 @@
|
|||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"postcss-obfuscator": "^1.6.1",
|
"postcss-obfuscator": "^1.6.1",
|
||||||
"prettier": "^3.3.1",
|
"prettier": "^3.3.1",
|
||||||
"react": "^18.2.0",
|
"react": "^19.0.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^19.0.0",
|
||||||
"react-fade-in": "^2.0.1",
|
"react-fade-in": "^2.0.1",
|
||||||
"react-fast-marquee": "^1.6.5",
|
"react-fast-marquee": "^1.6.5",
|
||||||
"react-hot-toast": "^2.4.1",
|
"react-hot-toast": "^2.4.1",
|
||||||
@ -96,7 +99,7 @@
|
|||||||
"@types/react-dom": "^18.2.0",
|
"@types/react-dom": "^18.2.0",
|
||||||
"@types/react-twemoji": "^0.4.3",
|
"@types/react-twemoji": "^0.4.3",
|
||||||
"@unocss/eslint-config": "^0.61.5",
|
"@unocss/eslint-config": "^0.61.5",
|
||||||
"@unocss/preset-uno": "^0.61.5",
|
"@unocss/preset-uno": "^66.0.0",
|
||||||
"@unocss/transformer-compile-class": "^0.61.5",
|
"@unocss/transformer-compile-class": "^0.61.5",
|
||||||
"@vercel/analytics": "^1.3.1",
|
"@vercel/analytics": "^1.3.1",
|
||||||
"@vercel/speed-insights": "^1.0.12",
|
"@vercel/speed-insights": "^1.0.12",
|
||||||
|
|||||||
@ -1,19 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
|
||||||
<url><loc>https://mhsf.app/dashboard</loc><lastmod>2025-02-14T18:54:35.340Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
<url><loc>https://mhsf.app/account/favorites</loc><lastmod>2025-03-02T02:38:03.246Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
||||||
<url><loc>https://mhsf.app/account/settings</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
<url><loc>https://mhsf.app/account/settings/options</loc><lastmod>2025-03-02T02:38:03.250Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
||||||
<url><loc>https://mhsf.app/account/settings/options</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
<url><loc>https://mhsf.app/account/settings</loc><lastmod>2025-03-02T02:38:03.250Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
||||||
<url><loc>https://mhsf.app</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
<url><loc>https://mhsf.app</loc><lastmod>2025-03-02T02:38:03.250Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
||||||
<url><loc>https://mhsf.app/account/favorites</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/advanced%2Fachievements</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/advanced%2Fcommand-bar</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/advanced%2Fexternal</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/advanced%2Ftech-stack</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/getting-started</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/guides%2Fcustomization</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/guides%2Flinking</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/guides%2Fowning-a-server</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/guides%2Freporting-server</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/legal%2Fexternal-content-agreement</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
<url><loc>https://mhsf.app/docs/reading</loc><lastmod>2025-02-14T18:54:35.389Z</lastmod><changefreq>daily</changefreq><priority>0.7</priority></url>
|
|
||||||
</urlset>
|
</urlset>
|
||||||
@ -38,12 +38,11 @@ import { ClerkThemeProvider } from "@/components/clerk/ClerkThemeProvider";
|
|||||||
import NewDomainDialog from "@/components/misc/NewDomainDialog";
|
import NewDomainDialog from "@/components/misc/NewDomainDialog";
|
||||||
import ThemedToaster from "@/components/misc/ThemedToaster";
|
import ThemedToaster from "@/components/misc/ThemedToaster";
|
||||||
import { TooltipProvider } from "@/components/ui/tooltip";
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||||
import type { Metadata, Viewport } from "next";
|
import type { Viewport } from "next";
|
||||||
import { Inter as interFont } from "next/font/google";
|
import { Inter as interFont } from "next/font/google";
|
||||||
import LayoutPart from "@/components/feat/LayoutPart";
|
import LayoutPart from "@/components/feat/LayoutPart";
|
||||||
import AllBanners from "@/components/feat/AllBanners";
|
import AllBanners from "@/components/feat/AllBanners";
|
||||||
import Footer from "@/components/misc/Footer";
|
import Footer from "@/components/misc/Footer";
|
||||||
import { SwitchEnvPopup } from "@/components/misc/SwitchEnvPopup";
|
|
||||||
|
|
||||||
export const viewport: Viewport = {
|
export const viewport: Viewport = {
|
||||||
themeColor: "black",
|
themeColor: "black",
|
||||||
@ -67,7 +66,6 @@ export default async function RootLayout({
|
|||||||
<SpeedInsights />
|
<SpeedInsights />
|
||||||
<Analytics />
|
<Analytics />
|
||||||
<NewDomainDialog />
|
<NewDomainDialog />
|
||||||
<SwitchEnvPopup />
|
|
||||||
<Footer />
|
<Footer />
|
||||||
</TooltipProvider>
|
</TooltipProvider>
|
||||||
</ThemeProvider>
|
</ThemeProvider>
|
||||||
|
|||||||
@ -1,45 +0,0 @@
|
|||||||
/*
|
|
||||||
* MHSF, Minehut Server List
|
|
||||||
* All external content is rather licensed under the ECA Agreement
|
|
||||||
* located here: https://mhsf.app/docs/legal/external-content-agreement
|
|
||||||
*
|
|
||||||
* All code under MHSF is licensed under the MIT License
|
|
||||||
* by open source contributors
|
|
||||||
*
|
|
||||||
* Copyright (c) 2025 dvelo
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
* of this software and associated documentation files (the "Software"), to
|
|
||||||
* deal in the Software without restriction, including without limitation the
|
|
||||||
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
||||||
* sell copies of the Software, and to permit persons to whom the Software is
|
|
||||||
* furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included in all
|
|
||||||
* copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
||||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
||||||
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
||||||
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
||||||
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
||||||
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
||||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
"use client";
|
|
||||||
|
|
||||||
export default function NotFound() {
|
|
||||||
return (
|
|
||||||
<div className="min-h-screen flex items-center justify-center flex-col">
|
|
||||||
<div className="text-center">
|
|
||||||
<h1 className="text-4xl font-bold mb-4">404 - Page not found</h1>
|
|
||||||
<p className="mb-4">We couldn't find the page you were looking for.</p>
|
|
||||||
<a href="/" className="text-blue-500 hover:underline">
|
|
||||||
Return home
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
20
apps/www/src/app/global-error.tsx
Normal file
20
apps/www/src/app/global-error.tsx
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
'use client';
|
||||||
|
|
||||||
|
export default function GlobalError({
|
||||||
|
error,
|
||||||
|
reset,
|
||||||
|
}: {
|
||||||
|
error: Error & { digest?: string };
|
||||||
|
reset: () => void;
|
||||||
|
}) {
|
||||||
|
return (
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<div>
|
||||||
|
<h1>Something went wrong!</h1>
|
||||||
|
<button onClick={() => reset()}>Try again</button>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
);
|
||||||
|
}
|
||||||
@ -1,16 +1,49 @@
|
|||||||
import Footer from "@/components/misc/Footer";
|
/*
|
||||||
import Link from "next/link";
|
* MHSF, Minehut Server List
|
||||||
|
* All external content is rather licensed under the ECA Agreement
|
||||||
|
* located here: https://mhsf.app/docs/legal/external-content-agreement
|
||||||
|
*
|
||||||
|
* All code under MHSF is licensed under the MIT License
|
||||||
|
* by open source contributors
|
||||||
|
*
|
||||||
|
* Copyright (c) 2025 dvelo
|
||||||
|
*
|
||||||
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
* of this software and associated documentation files (the "Software"), to
|
||||||
|
* deal in the Software without restriction, including without limitation the
|
||||||
|
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
* sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
* furnished to do so, subject to the following conditions:
|
||||||
|
*
|
||||||
|
* The above copyright notice and this permission notice shall be included in all
|
||||||
|
* copies or substantial portions of the Software.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
* OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*/
|
||||||
|
|
||||||
export default function NotFound() {
|
export default async function NotFound() {
|
||||||
return (
|
return (
|
||||||
<>
|
<html>
|
||||||
<span className="flex justify-center items-center text-center min-h-screen h-max">
|
<body>
|
||||||
<div className="block">
|
<div className="min-h-screen flex items-center justify-center flex-col">
|
||||||
That page couldn't be found <br />
|
<div className="text-center">
|
||||||
<Link href="/">Go home</Link>
|
<h1 className="text-4xl font-bold mb-4">404 - Page Not Found</h1>
|
||||||
|
<p className="mb-4">
|
||||||
|
The page you are looking for could not be found.
|
||||||
|
</p>
|
||||||
|
<a href="/" className="text-blue-500 hover:underline">
|
||||||
|
Return to Home
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</body>
|
||||||
<Footer />
|
</html>
|
||||||
</>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
8715
apps/www/yarn.lock
8715
apps/www/yarn.lock
File diff suppressed because it is too large
Load Diff
5158
docs/yarn.lock
5158
docs/yarn.lock
File diff suppressed because it is too large
Load Diff
@ -16,8 +16,5 @@
|
|||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@1.22.22",
|
"packageManager": "yarn@1.22.22",
|
||||||
"workspaces": [
|
"workspaces": ["apps/*", "packages/*"]
|
||||||
"apps/*",
|
|
||||||
"packages/*"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user