Browse Source

updated color scheme

pull/586/head
Dan Ditomaso 1 year ago
parent
commit
0b0c571f5d
  1. 1
      src/components/Dialog/DeviceNameDialog.tsx
  2. 1
      src/components/Dialog/ImportDialog.tsx
  3. 2
      src/components/Dialog/NodeDetailsDialog/NodeDetailsDialog.tsx
  4. 2
      src/components/Dialog/QRDialog.tsx
  5. 1
      src/components/Dialog/ShutdownDialog.tsx
  6. 3
      src/components/Form/FormInput.tsx
  7. 2
      src/components/PageComponents/Config/Bluetooth.tsx
  8. 6
      src/components/PageComponents/Connect/BLE.tsx
  9. 4
      src/components/PageComponents/Connect/HTTP.tsx
  10. 4
      src/components/PageComponents/Connect/Serial.tsx
  11. 2
      src/components/PageComponents/Map/NodeDetail.tsx
  12. 3
      src/components/PageComponents/Messages/MessageInput.tsx
  13. 14
      src/components/PageComponents/Messages/MessageItem.tsx
  14. 6
      src/components/PageLayout.tsx
  15. 4
      src/components/UI/Button.tsx
  16. 2
      src/components/UI/Checkbox/index.tsx
  17. 4
      src/components/UI/Command.tsx
  18. 6
      src/components/UI/Dialog.tsx
  19. 8
      src/components/UI/Input.tsx
  20. 2
      src/components/UI/Tabs.tsx
  21. 2
      src/components/UI/Toast.tsx
  22. 2
      src/components/UI/Tooltip.tsx
  23. 2
      src/components/UI/Typography/Link.tsx
  24. 2
      src/components/UI/Typography/Subtle.tsx
  25. 2
      src/pages/Config/DeviceConfig.tsx
  26. 1
      src/pages/Config/index.tsx
  27. 2
      src/pages/Dashboard/index.tsx
  28. 1
      src/pages/Messages.tsx

1
src/components/Dialog/DeviceNameDialog.tsx

