diff --git a/.changeset/witty-mangos-listen.md b/.changeset/witty-mangos-listen.md new file mode 100644 index 0000000000..c9ef18614f --- /dev/null +++ b/.changeset/witty-mangos-listen.md @@ -0,0 +1,10 @@ +--- +'@hyperdx/app': minor +--- + +Add a Preferences → Search results → Row click setting. Leave it at `Open side +panel` (the default) for the existing behavior, or set it to `Expand inline` to +have a row click expand the row in place — the chevron's 16px hit target is hard +to aim at while scanning logs. With inline expansion on, the side panel moves to +a hover button on the row, stays one click away from an expanded row, and keeps +receiving row clicks while it is open. diff --git a/packages/app/src/UserPreferencesModal.tsx b/packages/app/src/UserPreferencesModal.tsx index 578e784bbb..1bb8e79674 100644 --- a/packages/app/src/UserPreferencesModal.tsx +++ b/packages/app/src/UserPreferencesModal.tsx @@ -16,7 +16,12 @@ import { IconFlask } from '@tabler/icons-react'; import { OPTIONS_FONTS } from './config/fonts'; import { useAppTheme } from './theme/ThemeProvider'; import { isValidThemeName, themes } from './theme'; -import { UserPreferences, useUserPreferences } from './useUserPreferences'; +import { + DEFAULT_ROW_CLICK_ACTION, + RowClickAction, + UserPreferences, + useUserPreferences, +} from './useUserPreferences'; const OPTIONS_COLOR_MODE = [ { label: 'System', value: 'system' }, @@ -24,6 +29,11 @@ const OPTIONS_COLOR_MODE = [ { label: 'Dark', value: 'dark' }, ]; +const OPTIONS_ROW_CLICK_ACTION: { label: string; value: RowClickAction }[] = [ + { label: 'Open side panel', value: 'sidePanel' }, + { label: 'Expand inline', value: 'expand' }, +]; + // Brand theme options (generated from theme registry) const OPTIONS_BRAND_THEMES = Object.values(themes).map(t => ({ label: t.displayName, @@ -108,6 +118,27 @@ export const UserPreferencesModal = ({ /> + + +