diff --git a/apps/onelauncher/frontend/src/components/Navbar.tsx b/apps/onelauncher/frontend/src/components/Navbar.tsx
index 9009e5c4..c4ddb25e 100644
--- a/apps/onelauncher/frontend/src/components/Navbar.tsx
+++ b/apps/onelauncher/frontend/src/components/Navbar.tsx
@@ -1,8 +1,8 @@
import type { ToOptions } from '@tanstack/react-router';
-import { bindings } from '@/main';
import useNotifications from '@/hooks/useNotification';
+import { bindings } from '@/main';
import { useCommand } from '@onelauncher/common';
-import { Button, Menu } from '@onelauncher/common/components';
+import { Button, Menu, Popup } from '@onelauncher/common/components';
import { Link } from '@tanstack/react-router';
import { Bell01Icon, Cloud01Icon, TerminalBrowserIcon } from '@untitled-theme/icons-react';
import { MenuTrigger } from 'react-aria-components';
@@ -40,7 +40,7 @@ function Navbar() {
{/* Notification Manager Button */}
-
+
-
-
+
-
-
+
+
-
+
-
+
-
-
+
+
);
diff --git a/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx b/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx
index 2dc735f7..0e15f054 100644
--- a/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx
+++ b/apps/onelauncher/frontend/src/components/launcher/cluster/ClusterCreation.tsx
@@ -7,9 +7,8 @@ import Modal from '@/components/overlay/Modal';
import ScrollableContainer from '@/components/ScrollableContainer';
import { bindings } from '@/main';
import { LAUNCHER_IMPORT_TYPES, LOADERS, upperFirst } from '@/utils';
-import { useCommand } from '@onelauncher/common';
+import { useCommand, useCommandMut } from '@onelauncher/common';
import { Button, Dropdown, SelectList, TextField } from '@onelauncher/common/components';
-import { useQueryClient } from '@tanstack/react-query';
import { ArrowRightIcon, PlusIcon, SearchMdIcon, Server01Icon, TextInputIcon, User03Icon } from '@untitled-theme/icons-react';
import { useCallback, useEffect, useState } from 'react';
import { Checkbox } from 'react-aria-components';
@@ -34,29 +33,22 @@ export function NewClusterCreate() {
clusterVersion: '',
});
- const create = useCommand('createCluster', () => bindings.core.createCluster({
+ const create = useCommandMut(() => bindings.core.createCluster({
icon: DefaultClusterBanner,
mc_loader: formData.loader as GameLoader,
mc_loader_version: null,
mc_version: formData.clusterVersion,
name: formData.clusterName,
- }), {
- enabled: false,
- subscribed: false,
- });
-
- const queryClient = useQueryClient();
+ }));
function handleCreate() {
if (!isLastInputStep)
return;
- create.refetch();
+ create.mutate();
if (create.isError)
console.error(create.error.message);
-
- queryClient.invalidateQueries({ queryKey: ['getClusters'], exact: true });
}
const handleNext = useCallback(async () => {
diff --git a/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx b/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx
index 8caaafc3..e6aa0c71 100644
--- a/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx
+++ b/apps/onelauncher/frontend/src/components/overlay/popups/AccountPopup.tsx
@@ -2,58 +2,61 @@ import type { MinecraftCredentials } from '@/bindings.gen';
import PlayerHead from '@/components/content/PlayerHead';
import { bindings } from '@/main';
import { useCommand } from '@onelauncher/common';
-import { Button, Menu } from '@onelauncher/common/components';
+import { Button } from '@onelauncher/common/components';
+import { Link } from '@tanstack/react-router';
import { PlusIcon, Settings01Icon } from '@untitled-theme/icons-react';
-import { Separator } from 'react-aria-components';
import { twMerge } from 'tailwind-merge';
function AccountPopup() {
const users = useCommand('getUsers', bindings.core.getUsers);
const defaultUser = useCommand('getDefaultUser', () => bindings.core.getDefaultUser(false));
+ const addAccount = useCommand('openMsaLogin', bindings.core.openMsaLogin, {
+ enabled: false,
+ subscribed: false,
+ });
+
const setDefaultUser = (user: MinecraftCredentials) => {
bindings.core.setDefaultUser(user.id);
};
return (
-