Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions apps/oneclient/frontend/src/bindings.gen.ts
Original file line number Diff line number Diff line change
Expand Up @@ -187,9 +187,9 @@ gallery: string[] }

export type SettingProfileModel = { name: string; java_id: number | null; res: Resolution | null; force_fullscreen: boolean | null; mem_max: number | null; launch_args: string | null; launch_env: string | null; hook_pre: string | null; hook_wrapper: string | null; hook_post: string | null; os_extra: SettingsOsExtra | null }

export type Settings = { global_game_settings: SettingProfileModel; allow_parallel_running_clusters: boolean; enable_gamemode: boolean; discord_enabled: boolean; max_concurrent_requests: number; settings_version: number; native_window_frame: boolean }
export type Settings = { global_game_settings: SettingProfileModel; allow_parallel_running_clusters: boolean; enable_gamemode: boolean; discord_enabled: boolean; seen_onboarding: boolean; max_concurrent_requests: number; settings_version: number; native_window_frame: boolean }

export type SettingsOsExtra = { enable_gamemode: boolean | null }
export type SettingsOsExtra = Record<string, never>

export type SkinVariant = "classic" | "slim"

Expand Down Expand Up @@ -254,10 +254,8 @@ export type VersionType =
*/
"old_beta"

const ARGS_MAP = { 'events':'{"message":["event"],"process":["event"],"ingress":["event"]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}', 'oneclient':'{"getClustersGroupedByMajor":[],"getBundlesFor":["cluster_id"],"openDevTools":[]}', 'core':'{"getLogByName":["id","name"],"getGlobalProfile":[],"getUsers":[],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"updateClusterProfile":["name","profile"],"searchPackages":["provider","query"],"getPackage":["provider","slug"],"launchCluster":["id","uuid"],"installModpack":["modpack","cluster_id"],"writeSettings":["setting"],"convertUsernameUUID":["username_uuid"],"getUsersFromAuthor":["provider","author"],"openMsaLogin":[],"open":["input"],"getClusters":[],"isClusterRunning":["cluster_id"],"getLoadersForVersion":["mc_version"],"getPackageBody":["provider","body"],"fetchMinecraftProfile":["uuid"],"changeSkin":["access_token","skin_url","skin_variant"],"getUser":["uuid"],"createCluster":["options"],"createSettingsProfile":["name"],"getClusterById":["id"],"setDefaultUser":["uuid"],"killProcess":["pid"],"fetchLoggedInProfile":["access_token"],"getRunningProcesses":[],"removeCluster":["id"],"getGameVersions":[],"getWorlds":["id"],"removeUser":["uuid"],"getRunningProcessesByClusterId":["cluster_id"],"updateClusterById":["id","request"],"readSettings":[],"changeCape":["access_token","cape_uuid"],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"getLogs":["id"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"getScreenshots":["id"],"getProfileOrDefault":["name"],"getMultiplePackages":["provider","slugs"],"getDefaultUser":["fallback"],"removeCape":["access_token"]}' }
export type Router = { 'folders': { fromCluster: (folderName: string) => Promise<string>,
openCluster: (folderName: string) => Promise<null> },
'oneclient': { openDevTools: () => Promise<void>,
const ARGS_MAP = { 'events':'{"message":["event"],"process":["event"],"ingress":["event"]}', 'oneclient':'{"getBundlesFor":["cluster_id"],"openDevTools":[],"getClustersGroupedByMajor":[]}', 'core':'{"updateClusterById":["id","request"],"getClusterById":["id"],"createCluster":["options"],"removeUser":["uuid"],"openMsaLogin":[],"getPackageVersions":["provider","slug","mc_version","loader","offset","limit"],"changeSkin":["access_token","skin_url","skin_variant"],"fetchMinecraftProfile":["uuid"],"removeCluster":["id"],"getProfileOrDefault":["name"],"getUser":["uuid"],"readSettings":[],"installModpack":["modpack","cluster_id"],"launchCluster":["id","uuid"],"fetchLoggedInProfile":["access_token"],"getLogByName":["id","name"],"getRunningProcessesByClusterId":["cluster_id"],"getRunningProcesses":[],"downloadPackage":["provider","package_id","version_id","cluster_id","skip_compatibility"],"getClusters":[],"getGlobalProfile":[],"getUsersFromAuthor":["provider","author"],"createSettingsProfile":["name"],"getPackageBody":["provider","body"],"removeCape":["access_token"],"writeSettings":["setting"],"getDefaultUser":["fallback"],"getWorlds":["id"],"getMultiplePackages":["provider","slugs"],"changeCape":["access_token","cape_uuid"],"searchPackages":["provider","query"],"getPackage":["provider","slug"],"getUsers":[],"getLogs":["id"],"uploadSkinBytes":["access_token","skin_data","image_format","skin_variant"],"convertUsernameUUID":["username_uuid"],"isClusterRunning":["cluster_id"],"open":["input"],"getScreenshots":["id"],"killProcess":["pid"],"setDefaultUser":["uuid"],"updateClusterProfile":["name","profile"],"getLoadersForVersion":["mc_version"],"getGameVersions":[]}', 'folders':'{"openCluster":["folder_name"],"fromCluster":["folder_name"]}' }
export type Router = { 'oneclient': { openDevTools: () => Promise<void>,
getClustersGroupedByMajor: () => Promise<Partial<{ [key in number]: ClusterModel[] }>>,
getBundlesFor: (clusterId: number) => Promise<ModpackArchive[]> },
'core': { getClusters: () => Promise<ClusterModel[]>,
Expand Down Expand Up @@ -306,7 +304,9 @@ convertUsernameUUID: (usernameUuid: string) => Promise<MowojangProfile>,
open: (input: string) => Promise<null> },
'events': { ingress: (event: IngressPayload) => Promise<void>,
message: (event: MessagePayload) => Promise<void>,
process: (event: ProcessPayload) => Promise<void> } };
process: (event: ProcessPayload) => Promise<void> },
'folders': { fromCluster: (folderName: string) => Promise<string>,
openCluster: (folderName: string) => Promise<null> } };


