Structure de données jeu client
This commit is contained in:
107
client/utils/features/train/trainSlice.ts
Normal file
107
client/utils/features/train/trainSlice.ts
Normal file
@ -0,0 +1,107 @@
|
||||
import { createSlice } from '@reduxjs/toolkit'
|
||||
|
||||
export interface InterrailLeg {
|
||||
infoJson?: string
|
||||
info?: InterrailLegInfo
|
||||
sortOrder: number
|
||||
}
|
||||
|
||||
export interface InterrailTravel {
|
||||
date: string
|
||||
infoJson?: string
|
||||
info?: InterrailTravelInfo
|
||||
from: string
|
||||
to: string
|
||||
type: number
|
||||
legs: InterrailLeg[]
|
||||
}
|
||||
|
||||
export interface InterrailJourneyData {
|
||||
travels: InterrailTravel[]
|
||||
}
|
||||
|
||||
export interface InterrailJourney {
|
||||
data: InterrailJourneyData
|
||||
}
|
||||
|
||||
export interface InterrailTime {
|
||||
hours: number
|
||||
minutes: number
|
||||
offset: number
|
||||
}
|
||||
|
||||
export interface InterrailDate {
|
||||
day: number
|
||||
month: number
|
||||
year: number
|
||||
}
|
||||
|
||||
export interface InterrailTravelInfo {
|
||||
arrivalTime: InterrailTime
|
||||
date: InterrailDate
|
||||
departureTime: InterrailTime
|
||||
haconVersion: number
|
||||
dataSource: number
|
||||
}
|
||||
|
||||
export interface InterrailStopExtraInfo {
|
||||
departureTime: InterrailTime
|
||||
index: number
|
||||
}
|
||||
|
||||
export interface InterrailStopCoordinates {
|
||||
latitude: number
|
||||
longitude: number
|
||||
}
|
||||
|
||||
export interface InterrailStopStation {
|
||||
coordinates: InterrailStopCoordinates
|
||||
country: string
|
||||
name: string
|
||||
stationId: number
|
||||
}
|
||||
|
||||
export interface InterrailLegInfo {
|
||||
attributeCodes: string[]
|
||||
attributes: object
|
||||
duration: InterrailTime
|
||||
directionStation: string
|
||||
endTime: InterrailTime
|
||||
isSeparateTicket: boolean
|
||||
operationDays: string
|
||||
operator: object
|
||||
dataSource: number
|
||||
startTime: InterrailTime
|
||||
stopExtraInfo: InterrailStopExtraInfo[]
|
||||
trainName: string
|
||||
trainStopStations: InterrailStopStation[]
|
||||
trainType: number
|
||||
}
|
||||
|
||||
export interface TrainTrip {
|
||||
id: string
|
||||
distance: number,
|
||||
from: string,
|
||||
to: string,
|
||||
departureTime: Date,
|
||||
arrivalTime: Date,
|
||||
}
|
||||
|
||||
export interface TrainsState {
|
||||
trains: TrainTrip[]
|
||||
}
|
||||
|
||||
const initialState: TrainsState = {
|
||||
trains: []
|
||||
}
|
||||
|
||||
export const trainSlice = createSlice({
|
||||
name: 'train',
|
||||
initialState: initialState,
|
||||
reducers: {
|
||||
},
|
||||
})
|
||||
|
||||
export const { } = trainSlice.actions
|
||||
|
||||
export default trainSlice.reducer
|
Reference in New Issue
Block a user