You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bazarr/frontend/src/@redux/actions/site.ts

66 lines
1.7 KiB

import { createAction } from "redux-actions";
import { BadgesApi } from "../../apis";
import {
SITE_AUTH_SUCCESS,
SITE_BADGE_UPDATE,
SITE_INITIALIZED,
SITE_INITIALIZE_FAILED,
SITE_NEED_AUTH,
SITE_NOTIFICATIONS_ADD,
SITE_NOTIFICATIONS_REMOVE,
SITE_NOTIFICATIONS_REMOVE_BY_TIMESTAMP,
SITE_OFFLINE_UPDATE,
SITE_SAVE_LOCALSTORAGE,
SITE_SIDEBAR_UPDATE,
} from "../constants";
import { createAsyncAction, createCallbackAction } from "./factory";
import { systemUpdateLanguagesAll, systemUpdateSettings } from "./system";
export const bootstrap = createCallbackAction(
() => [systemUpdateLanguagesAll(), systemUpdateSettings()],
() => siteInitialized(),
() => siteInitializeFailed()
);
const siteInitializeFailed = createAction(SITE_INITIALIZE_FAILED);
const siteInitialized = createAction(SITE_INITIALIZED);
export const siteRedirectToAuth = createAction(SITE_NEED_AUTH);
export const siteAuthSuccess = createAction(SITE_AUTH_SUCCESS);
export const badgeUpdateAll = createAsyncAction(SITE_BADGE_UPDATE, () =>
BadgesApi.all()
);
export const siteSaveLocalstorage = createAction(
SITE_SAVE_LOCALSTORAGE,
(settings: LooseObject) => settings
);
export const siteAddError = createAction(
SITE_NOTIFICATIONS_ADD,
(err: ReduxStore.Notification) => err
);
export const siteRemoveError = createAction(
SITE_NOTIFICATIONS_REMOVE,
(id: string) => id
);
export const siteRemoveErrorByTimestamp = createAction(
SITE_NOTIFICATIONS_REMOVE_BY_TIMESTAMP,
(date: Date) => date
);
export const siteChangeSidebar = createAction(
SITE_SIDEBAR_UPDATE,
(id: string) => id
);
export const siteUpdateOffline = createAction(
SITE_OFFLINE_UPDATE,
(state: boolean) => state
);