refactor: use class helper instead of component to handle responsiveness

This commit is contained in:
Pihkaal
2024-08-22 18:18:21 +02:00
parent 03d90db620
commit dd6c5faa5a
6 changed files with 77 additions and 87 deletions

View File

@@ -17,8 +17,12 @@ import { WaybarTrayWidget } from "./Widgets/WaybarTrayWidget";
import { WaybarToggleThemeWidget } from "./Widgets/WaybarToggleThemeWidget";
import { WaybarWeatherWidget } from "./Widgets/WaybarWeatherWidget";
import { Responsive } from "../Responsive";
import { cn, hideIf } from "~/utils/react";
import { useApp } from "~/hooks/useApp";
export const Waybar = () => {
const { screenWidth } = useApp();
return (
<div className="grid h-[37px] w-full select-none grid-cols-[1fr_max-content_1fr] grid-rows-1 gap-0">
<div className="flex items-center gap-3">
@@ -26,32 +30,28 @@ export const Waybar = () => {
<WaybarHomeWidget />
</WaybarWidgetGroup>
<Responsive minScreenWidth={705}>
<WaybarWidgetGroup>
<WaybarCPUWidget
variation={1}
frequency={3250 + randomMinMax(-100, 100)}
cores={12}
min={8}
max={16}
/>
<WaybarRAMWidget
variation={1}
frequency={5000 + randomMinMax(-100, 100)}
min={18}
max={40}
start={randomMinMax(20, 30)}
capacity={16}
/>
<WaybarDiskWidget current={35.9} variation={4.1} capacity={160.3} />
</WaybarWidgetGroup>
</Responsive>
<WaybarWidgetGroup className={cn(hideIf(screenWidth < 705))}>
<WaybarCPUWidget
variation={1}
frequency={3250 + randomMinMax(-100, 100)}
cores={12}
min={8}
max={16}
/>
<WaybarRAMWidget
variation={1}
frequency={5000 + randomMinMax(-100, 100)}
min={18}
max={40}
start={randomMinMax(20, 30)}
capacity={16}
/>
<WaybarDiskWidget current={35.9} variation={4.1} capacity={160.3} />
</WaybarWidgetGroup>
<Responsive minScreenWidth={910}>
<WaybarWidgetGroup>
<WaybarTitleWidget />
</WaybarWidgetGroup>
</Responsive>
<WaybarWidgetGroup className={cn(hideIf(screenWidth < 910))}>
<WaybarTitleWidget />
</WaybarWidgetGroup>
</div>
<div className="flex items-center">
<WaybarWidgetGroup>
@@ -61,34 +61,28 @@ export const Waybar = () => {
</WaybarWidgetGroup>
</div>
<div className="flex items-center justify-end gap-2">
<Responsive minScreenWidth={1320}>
<WaybarWidgetGroup>
<WaybarTemperatureWidget
min={50}
max={70}
variation={1}
frequency={7000 + randomMinMax(-100, 100)}
/>
<WaybarWidgetGroup className={cn(hideIf(screenWidth < 1320))}>
<WaybarTemperatureWidget
min={50}
max={70}
variation={1}
frequency={7000 + randomMinMax(-100, 100)}
/>
<WaybarBatteryWidget frequency={7000 + randomMinMax(-100, 100)} />
</WaybarWidgetGroup>
</Responsive>
<WaybarBatteryWidget frequency={7000 + randomMinMax(-100, 100)} />
</WaybarWidgetGroup>
<Responsive minScreenWidth={970}>
<WaybarWidgetGroup>
<WaybarBrightnessWidget />
<WaybarVolumeWidget />
<WaybarMicrophoneWidget />
</WaybarWidgetGroup>
</Responsive>
<WaybarWidgetGroup className={cn(hideIf(screenWidth < 970))}>
<WaybarBrightnessWidget />
<WaybarVolumeWidget />
<WaybarMicrophoneWidget />
</WaybarWidgetGroup>
<Responsive minScreenWidth={475}>
<WaybarWidgetGroup>
<WaybarTrayWidget />
<WaybarWeatherWidget />
<WaybarToggleThemeWidget />
</WaybarWidgetGroup>
</Responsive>
<WaybarWidgetGroup className={cn(hideIf(screenWidth < 475))}>
<WaybarTrayWidget />
<WaybarWeatherWidget />
<WaybarToggleThemeWidget />
</WaybarWidgetGroup>
</div>
</div>
);