Sha256: 1db89ede6c07be7f90524c80670f0bb74f097edbbe4fa343af5fb09717fd237a

Contents?: true

Size: 848 Bytes

Versions: 1

Compression:

Stored size: 848 Bytes

Contents

import * as Pages from "./Pages";
import * as Template from "./Template";
import { Locale } from "../types";

export type Action =
  | { type: "setPage"; payload: Pages.SerializedResource }
  | { type: "setDatesEnabled"; payload: boolean }
  | { type: "setLocale"; payload: string }
  | { type: "update"; payload: Partial<Pages.Resource> }
  | { type: "updateBlocks"; payload: Partial<Pages.Blocks> };

export type State<T = Pages.Resource> = {
  locale: string;
  locales: { [index: string]: Locale };
  page: T;
  templates: Template.Config[];
  datesEnabled?: boolean;
  inputDir?: "ltr" | "rtl";
  templateConfig?: Template.Config;
};

export type Tab = {
  id: string;
  name: string;
  enabled: boolean;
};

export type Return = [State, React.Dispatch<Action>];

export type Context = {
  state: State;
  dispatch: React.Dispatch<Action>;
};

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pages_core-3.15.5 app/javascript/types/PageEditor.ts