mirror of
https://github.com/Spythere/station-manager-2.0.git
synced 2026-05-03 05:28:13 +00:00
115 lines
2.3 KiB
TypeScript
115 lines
2.3 KiB
TypeScript
import { AuthState, IUser } from './auth.types';
|
|
|
|
export interface ISceneriesStore {
|
|
dataState: string;
|
|
authState: AuthState;
|
|
|
|
stationList: SceneryRowItem[];
|
|
backupList: SceneryRowItem[];
|
|
stationsToRemove: string[];
|
|
searchedSceneryName: string;
|
|
changeList: ChangeItem[];
|
|
newStationsCount: number;
|
|
routesModalVisible: boolean;
|
|
currentStation: SceneryRowItem | null;
|
|
selectedStationName: string;
|
|
// token: string | null;
|
|
user: IUser | null;
|
|
notifyDiscord: boolean;
|
|
alertMessage: string;
|
|
confirmMessage: string;
|
|
|
|
maxVisibleResults: number;
|
|
|
|
changesResponse: string[];
|
|
}
|
|
|
|
export type Availability = 'default' | 'unavailable' | 'nonPublic' | 'abandoned' | 'nonDefault';
|
|
export type ChangeProp =
|
|
| 'name'
|
|
| 'hash'
|
|
| 'url'
|
|
| 'lines'
|
|
| 'project'
|
|
| 'projectUrl'
|
|
| 'reqLevel'
|
|
| 'signalType'
|
|
| 'controlType'
|
|
| 'SUP'
|
|
| 'ASDEK'
|
|
| 'routesInfo'
|
|
| 'checkpoints'
|
|
| 'authors'
|
|
| 'availability'
|
|
| 'hidden';
|
|
|
|
export enum HeaderTypes {
|
|
name = 'Nazwa',
|
|
abbr = 'Skrót posterunku',
|
|
url = 'URL',
|
|
hash = 'Hash',
|
|
lines = 'Linie',
|
|
project = 'Projekt',
|
|
projectUrl = 'URL projektu',
|
|
reqLevel = 'Wym. poziom',
|
|
signalType = 'Sygnalizacja',
|
|
controlType = 'Sterowanie',
|
|
SUP = 'SUP',
|
|
ASDEK = 'ASDEK',
|
|
authors = 'Autorzy',
|
|
routesInfo = 'Szlaki',
|
|
checkpoints = 'Posterunki',
|
|
availability = 'Dostępność',
|
|
hidden = 'Ukryty',
|
|
toRemove = 'Usuń',
|
|
}
|
|
|
|
export enum AvailabilityTypes {
|
|
'default' = 'w paczce',
|
|
'nonDefault' = 'poza paczką',
|
|
'nonPublic' = 'niepubliczna',
|
|
'abandoned' = 'wycofana',
|
|
'unavailable' = 'niedostępna',
|
|
}
|
|
|
|
export interface SceneryRoutesInfo {
|
|
routeName: string;
|
|
isElectric: boolean;
|
|
isRouteSBL: boolean;
|
|
isInternal: boolean;
|
|
routeSpeed: number;
|
|
routeLength: number;
|
|
routeTracks: number;
|
|
hidden?: boolean;
|
|
}
|
|
|
|
export interface SceneryRowItem {
|
|
id: string | number;
|
|
hash: string;
|
|
name: string;
|
|
abbr: string;
|
|
url: string;
|
|
lines: string;
|
|
project: string | null;
|
|
projectUrl: string | null;
|
|
reqLevel: number;
|
|
signalType: string;
|
|
controlType: string;
|
|
SUP: boolean;
|
|
ASDEK: boolean;
|
|
hidden: boolean;
|
|
routesInfo: SceneryRoutesInfo[];
|
|
checkpoints: string;
|
|
authors: string;
|
|
availability: Availability;
|
|
}
|
|
|
|
export type ChangeItem = {
|
|
[key in ChangeProp]?: any;
|
|
} & {
|
|
id: string | number;
|
|
name: string;
|
|
|
|
toRemove?: boolean;
|
|
};
|