@ -83,6 +83,7 @@ export const DeviceNameDialog = ({
label: "Long Name", label: "Long Name",
type: "text", type: "text",
properties: { properties: {
className: 'text-slate-900 dark:text-slate-200',
fieldLength: { fieldLength: {
currentValueLength: currentLongNameLength ?? 0, currentValueLength: currentLongNameLength ?? 0,
max: MAX_LONG_NAME_BYTE_LENGTH, max: MAX_LONG_NAME_BYTE_LENGTH,

1
src/components/Dialog/ImportDialog.tsx

@ -109,7 +109,6 @@ export const ImportDialog = ({
<Input <Input
value={importDialogInput} value={importDialogInput}
suffix={validUrl ? "✅" : "❌"} suffix={validUrl ? "✅" : "❌"}
className="dark:text-slate-900"
onChange={(e) => { onChange={(e) => {
setImportDialogInput(e.target.value); setImportDialogInput(e.target.value);
}} }}

2
src/components/Dialog/NodeDetailsDialog/NodeDetailsDialog.tsx

@ -131,7 +131,7 @@ export const NodeDetailsDialog = ({
{device.deviceMetrics && ( {device.deviceMetrics && (
<div className="text-slate-900 dark:text-slate-100 bg-slate-100 dark:bg-slate-800 p-3 rounded-lg mt-3"> <div className="text-slate-900 dark:text-slate-100 bg-slate-100 dark:bg-slate-800 p-3 rounded-lg mt-3">
<p className="text-lg font-semibold text-slate-900 dark:text-slate-50"> <p className="text-lg font-semibold text-slate-900 dark:text-slate-0">
Device Metrics: Device Metrics:
</p> </p>
{deviceMetricsMap.map( {deviceMetricsMap.map(

2
src/components/Dialog/QRDialog.tsx

@ -133,8 +133,8 @@ export const QRDialog = ({
<Input <Input
value={qrCodeUrl} value={qrCodeUrl}
disabled disabled
className="dark:text-slate-900"
action={{ action={{
key: 'copy-value',
icon: ClipboardIcon, icon: ClipboardIcon,
onClick() { onClick() {
void navigator.clipboard.writeText(qrCodeUrl); void navigator.clipboard.writeText(qrCodeUrl);

1
src/components/Dialog/ShutdownDialog.tsx

@ -41,7 +41,6 @@ export const ShutdownDialog = ({
type="number" type="number"
value={time} value={time}
onChange={(e) => setTime(Number.parseInt(e.target.value))} onChange={(e) => setTime(Number.parseInt(e.target.value))}
className="dark:text-slate-900"
suffix="Minutes" suffix="Minutes"
/> />
<Button <Button

3
src/components/Form/FormInput.tsx

@ -6,6 +6,7 @@ import { Input } from "@components/UI/Input.tsx";
import type { ChangeEventHandler } from "react"; import type { ChangeEventHandler } from "react";
import { useState } from "react"; import { useState } from "react";
import { useController, type FieldValues } from "react-hook-form"; import { useController, type FieldValues } from "react-hook-form";
import { cn } from "@core/utils/cn.ts";
export interface InputFieldProps<T> extends BaseFormBuilderProps<T> { export interface InputFieldProps<T> extends BaseFormBuilderProps<T> {
type: "text" | "number" | "password"; type: "text" | "number" | "password";
@ -15,6 +16,7 @@ export interface InputFieldProps<T> extends BaseFormBuilderProps<T> {
prefix?: string; prefix?: string;
suffix?: string; suffix?: string;
step?: number; step?: number;
className?: string;
fieldLength?: { fieldLength?: {
min?: number; min?: number;
max?: number; max?: number;
@ -63,6 +65,7 @@ export function GenericInput<T extends FieldValues>({
onChange={handleInputChange} onChange={handleInputChange}
showCopyButton={field.properties?.showCopyButton} showCopyButton={field.properties?.showCopyButton}
showPasswordToggle={field.properties?.showPasswordToggle || field.type === "password"} showPasswordToggle={field.properties?.showPasswordToggle || field.type === "password"}
className={field.properties?.className}
{...restProperties} {...restProperties}
disabled={disabled} disabled={disabled}
/> />

2
src/components/PageComponents/Config/Bluetooth.tsx

@ -1,5 +1,5 @@
import { useAppStore } from "../../../core/stores/appStore.ts"; import { useAppStore } from "../../../core/stores/appStore.ts";
import type { BluetoothValidation } from "@app/validation/config/bluetooth.tsx"; import type { BluetoothValidation } from "@app/validation/config/bluetooth.ts";
import { create } from "@bufbuild/protobuf"; import { create } from "@bufbuild/protobuf";
import { DynamicForm } from "@components/Form/DynamicForm.tsx"; import { DynamicForm } from "@components/Form/DynamicForm.tsx";
import { useDevice } from "@core/stores/deviceStore.ts"; import { useDevice } from "@core/stores/deviceStore.ts";

6
src/components/PageComponents/Connect/BLE.tsx

@ -43,7 +43,7 @@ export const BLE = ({ setConnectionInProgress, closeDialog }: TabElementProps) =
{bleDevices.map((device) => ( {bleDevices.map((device) => (
<Button <Button
key={device.id} key={device.id}
className="dark:bg-slate-900 dark:text-white" variant="default"
onClick={() => { onClick={() => {
setConnectionInProgress(true); setConnectionInProgress(true);
onConnect(device); onConnect(device);
@ -57,8 +57,10 @@ export const BLE = ({ setConnectionInProgress, closeDialog }: TabElementProps) =
)} )}
</div> </div>
<Button <Button
className="dark:bg-slate-900 dark:text-white" variant="default"
onClick={async () => { onClick={async () => {
await navigator.bluetooth await navigator.bluetooth
.requestDevice({ .requestDevice({
filters: [{ services: [ServiceUuid] }], filters: [{ services: [ServiceUuid] }],

4
src/components/PageComponents/Connect/HTTP.tsx

@ -74,7 +74,7 @@ export const HTTP = ({ closeDialog, setConnectionInProgress, connectionInProgres
<Input <Input
prefix={tlsValue ? "https://" : "http://"} prefix={tlsValue ? "https://" : "http://"}
placeholder="000.000.000.000 / meshtastic.local" placeholder="000.000.000.000 / meshtastic.local"
className="text-slate-900 dark:text-slate-900" className="text-slate-900 dark:text-slate-100"
{...register("ip")} {...register("ip")}
/> />
</div> </div>
@ -120,7 +120,7 @@ export const HTTP = ({ closeDialog, setConnectionInProgress, connectionInProgres
</div> </div>
<Button <Button
type="submit" type="submit"
className="dark:bg-slate-900 dark:text-white" variant={"default"}
> >
<span>{connectionInProgress ? "Connecting..." : "Connect"}</span> <span>{connectionInProgress ? "Connecting..." : "Connect"}</span>
</Button> </Button>

4
src/components/PageComponents/Connect/Serial.tsx

@ -52,7 +52,7 @@ export const Serial = ({ setConnectionInProgress, closeDialog }: TabElementProps
<Button <Button
key={`${usbVendorId ?? "UNK"}-${usbProductId ?? "UNK"}-${index}`} key={`${usbVendorId ?? "UNK"}-${usbProductId ?? "UNK"}-${index}`}
disabled={port.readable !== null} disabled={port.readable !== null}
className="dark:bg-slate-900 dark:text-white" variant="default"
onClick={async () => { onClick={async () => {
setConnectionInProgress(true); setConnectionInProgress(true);
await onConnect(port); await onConnect(port);
@ -68,7 +68,7 @@ export const Serial = ({ setConnectionInProgress, closeDialog }: TabElementProps
)} )}
</div> </div>
<Button <Button
className="dark:bg-slate-900 dark:text-white" variant="default"
onClick={async () => { onClick={async () => {
await navigator.serial.requestPort().then((port) => { await navigator.serial.requestPort().then((port) => {
setSerialPorts(serialPorts.concat(port)); setSerialPorts(serialPorts.concat(port));

2
src/components/PageComponents/Map/NodeDetail.tsx

@ -49,7 +49,7 @@ export const NodeDetail = ({ node }: NodeDetailProps) => {
} }
return ( return (
<div className="dark:text-slate-900 p-1"> <div className="p-1">
<div className="flex gap-2"> <div className="flex gap-2">
<div className="flex flex-col items-center gap-2 min-w-6 pt-1"> <div className="flex flex-col items-center gap-2 min-w-6 pt-1">
<Avatar text={shortName} size="sm" /> <Avatar text={shortName} size="sm" />

3
src/components/PageComponents/Messages/MessageInput.tsx

@ -96,7 +96,8 @@ export const MessageInput = ({
<Button <Button
type="submit" type="submit"
className="dark:bg-white dark:text-slate-900 dark:hover:bg-slate-400 dark:hover:text-white" variant={"default"}
// className=" dark:text-slate-900 dark:hover:bg-slate-400 dark:hover:text-white"
> >
<SendIcon size={16} /> <SendIcon size={16} />
</Button> </Button>

14
src/components/PageComponents/Messages/MessageItem.tsx

@ -40,9 +40,9 @@ const StatusTooltip = ({ status, children }: { status: MessageStatus; children:
<TooltipProvider delayDuration={300}> <TooltipProvider delayDuration={300}>
<Tooltip> <Tooltip>
<TooltipTrigger asChild>{children}</TooltipTrigger> <TooltipTrigger asChild>{children}</TooltipTrigger>
<TooltipContent className="bg-gray-800 text-white px-2 py-1 rounded text-xs"> <TooltipContent className="bg-slate-800 dark:bg-slate-600 text-white px-2 py-1 rounded text-xs">
{status.displayText} {status.displayText}
<TooltipArrow className="fill-gray-800" /> <TooltipArrow className="fill-slate-800" />
</TooltipContent> </TooltipContent>
</Tooltip> </Tooltip>
</TooltipProvider> </TooltipProvider>
@ -50,7 +50,7 @@ const StatusTooltip = ({ status, children }: { status: MessageStatus; children:
const StatusIcon = ({ status, className }: { status: MessageStatus; className?: string }) => { const StatusIcon = ({ status, className }: { status: MessageStatus; className?: string }) => {
const Icon = status.icon; const Icon = status.icon;
const iconClass = cn("w-3.5 h-3.5 shrink-0", className); const iconClass = cn("size-4 shrink-0", className);
return ( return (
<StatusTooltip status={status}> <StatusTooltip status={status}>
<span aria-label={status.ariaLabel} role="img"> <span aria-label={status.ariaLabel} role="img">
@ -110,10 +110,10 @@ export const MessageItem = ({ message }: MessageProps) => {
// const avatarSizeClass = "size-11"; // const avatarSizeClass = "size-11";
const gridGapClass = "gap-x-2"; const gridGapClass = "gap-x-2";
const baseTextStyle = "text-sm text-gray-800 dark:text-gray-200"; const baseTextStyle = "text-sm text-slate-800 dark:text-slate-200";
const nameTextStyle = "font-medium text-gray-900 dark:text-gray-100 mr-2"; const nameTextStyle = "font-medium text-slate-900 dark:text-slate-100 mr-2";
const dateTextStyle = "text-gray-500 dark:text-gray-400"; const dateTextStyle = "text-slate-500 dark:text-slate-400";
const statusIconBaseColor = "text-gray-400 dark:text-gray-500"; const statusIconBaseColor = "text-slate-400 dark:text-slate-400";
const statusIconFailedColor = "text-red-500 dark:text-red-400"; const statusIconFailedColor = "text-red-500 dark:text-red-400";
return ( return (

6
src/components/PageLayout.tsx

@ -22,11 +22,11 @@ export interface PageLayoutProps {
children: React.ReactNode; children: React.ReactNode;
leftBar?: React.ReactNode; leftBar?: React.ReactNode;
rightBar?: React.ReactNode; rightBar?: React.ReactNode;
className?: string;
noPadding?: boolean; noPadding?: boolean;
leftBarClassName?: string; leftBarClassName?: string;
rightBarClassName?: string; rightBarClassName?: string;
topBarClassName?: string; topBarClassName?: string;
contentClassName?: string;
} }
export const PageLayout = ({ export const PageLayout = ({
@ -35,11 +35,11 @@ export const PageLayout = ({
children, children,
leftBar, leftBar,
rightBar, rightBar,
className,
noPadding, noPadding,
leftBarClassName, leftBarClassName,
rightBarClassName, rightBarClassName,
topBarClassName, topBarClassName,
contentClassName
}: PageLayoutProps) => { }: PageLayoutProps) => {
return ( return (
<ErrorBoundary FallbackComponent={ErrorPage}> <ErrorBoundary FallbackComponent={ErrorPage}>
@ -100,7 +100,7 @@ export const PageLayout = ({
"flex-1 flex flex-col", "flex-1 flex flex-col",
"overflow-hidden", "overflow-hidden",
!noPadding && "px-2", !noPadding && "px-2",
className contentClassName
)} )}
> >
{children} {children}

4
src/components/UI/Button.tsx

@ -8,13 +8,13 @@ const buttonVariants = cva(
variants: { variants: {
variant: { variant: {
default: default:
"bg-slate-900 text-white dark:bg-slate-900 hover:dark:bg-slate-700 dark:text-slate-100 hover:bg-slate-800 ", "bg-slate-900 text-white dark:bg-slate-200 hover:dark:bg-slate-300 dark:text-slate-900 hover:bg-slate-500",
destructive: destructive:
"bg-red-500 text-white hover:bg-red-600 dark:hover:bg-red-600", "bg-red-500 text-white hover:bg-red-600 dark:hover:bg-red-600",
success: success:
"bg-green-500 text-white hover:bg-green-600 dark:hover:bg-green-600", "bg-green-500 text-white hover:bg-green-600 dark:hover:bg-green-600",
outline: outline:
"bg-transparent border border-slate-400 hover:bg-slate-100 dark:border-slate-400 dark:text-slate-500", "bg-transparent border border-slate-400 hover:text-slate-100 dark:hover:text-slate-300 dark:border-slate-400 dark:text-slate-100 ",
subtle: subtle:
"bg-slate-100 text-slate-700 hover:bg-slate-200 dark:bg-slate-500 dark:text-white dark:hover:bg-slate-400", "bg-slate-100 text-slate-700 hover:bg-slate-200 dark:bg-slate-500 dark:text-white dark:hover:bg-slate-400",
ghost: ghost:

2
src/components/UI/Checkbox/index.tsx

@ -71,7 +71,7 @@ export function Checkbox({
> >
{isChecked && ( {isChecked && (
<div className="animate-fade-in scale-100 opacity-100"> <div className="animate-fade-in scale-100 opacity-100">
<Check className="w-4 h-4 text-slate-900 dark:text-slate-900" /> <Check className="w-4 h-4 text-slate-900 dark:text-slate-200" />
</div> </div>
)} )}
</div> </div>

4
src/components/UI/Command.tsx

@ -88,7 +88,7 @@ const CommandGroup = React.forwardRef<
<CommandPrimitive.Group <CommandPrimitive.Group
ref={ref} ref={ref}
className={cn( className={cn(
"overflow-hidden py-3 px-2 text-slate-700 dark:text-slate-400 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:pb-1.5 [&_[cmdk-group-heading]]:text-sm [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:text-slate-900 dark:[&_[cmdk-group-heading]]:text-slate-300", "overflow-hidden py-3 px-2 text-slate-700 dark:text-slate-200 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:pb-1.5 [&_[cmdk-group-heading]]:text-sm [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:text-slate-900 dark:[&_[cmdk-group-heading]]:text-slate-300",
className, className,
)} )}
{...props} {...props}
@ -103,7 +103,7 @@ const CommandSeparator = React.forwardRef<
>(({ className, ...props }, ref) => ( >(({ className, ...props }, ref) => (
<CommandPrimitive.Separator <CommandPrimitive.Separator
ref={ref} ref={ref}
className={cn("-mx-1 h-px bg-slate-100 dark:bg-slate-700", className)} className={cn("-mx-1 h-px bg-slate-100 dark:bg-slate-200", className)}
{...props} {...props}
/> />
)); ));

6
src/components/UI/Dialog.tsx

@ -44,7 +44,7 @@ const DialogContent = React.forwardRef<
<DialogPrimitive.Content <DialogPrimitive.Content
ref={ref} ref={ref}
className={cn( className={cn(
"fixed z-50 grid w-full bg-white max-w-[512px] max-h-[100vh] overflow-y-auto scale-100 gap-4 p-6 opacity-100 animate-in fade-in-90 slide-in-from-bottom-10 sm:max-w-lg sm:rounded-lg sm:zoom-in-90 sm:slide-in-from-bottom-0 dark:text-slate-900", "fixed z-50 grid w-full bg-slate-100 dark:bg-slate-700 dark:text-slate-200 text-slate-900 max-w-[512px] max-h-[100vh] overflow-y-auto scale-100 gap-4 p-6 opacity-100 animate-in fade-in-90 slide-in-from-bottom-10 sm:max-w-lg sm:rounded-lg sm:zoom-in-90 sm:slide-in-from-bottom-0",
className, className,
)} )}
{...props} {...props}
@ -106,7 +106,7 @@ const DialogTitle = React.forwardRef<
>(({ className, ...props }, ref) => ( >(({ className, ...props }, ref) => (
<DialogPrimitive.Title <DialogPrimitive.Title
ref={ref} ref={ref}
className={cn("text-lg font-semibold text-slate-900", className)} className={cn("text-lg font-semibold text-slate-900 dark:text-slate-100", className)}
{...props} {...props}
/> />
)); ));
@ -118,7 +118,7 @@ const DialogDescription = React.forwardRef<
>(({ className, ...props }, ref) => ( >(({ className, ...props }, ref) => (
<DialogPrimitive.Description <DialogPrimitive.Description
ref={ref} ref={ref}
className={cn("text-sm text-slate-700", className)} className={cn("text-sm text-slate-800 dark:text-slate-200", className)}
{...props} {...props}
/> />
)); ));

8
src/components/UI/Input.tsx

@ -6,11 +6,11 @@ import { useCopyToClipboard } from "@core/hooks/useCopyToClipboard.ts";
import { usePasswordVisibilityToggle } from "@core/hooks/usePasswordVisibilityToggle.ts"; import { usePasswordVisibilityToggle } from "@core/hooks/usePasswordVisibilityToggle.ts";
const inputVariants = cva( const inputVariants = cva(
"flex h-10 w-full rounded-md border border-slate-300 bg-transparent py-2 px-3 text-sm placeholder:text-slate-400 focus:outline-none focus:ring-1 focus:ring-slate-400 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-700 dark:text-slate-100 dark:focus:ring-slate-400 dark:focus:ring-offset-slate-600", "flex h-10 w-full rounded-md border border-slate-300 bg-transparent py-2 px-3 text-sm placeholder:text-slate-400 focus:outline-none focus:ring-1 focus:ring-slate-400 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-transparet dark:text-slate-100 dark:focus:ring-slate-400 dark:focus:ring-offset-slate-600",
{ {
variants: { variants: {
variant: { variant: {
default: "border-slate-300 dark:border-slate-700", default: "border-slate-300 dark:border-slate-500",
invalid: invalid:
"border-red-500 dark:border-red-500 focus:ring-red-500 dark:focus:ring-red-500", "border-red-500 dark:border-red-500 focus:ring-red-500 dark:focus:ring-red-500",
}, },
@ -26,7 +26,7 @@ type InputActionType = {
icon: LucideIcon; icon: LucideIcon;
onClick: (e: React.MouseEvent<HTMLButtonElement>) => void; onClick: (e: React.MouseEvent<HTMLButtonElement>) => void;
ariaLabel: string; ariaLabel: string;
tooltip?: string; tooltip?: string
condition?: boolean; condition?: boolean;
}; };
@ -128,7 +128,7 @@ const Input = React.forwardRef<HTMLInputElement, InputProps>(
return ( return (
<div className={cn("relative flex w-full items-stretch", containerClassName)}> <div className={cn("relative flex w-full items-stretch", containerClassName)}>
{prefix && ( {prefix && (
<span className="inline-flex items-center rounded-l-md border border-r-0 border-slate-300 bg-slate-100/80 px-3 text-sm text-slate-600 dark:border-slate-700 dark:bg-slate-700 dark:text-slate-300"> <span className="inline-flex items-center rounded-l-md border border-r-0 border-slate-300 bg-slate-100/80 px-3 text-sm text-slate-600 dark:border-slate-700 dark:bg-slate-200 dark:text-slate-700">
{prefix} {prefix}
</span> </span>
)} )}

2
src/components/UI/Tabs.tsx

@ -12,7 +12,7 @@ const TabsList = React.forwardRef<
<TabsPrimitive.List <TabsPrimitive.List
ref={ref} ref={ref}
className={cn( className={cn(
"inline-flex flex-wrap items-center rounded-md p-1 mt-2 bg-slate-200 dark:bg-slate-200", "inline-flex flex-wrap items-center rounded-md p-1 mt-2 bg-slate-200 dark:bg-slate-100",
className, className,
)} )}
{...props} {...props}

2
src/components/UI/Toast.tsx

@ -28,7 +28,7 @@ const toastVariants = cva(
variants: { variants: {
variant: { variant: {
default: default:
"border bg-backgound-primary text-foreground dark:bg-white dark:border-slate-600 dark:text-slate-900", "border bg-backgound-primary text-foreground dark:bg-slate-100 dark:border-slate-600 dark:text-slate-900",
destructive: destructive:
"group destructive bg-red-600 text-white dark:border-red-900 dark:bg-red-900 dark:text-red-50", "group destructive bg-red-600 text-white dark:border-red-900 dark:bg-red-900 dark:text-red-50",
}, },

2
src/components/UI/Tooltip.tsx

@ -19,7 +19,7 @@ const TooltipContent = React.forwardRef<
ref={ref} ref={ref}
sideOffset={sideOffset} sideOffset={sideOffset}
className={cn( className={cn(
"z-50 overflow-hidden rounded-md border border-slate-100 bg-white px-3 py-1.5 text-sm text-slate-700 shadow-md animate-in fade-in-50 data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1 dark:border-slate-800 dark:bg-slate-800 dark:text-slate-400", "z-50 overflow-hidden rounded-md border border-slate-100 bg-white px-3 py-1.5 text-sm text-slate-700 shadow-md animate-in fade-in-50 data-[side=bottom]:slide-in-from-top-1 data-[side=left]:slide-in-from-right-1 data-[side=right]:slide-in-from-left-1 data-[side=top]:slide-in-from-bottom-1 dark:border-slate-800 dark:bg-slate-800 dark:text-slate-200",
className, className,
)} )}
{...props} {...props}

2
src/components/UI/Typography/Link.tsx

@ -12,7 +12,7 @@ export const Link = ({ href, children, className }: LinkProps) => (
target="_blank" target="_blank"
rel="noopener noreferrer" rel="noopener noreferrer"
className={cn( className={cn(
"font-medium text-slate-900 underline underline-offset-4 dark:text-slate-900", "font-medium text-slate-900 underline underline-offset-4 dark:text-slate-200",
className, className,
)} )}
> >

2
src/components/UI/Typography/Subtle.tsx

@ -6,7 +6,7 @@ export interface SubtleProps {
} }
export const Subtle = ({ className, children }: SubtleProps) => ( export const Subtle = ({ className, children }: SubtleProps) => (
<p className={cn("text-sm text-slate-500 dark:text-slate-400", className)}> <p className={cn("text-sm text-slate-500 dark:text-slate-300", className)}>
{children} {children}
</p> </p>
); );

2
src/pages/Config/DeviceConfig.tsx

@ -52,7 +52,7 @@ export const DeviceConfig = () => {
return ( return (
<Tabs defaultValue="Device"> <Tabs defaultValue="Device">
<TabsList className="dark:bg-slate-800"> <TabsList className="dark:bg-slate-700">
{tabs.map((tab) => ( {tabs.map((tab) => (
<TabsTrigger <TabsTrigger
key={tab.label} key={tab.label}

1
src/pages/Config/index.tsx

@ -93,6 +93,7 @@ const ConfigPage = () => {
<> <>
<PageLayout <PageLayout
contentClassName="overflow-auto"
leftBar={leftSidebar} leftBar={leftSidebar}
label={activeConfigSection === "device" label={activeConfigSection === "device"
? "Radio Config" ? "Radio Config"

2
src/pages/Dashboard/index.tsx

@ -99,7 +99,7 @@ export const Dashboard = () => {
<Heading as="h3">No Devices</Heading> <Heading as="h3">No Devices</Heading>
<Subtle>Connect at least one device to get started</Subtle> <Subtle>Connect at least one device to get started</Subtle>
<Button <Button
className="gap-2 dark:bg-white dark:text-slate-900 dark:hover:text-slate-100" className="gap-2"
variant="default" variant="default"
onClick={() => setConnectDialogOpen(true)} onClick={() => setConnectDialogOpen(true)}
> >

1
src/pages/Messages.tsx

@ -113,7 +113,6 @@ export const MessagesPage = () => {
value={searchTerm} value={searchTerm}
onChange={(e) => setSearchTerm(e.target.value)} onChange={(e) => setSearchTerm(e.target.value)}
showClearButton={!!searchTerm} showClearButton={!!searchTerm}
className={cn('relative w-full p-2 border border-slate-300 rounded-sm bg-white text-slate-900 dark:bg-slate-700 dark:border-slate-600 dark:text-slate-100 focus:outline-none focus:ring-1 focus:ring-slate-700 focus:dark:ring-slate-100')}
/> />
</label> </label>
<div className={cn( <div className={cn(

Loading…
Cancel
Save