diff --git a/.github/README.md b/.github/README.md
index 5d6195f..610452c 100644
--- a/.github/README.md
+++ b/.github/README.md
@@ -3,7 +3,7 @@
📖 osu! Songs Mashup
-**"osu! Songs Mashup"** is a CLI tool that combines two beatmaps from the popular game osu! into a single harmonious experience, offering both offline and online compatibility, with such as Chimu.moe.
+**"osu! Songs Mashup"** is a CLI tool that combines two beatmaps from the popular game osu! into a single harmonious experience using your songs library.
With its user-friendly filter functionality, you can create your mashups to match your skill level and musical tastes.
diff --git a/localization/en.json b/localization/en.json
index eff3dd5..e428817 100644
--- a/localization/en.json
+++ b/localization/en.json
@@ -41,7 +41,8 @@
"correctPath": "Path changed successfully!",
"filters": "Filters",
"noFilters": "Filters are not set.",
- "osuPath": "Path to osu! songs"
+ "osuPath": "Path to osu! songs",
+ "unsupported": "Currently in development."
},
"setSettings": {
"setOsuPath": "Set your osu! Songs path. Example: C:\\Users\\User\\AppData\\Local\\osu!\\Songs\\",
diff --git a/localization/ru.json b/localization/ru.json
index 41bf71c..d98dc27 100644
--- a/localization/ru.json
+++ b/localization/ru.json
@@ -41,7 +41,8 @@
"correctPath": "Путь успешно установлен!",
"filters": "Фильтры",
"noFilters": "Фильтры не настроены.",
- "osuPath": "Путь к osu! песням"
+ "osuPath": "Путь к osu! песням",
+ "unsupported": "В разработке..."
},
"setSettings": {
"setOsuPath": "Введите ваш путь к osu! Songs директории. Пример: C:\\Users\\User\\AppData\\Local\\osu!\\Songs\\",
diff --git a/src/chimu!api/main.ts b/src/chimu!api/main.ts
index 1668c3c..f47f8b4 100644
--- a/src/chimu!api/main.ts
+++ b/src/chimu!api/main.ts
@@ -1,5 +1,28 @@
import Jsoning from "jsoning";
+import getLocalizationJson from "../lib/localization/main";
+import inquirer from "inquirer";
+import { showMainMenu } from "../menu/main";
export default async function main(config: Jsoning) {
- console.log(" ⚠️ UNSUPPORTED ");
+ const localization = await getLocalizationJson(config);
+ const localizationSettings = await localization.get("settings");
+ const localizationMenu = await localization.get("menuOptions");
+
+ console.log(localizationSettings.unsupported);
+
+ return inquirer
+ .prompt([
+ {
+ name: "backToMenu",
+ type: "confirm",
+ message: localizationMenu.backToMenu + "?",
+ },
+ ])
+ .then((options) => {
+ if (options.backToMenu) {
+ return showMainMenu(config);
+ } else {
+ process.exit(0);
+ }
+ });
}
diff --git a/src/lib/msToMin&Sec.ts b/src/lib/msToMin&Sec.ts
index 3eae9da..09fc5f5 100644
--- a/src/lib/msToMin&Sec.ts
+++ b/src/lib/msToMin&Sec.ts
@@ -3,3 +3,7 @@ export default function msToMinAndSec(ms: number) {
var seconds = Math.floor((ms % 60000) / 1000);
return minutes + ":" + (seconds < 10 ? "0" : "") + seconds;
}
+
+export function toTimeIfNumber(value: number) {
+ return isNaN(value) ? undefined : msToMinAndSec(value * 1000);
+}
diff --git a/src/menu/main.ts b/src/menu/main.ts
index e9ecaa7..fdfff29 100644
--- a/src/menu/main.ts
+++ b/src/menu/main.ts
@@ -50,9 +50,7 @@ export async function showMainMenu(config: Jsoning) {
showLocallyExplanation(config);
break;
case localizationMenu.mashupWithChimuMoe:
- /* TODO: Add Chimu.moe support */
- console.log(" Currently unsupported ");
- //require("../chimu.moe/main").default(config);
+ require("../chimu!api/main").default(config);
break;
case localizationMenu.changeSettings:
require("./settings").default(config);
diff --git a/src/menu/setFilters.ts b/src/menu/setFilters.ts
index a1745e9..0e96bf6 100644
--- a/src/menu/setFilters.ts
+++ b/src/menu/setFilters.ts
@@ -2,7 +2,7 @@ import Jsoning from "jsoning";
import getLocalizationJson from "../lib/localization/main";
import printWatermarkAndClear from "../lib/watermark";
import inquirer from "inquirer";
-import msToMinAndSec from "../lib/msToMin&Sec";
+import msToMinAndSec, { toTimeIfNumber } from "../lib/msToMin&Sec";
export async function setFilters(config: Jsoning, name: "local" | "chimu") {
const localization = await getLocalizationJson(config);
@@ -50,10 +50,6 @@ export async function setFilters(config: Jsoning, name: "local" | "chimu") {
require("./settings").default(config);
}
-function toTimeIfNumber(value: number) {
- return isNaN(value) ? undefined : msToMinAndSec(value * 1000);
-}
-
async function changeSettingInput(
config: Jsoning,
name: "local" | "chimu",
diff --git a/src/menu/settings.ts b/src/menu/settings.ts
index 5a37c74..b110012 100644
--- a/src/menu/settings.ts
+++ b/src/menu/settings.ts
@@ -4,7 +4,7 @@ import inquirer from "inquirer";
import { showMainMenu } from "./main";
import printWatermarkAndClear from "../lib/watermark";
import { setSettings } from "./setSettings";
-import msToMinAndSec from "../lib/msToMin&Sec";
+import msToMinAndSec, { toTimeIfNumber } from "../lib/msToMin&Sec";
export default async function toSettings(config: Jsoning) {
const localization = await getLocalizationJson(config);
@@ -53,10 +53,6 @@ export default async function toSettings(config: Jsoning) {
});
}
-function toTimeIfNumber(value: number) {
- return isNaN(value) ? undefined : msToMinAndSec(value * 1000);
-}
-
async function showCurrentSettings(config: Jsoning) {
const localization = await getLocalizationJson(config);
const localizationSettings = await localization.get("settings");