You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.7 KiB
TypeScript
59 lines
1.7 KiB
TypeScript
// Copyright (C) 2020 Intel Corporation
|
|
//
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
import getCore from 'cvat-core-wrapper';
|
|
import { CanvasVersion } from 'cvat-canvas-wrapper';
|
|
import { BoundariesActions, BoundariesActionTypes } from 'actions/boundaries-actions';
|
|
import { AboutActions, AboutActionTypes } from 'actions/about-actions';
|
|
import { AuthActions, AuthActionTypes } from 'actions/auth-actions';
|
|
import { AboutState } from './interfaces';
|
|
import pjson from '../../package.json';
|
|
|
|
const defaultState: AboutState = {
|
|
server: {},
|
|
packageVersion: {
|
|
core: getCore().client.version,
|
|
canvas: CanvasVersion,
|
|
ui: pjson.version,
|
|
},
|
|
fetching: false,
|
|
initialized: false,
|
|
};
|
|
|
|
export default function (
|
|
state: AboutState = defaultState,
|
|
action: AboutActions | AuthActions | BoundariesActions,
|
|
): AboutState {
|
|
switch (action.type) {
|
|
case AboutActionTypes.GET_ABOUT: {
|
|
return {
|
|
...state,
|
|
fetching: true,
|
|
initialized: false,
|
|
};
|
|
}
|
|
case AboutActionTypes.GET_ABOUT_SUCCESS:
|
|
return {
|
|
...state,
|
|
fetching: false,
|
|
initialized: true,
|
|
server: action.payload.server,
|
|
};
|
|
case AboutActionTypes.GET_ABOUT_FAILED:
|
|
return {
|
|
...state,
|
|
fetching: false,
|
|
initialized: true,
|
|
};
|
|
case AuthActionTypes.LOGOUT_SUCCESS:
|
|
case BoundariesActionTypes.RESET_AFTER_ERROR: {
|
|
return {
|
|
...defaultState,
|
|
};
|
|
}
|
|
default:
|
|
return state;
|
|
}
|
|
}
|