diff --git a/src/assets/DevYARGIcon.png b/src/assets/DevYARGIcon.png
new file mode 100644
index 0000000..cfa81ef
Binary files /dev/null and b/src/assets/DevYARGIcon.png differ
diff --git a/src/components/Sidebar/Versions/List.tsx b/src/components/Sidebar/Versions/List.tsx
index 9c73a66..4ca8dbd 100644
--- a/src/components/Sidebar/Versions/List.tsx
+++ b/src/components/Sidebar/Versions/List.tsx
@@ -11,6 +11,7 @@ const VersionsList: React.FC = () => {
+
diff --git a/src/components/Sidebar/Versions/YARG.tsx b/src/components/Sidebar/Versions/YARG.tsx
index 60d2bf9..a8e9aa8 100644
--- a/src/components/Sidebar/Versions/YARG.tsx
+++ b/src/components/Sidebar/Versions/YARG.tsx
@@ -3,10 +3,11 @@ import { YARGStates, useYARGVersion } from "@app/hooks/useYARGVersion";
import BaseVersion from "./Base";
import NightlyYARGIcon from "@app/assets/NightlyYARGIcon.png";
import StableYARGIcon from "@app/assets/StableYARGIcon.png";
+import DevYARGIcon from "@app/assets/DevYARGIcon.png";
import { NavLink } from "react-router-dom";
interface Props {
- channel: "stable" | "nightly";
+ channel: "stable" | "nightly" | "newEngine";
}
const YARGVersion: React.FC = ({ channel }: Props) => {
@@ -19,6 +20,8 @@ const YARGVersion: React.FC = ({ channel }: Props) => {
return StableYARGIcon;
case "nightly":
return NightlyYARGIcon;
+ case "newEngine":
+ return DevYARGIcon;
}
}
@@ -28,6 +31,8 @@ const YARGVersion: React.FC = ({ channel }: Props) => {
return "Stable";
case "nightly":
return "Nightly";
+ case "newEngine":
+ return "New Engine";
}
}
diff --git a/src/hooks/useYARGRelease.ts b/src/hooks/useYARGRelease.ts
index df1fcd0..8565eda 100644
--- a/src/hooks/useYARGRelease.ts
+++ b/src/hooks/useYARGRelease.ts
@@ -2,7 +2,7 @@ import { useQuery } from "@tanstack/react-query";
import { Endpoints } from "@octokit/types";
import { invoke } from "@tauri-apps/api/tauri";
-export type YARGChannels = "stable"|"nightly";
+export type YARGChannels = "stable" | "nightly" | "newEngine";
type ReleaseData = Endpoints["GET /repos/{owner}/{repo}/releases/latest"]["response"]["data"];
export type ExtendedReleaseData = ReleaseData & {
@@ -12,7 +12,8 @@ export type ExtendedReleaseData = ReleaseData & {
export const useYARGRelease = (channel: YARGChannels) => {
const repositoryName = {
"stable": "YARG",
- "nightly": "YARG-BleedingEdge"
+ "nightly": "YARG-BleedingEdge",
+ "newEngine": "YARG-NewEngine"
};
return useQuery({
@@ -20,7 +21,7 @@ export const useYARGRelease = (channel: YARGChannels) => {
queryFn: async (): Promise => await fetch(
`https://api.github.com/repos/YARC-Official/${repositoryName[channel]}/releases/latest`)
.then(res => res.json()),
- select: (data): ExtendedReleaseData => ({...data, channel: channel})
+ select: (data): ExtendedReleaseData => ({ ...data, channel: channel })
}).data as ExtendedReleaseData;
};
diff --git a/src/routes/YARG/NewEngine.tsx b/src/routes/YARG/NewEngine.tsx
new file mode 100644
index 0000000..f7b0658
--- /dev/null
+++ b/src/routes/YARG/NewEngine.tsx
@@ -0,0 +1,22 @@
+import LaunchPage from "@app/components/Launch/LaunchPage";
+import { useYARGRelease } from "@app/hooks/useYARGRelease";
+import { useYARGVersion } from "@app/hooks/useYARGVersion";
+import DevYARGIcon from "@app/assets/DevYARGIcon.png";
+
+function StableYARGPage() {
+ const releaseData = useYARGRelease("newEngine");
+ const yargVersion = useYARGVersion(releaseData, "newEngine");
+
+ return (<>
+
+ This is the YARG v0.12 test channel! v0.12 is a massive update that will completely revamp the hit
+ engine, add profiles, add practice mode, add replays, and a lot more!
+
+ This version does not represent the final product of v0.12, and is incomplete. Expect lots of bugs
+ and incomplete features.
+
+ >} websiteUrl="https://github.com/YARC-Official/YARG-NewEngine" icon={DevYARGIcon} />
+ >);
+}
+
+export default StableYARGPage;
\ No newline at end of file
diff --git a/src/routes/YARG/Nightly/index.tsx b/src/routes/YARG/Nightly.tsx
similarity index 100%
rename from src/routes/YARG/Nightly/index.tsx
rename to src/routes/YARG/Nightly.tsx
diff --git a/src/routes/YARG/Stable/index.tsx b/src/routes/YARG/Stable.tsx
similarity index 100%
rename from src/routes/YARG/Stable/index.tsx
rename to src/routes/YARG/Stable.tsx
diff --git a/src/routes/index.tsx b/src/routes/index.tsx
index 060299b..bc4f5ee 100644
--- a/src/routes/index.tsx
+++ b/src/routes/index.tsx
@@ -5,6 +5,7 @@ import Home from "@app/routes/Home";
import Settings from "@app/routes/Settings";
import StableYARGPage from "./YARG/Stable";
import NightlyYARGPage from "./YARG/Nightly";
+import NewEngineYARGPage from "./YARG/NewEngine";
import Queue from "@app/routes/Queue";
import SetlistPage from "./Setlist";
import NewsPage from "./NewsPage";
@@ -39,6 +40,11 @@ const Router = createBrowserRouter([
element:
},
+ {
+ path: "/yarg/newEngine",
+ element:
+ },
+
{
path: "/setlist/official",
element: