Files
custum-hyprpanel/src/components/menus/dashboard/index.tsx
Jas Singh 210d5e2a5e Fixed an issue that would cause the scroll direction to be inverted on secondary monitors. (#683)
* Fixed an issue that would cause the scroll direction to be inverted on secondary monitors.

* Update import paths and tsconfig.
2024-12-31 03:20:47 -08:00

46 lines
1.8 KiB
TypeScript

import DropdownMenu from '../shared/dropdown/index.js';
import { Profile } from './profile/index.js';
import { Shortcuts } from './shortcuts/index.js';
import { Controls } from './controls/index.js';
import { Stats } from './stats/index.js';
import { Directories } from './directories/index.js';
import options from 'src/options.js';
import { bind, Variable } from 'astal';
import { RevealerTransitionMap } from 'src/lib/constants/options.js';
const { controls, shortcuts, stats, directories } = options.menus.dashboard;
const { transition } = options.menus;
export default (): JSX.Element => {
const dashboardBinding = Variable.derive(
[bind(controls.enabled), bind(shortcuts.enabled), bind(stats.enabled), bind(directories.enabled)],
(isControlsEnabled, isShortcutsEnabled, isStatsEnabled, isDirectoriesEnabled) => {
return [
<box className={'dashboard-content-container'} vertical>
<box className={'dashboard-content-items'} vertical>
<Profile />
<Shortcuts isEnabled={isShortcutsEnabled} />
<Controls isEnabled={isControlsEnabled} />
<Directories isEnabled={isDirectoriesEnabled} />
<Stats isEnabled={isStatsEnabled} />
</box>
</box>,
];
},
);
return (
<DropdownMenu
name={'dashboardmenu'}
transition={bind(transition).as((transition) => RevealerTransitionMap[transition])}
onDestroy={() => {
dashboardBinding.drop();
}}
>
<box className={'dashboard-menu-content'} css={'padding: 1px; margin: -1px;'} vexpand={false}>
{dashboardBinding()}
</box>
</DropdownMenu>
);
};