From a48b072b53a9ed2490867e366ea31c019a117fd1 Mon Sep 17 00:00:00 2001 From: Jas Singh Date: Mon, 7 Apr 2025 21:14:31 -0700 Subject: [PATCH] Feat: Added a separators module for the bar. (#889) --- src/components/bar/exports.ts | 3 ++ src/components/bar/index.tsx | 54 ++++++++++--------- .../bar/modules/separator/index.tsx | 5 ++ .../settings/pages/config/bar/index.tsx | 5 ++ .../settings/pages/theme/bar/index.tsx | 6 ++- src/options.ts | 5 ++ src/scss/main.scss | 3 ++ src/scss/style/bar/module-separator.scss | 6 +++ 8 files changed, 60 insertions(+), 27 deletions(-) create mode 100644 src/components/bar/modules/separator/index.tsx create mode 100644 src/scss/style/bar/module-separator.scss diff --git a/src/components/bar/exports.ts b/src/components/bar/exports.ts index f57dcca..530078d 100644 --- a/src/components/bar/exports.ts +++ b/src/components/bar/exports.ts @@ -27,6 +27,8 @@ import { Hypridle } from '../../components/bar/modules/hypridle/index'; import { Cava } from '../../components/bar/modules/cava/index'; import { WorldClock } from '../../components/bar/modules/worldclock/index'; +import { ModuleSeparator } from './modules/separator'; + export { Menu, Workspaces, @@ -56,4 +58,5 @@ export { Hypridle, Cava, WorldClock, + ModuleSeparator, }; diff --git a/src/components/bar/index.tsx b/src/components/bar/index.tsx index 233ee75..f2527e8 100644 --- a/src/components/bar/index.tsx +++ b/src/components/bar/index.tsx @@ -25,6 +25,7 @@ import { Hypridle, Cava, WorldClock, + ModuleSeparator, } from './exports'; import { WidgetContainer } from './shared/WidgetContainer'; @@ -42,32 +43,33 @@ const { location } = options.theme.bar; const { location: borderLocation } = options.theme.bar.border; let widgets: WidgetMap = { - battery: (): JSX.Element => WidgetContainer(BatteryLabel()), - dashboard: (): JSX.Element => WidgetContainer(Menu()), - workspaces: (monitor: number): JSX.Element => WidgetContainer(Workspaces(monitor)), - windowtitle: (): JSX.Element => WidgetContainer(ClientTitle()), - media: (): JSX.Element => WidgetContainer(Media()), - notifications: (): JSX.Element => WidgetContainer(Notifications()), - volume: (): JSX.Element => WidgetContainer(Volume()), - network: (): JSX.Element => WidgetContainer(Network()), - bluetooth: (): JSX.Element => WidgetContainer(Bluetooth()), - clock: (): JSX.Element => WidgetContainer(Clock()), - systray: (): JSX.Element => WidgetContainer(SysTray()), - microphone: (): JSX.Element => WidgetContainer(Microphone()), - ram: (): JSX.Element => WidgetContainer(Ram()), - cpu: (): JSX.Element => WidgetContainer(Cpu()), - cputemp: (): JSX.Element => WidgetContainer(CpuTemp()), - storage: (): JSX.Element => WidgetContainer(Storage()), - netstat: (): JSX.Element => WidgetContainer(Netstat()), - kbinput: (): JSX.Element => WidgetContainer(KbInput()), - updates: (): JSX.Element => WidgetContainer(Updates()), - submap: (): JSX.Element => WidgetContainer(Submap()), - weather: (): JSX.Element => WidgetContainer(Weather()), - power: (): JSX.Element => WidgetContainer(Power()), - hyprsunset: (): JSX.Element => WidgetContainer(Hyprsunset()), - hypridle: (): JSX.Element => WidgetContainer(Hypridle()), - cava: (): JSX.Element => WidgetContainer(Cava()), - worldclock: (): JSX.Element => WidgetContainer(WorldClock()), + battery: () => WidgetContainer(BatteryLabel()), + dashboard: () => WidgetContainer(Menu()), + workspaces: (monitor: number) => WidgetContainer(Workspaces(monitor)), + windowtitle: () => WidgetContainer(ClientTitle()), + media: () => WidgetContainer(Media()), + notifications: () => WidgetContainer(Notifications()), + volume: () => WidgetContainer(Volume()), + network: () => WidgetContainer(Network()), + bluetooth: () => WidgetContainer(Bluetooth()), + clock: () => WidgetContainer(Clock()), + systray: () => WidgetContainer(SysTray()), + microphone: () => WidgetContainer(Microphone()), + ram: () => WidgetContainer(Ram()), + cpu: () => WidgetContainer(Cpu()), + cputemp: () => WidgetContainer(CpuTemp()), + storage: () => WidgetContainer(Storage()), + netstat: () => WidgetContainer(Netstat()), + kbinput: () => WidgetContainer(KbInput()), + updates: () => WidgetContainer(Updates()), + submap: () => WidgetContainer(Submap()), + weather: () => WidgetContainer(Weather()), + power: () => WidgetContainer(Power()), + hyprsunset: () => WidgetContainer(Hyprsunset()), + hypridle: () => WidgetContainer(Hypridle()), + cava: () => WidgetContainer(Cava()), + worldclock: () => WidgetContainer(WorldClock()), + separator: () => ModuleSeparator(), }; const gdkMonitorMapper = new GdkMonitorMapper(); diff --git a/src/components/bar/modules/separator/index.tsx b/src/components/bar/modules/separator/index.tsx new file mode 100644 index 0000000..42968bc --- /dev/null +++ b/src/components/bar/modules/separator/index.tsx @@ -0,0 +1,5 @@ +import Separator from 'src/components/shared/Separator'; + +export const ModuleSeparator = (): JSX.Element => { + return ; +}; diff --git a/src/components/settings/pages/config/bar/index.tsx b/src/components/settings/pages/config/bar/index.tsx index a46addb..145390e 100644 --- a/src/components/settings/pages/config/bar/index.tsx +++ b/src/components/settings/pages/config/bar/index.tsx @@ -140,6 +140,11 @@ export const BarSettings = (): JSX.Element => { type="number" /> + {/* Separator Section */} +
+