export type { InferCommandOutput }
Expand Down
19 changes: 15 additions & 4 deletions apps/oneclient/frontend/src/routes/app/settings/developer.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import SettingsRow from '@/components/SettingsRow';
import SettingsSwitch from '@/components/SettingSwitch';
import { useSettings } from '@/hooks/useSettings';
import { Button } from '@onelauncher/common/components';
import { createFileRoute, Link } from '@tanstack/react-router';
import { Truck01Icon } from '@untitled-theme/icons-react';
Expand All @@ -9,21 +11,30 @@ export const Route = createFileRoute('/app/settings/developer')({
});

function RouteComponent() {
const { createSetting } = useSettings();

return (
<Sidebar.Page>
<div className="h-full">
<h1>General</h1>
<h1>Onboarding</h1>

<SettingsRow.Header>Folders and Files</SettingsRow.Header>
<SettingsRow
description="Open onboarding"
description="Open Onboarding"
icon={<Truck01Icon />}
title="Onboarding"
title="Open Onboarding"
>
<Link to="/onboarding">
<Button size="normal">Open</Button>
</Link>
</SettingsRow>
<SettingsRow
description="Seen onboarding"
icon={<Truck01Icon />}
title="Seen Onboarding"
>
<SettingsSwitch setting={createSetting('seen_onboarding')} />
</SettingsRow>

</div>
</Sidebar.Page>
);
Expand Down
5 changes: 5 additions & 0 deletions apps/oneclient/frontend/src/routes/index.tsx
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
import { useSettings } from '@/hooks/useSettings';
import { createFileRoute, Navigate } from '@tanstack/react-router';

export const Route = createFileRoute('/')({
component: RouteComponent,
});

function RouteComponent() {
const { setting } = useSettings();
if (setting('seen_onboarding') === false)
return <Navigate to="/onboarding" />;

return <Navigate to="/app" />;
}
4 changes: 4 additions & 0 deletions apps/oneclient/frontend/src/routes/onboarding/finished.tsx
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import { useSettings } from '@/hooks/useSettings';
import { createFileRoute, Link } from '@tanstack/react-router';

export const Route = createFileRoute('/onboarding/finished')({
component: RouteComponent,
});

function RouteComponent() {
const { setSetting } = useSettings();
setSetting('seen_onboarding', true)

Check failure on line 10 in apps/oneclient/frontend/src/routes/onboarding/finished.tsx

View workflow job for this annotation

GitHub Actions / ES Checks

Missing semicolon

return (
<Link to="/app">
<div className="flex flex-col h-full px-12">
Expand Down
2 changes: 2 additions & 0 deletions packages/core/src/store/settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ pub struct Settings {
pub allow_parallel_running_clusters: bool,
pub enable_gamemode: bool,
pub discord_enabled: bool,
pub seen_onboarding: bool,
pub max_concurrent_requests: usize,
pub settings_version: u32,
pub native_window_frame: bool,
Expand All @@ -25,6 +26,7 @@ impl Default for Settings {
global_game_settings: setting_profiles::Model::default_global_profile(),
allow_parallel_running_clusters: false,
discord_enabled: false,
seen_onboarding: false,
enable_gamemode: false,
max_concurrent_requests: 25,
settings_version: 1,
Expand Down
Loading