- Brand-enforced export pipeline (PPTX/PDF with auto brand fonts/colors/logo) - Client library dashboard with two-level navigation (client grid → detail tabs) - Data retention service with ARQ cron jobs (daily cleanup + weekly purge) - Brand-adaptive UI theme via CSS custom properties (dynamic per client) - Analytics dashboard with overview, usage, quality, and performance metrics Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
1,003 B
TypeScript
27 lines
1,003 B
TypeScript
import { configureStore } from "@reduxjs/toolkit";
|
|
|
|
import presentationGenerationReducer from "./slices/presentationGeneration";
|
|
import pptGenUploadReducer from "./slices/presentationGenUpload";
|
|
import userConfigReducer from "./slices/userConfig";
|
|
import undoRedoReducer from "./slices/undoRedoSlice";
|
|
import authReducer from "./slices/authSlice";
|
|
import adminReducer from "./slices/adminSlice";
|
|
import wizardReducer from "./slices/wizardSlice";
|
|
import clientReducer from "./slices/clientSlice";
|
|
|
|
export const store = configureStore({
|
|
reducer: {
|
|
presentationGeneration: presentationGenerationReducer,
|
|
pptGenUpload: pptGenUploadReducer,
|
|
userConfig: userConfigReducer,
|
|
undoRedo: undoRedoReducer,
|
|
auth: authReducer,
|
|
admin: adminReducer,
|
|
wizard: wizardReducer,
|
|
client: clientReducer,
|
|
},
|
|
});
|
|
|
|
// Infer the `RootState` and `AppDispatch` types from the store itself
|
|
export type RootState = ReturnType<typeof store.getState>;
|
|
export type AppDispatch = typeof store.dispatch;
|