Skip to content

Commit c4acf4c

Browse files
committed
Better selection + only set the prefered once for a new user
1 parent 4b0a2d2 commit c4acf4c

File tree

4 files changed

+14
-21
lines changed

4 files changed

+14
-21
lines changed

gui/src/components/onboarding/BodyAssignment.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ export function BodyAssignment({
105105
onlyAssigned = false,
106106
dotSize,
107107
}: {
108-
assignMode: AssignMode;
108+
assignMode: AssignMode | null;
109109
mirror: boolean;
110110
onlyAssigned?: boolean;
111111
rolesWithErrors?: Partial<Record<BodyPart, BodyPartError>>;
@@ -148,8 +148,7 @@ export function BodyAssignment({
148148
const hasBodyPart = useCallback(
149149
(part: BodyPart) =>
150150
COMMONS.includes(part) ||
151-
assignMode === AssignMode.All ||
152-
ASSIGNMENT_MODES[assignMode].includes(part),
151+
(assignMode && ASSIGNMENT_MODES[assignMode].includes(part)),
153152
[assignMode]
154153
);
155154

gui/src/components/onboarding/pages/trackers-assign/TrackerAssignOptions.tsx

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,18 @@ export function TrackerAssignOptions({
6161
const connectedIMUTrackers = useAtomValue(connectedIMUTrackersAtom);
6262

6363
const { config, setConfig } = useConfig();
64-
const { control, watch, setValue } = useForm<{
64+
65+
const getPreferedSet = () => {
66+
return (Object.entries(ASSIGN_MODE_OPTIONS).find(
67+
([_, count]) => count >= connectedIMUTrackers.length
68+
)?.[0] as AssignMode) ?? AssignMode.All
69+
}
70+
71+
const { control, watch } = useForm<{
6572
assignMode: AssignMode;
6673
}>({
6774
defaultValues: {
68-
assignMode: config?.assignMode ?? defaultConfig.assignMode,
75+
assignMode: config?.assignMode || getPreferedSet(),
6976
},
7077
});
7178
const { assignMode } = watch();
@@ -74,19 +81,6 @@ export function TrackerAssignOptions({
7481
setConfig({ assignMode });
7582
}, [assignMode]);
7683

77-
useEffect(() => {
78-
const preferedAssignMode =
79-
(Object.entries(ASSIGN_MODE_OPTIONS).find(
80-
([_, count]) => count >= connectedIMUTrackers.length
81-
)?.[0] as AssignMode) ?? AssignMode.All;
82-
83-
if (
84-
ASSIGN_MODE_OPTIONS[preferedAssignMode] >= ASSIGN_MODE_OPTIONS[assignMode]
85-
) {
86-
setValue('assignMode', preferedAssignMode);
87-
}
88-
}, []);
89-
9084
if (variant == 'dropdown')
9185
return (
9286
<Dropdown

gui/src/components/onboarding/pages/trackers-assign/TrackerAssignment.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ export function TrackersAssignPage() {
354354
onlyAssigned={false}
355355
highlightedRoles={firstError?.affectedRoles || []}
356356
rolesWithErrors={rolesWithErrors}
357-
assignMode={config?.assignMode ?? defaultConfig.assignMode}
357+
assignMode={config?.assignMode ?? null}
358358
mirror={mirrorView}
359359
onRoleSelected={tryOpenChokerWarning}
360360
/>

gui/src/hooks/config.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export interface Config {
4141
fonts: string[];
4242
useTray: boolean | null;
4343
mirrorView: boolean;
44-
assignMode: AssignMode;
44+
assignMode: AssignMode | null;
4545
discordPresence: boolean;
4646
errorTracking: boolean | null;
4747
decorations: boolean;
@@ -72,7 +72,7 @@ export const defaultConfig: Config = {
7272
fonts: ['poppins'],
7373
useTray: null,
7474
mirrorView: true,
75-
assignMode: AssignMode.Core,
75+
assignMode: null,
7676
discordPresence: false,
7777
errorTracking: null,
7878
decorations: false,

0 commit comments

Comments
 (0)