61 lines
1.5 KiB
TypeScript
61 lines
1.5 KiB
TypeScript
import { BotState } from "../devices/interfaces";
|
|
import { TaggedUser, TaggedLog, TaggedDevice } from "farmbot";
|
|
import { GetWebAppConfigValue } from "../config_storage/actions";
|
|
import { TimeSettings } from "../interfaces";
|
|
import { PingDictionary } from "../devices/connectivity/qos";
|
|
|
|
export interface SyncButtonProps {
|
|
dispatch: Function;
|
|
bot: BotState;
|
|
consistent: boolean;
|
|
onClick?: () => void;
|
|
autoSync: boolean;
|
|
}
|
|
|
|
export interface NavBarProps {
|
|
consistent: boolean;
|
|
logs: TaggedLog[];
|
|
bot: BotState;
|
|
user: TaggedUser | undefined;
|
|
dispatch: Function;
|
|
timeSettings: TimeSettings;
|
|
getConfigValue: GetWebAppConfigValue;
|
|
tour: string | undefined;
|
|
device: TaggedDevice;
|
|
autoSync: boolean;
|
|
alertCount: number;
|
|
pings: PingDictionary;
|
|
}
|
|
|
|
export interface NavBarState {
|
|
mobileMenuOpen: boolean;
|
|
tickerListOpen: boolean;
|
|
accountMenuOpen: boolean;
|
|
}
|
|
|
|
type ToggleEventHandler = (e: React.MouseEvent<HTMLElement>) => void;
|
|
|
|
export interface MobileMenuProps {
|
|
close: (property: keyof NavBarState) => ToggleEventHandler;
|
|
mobileMenuOpen: boolean;
|
|
alertCount: number;
|
|
}
|
|
|
|
export interface TickerListProps {
|
|
toggle: (property: keyof NavBarState) => ToggleEventHandler;
|
|
logs: TaggedLog[]
|
|
tickerListOpen: boolean;
|
|
timeSettings: TimeSettings;
|
|
getConfigValue: GetWebAppConfigValue;
|
|
}
|
|
|
|
export interface NavLinksProps {
|
|
close: (property: keyof NavBarState) => ToggleEventHandler;
|
|
alertCount: number;
|
|
}
|
|
|
|
export interface AccountMenuProps {
|
|
close: (property: keyof NavBarState) => ToggleEventHandler;
|
|
logout: () => void;
|
|
}
|