ppt-tool/frontend/store/store.ts
Vadym Samoilenko c97841f6d1 Phase 6: Export & Polish — brand export, client dashboard, retention, analytics
- 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>
2026-02-26 16:41:58 +00:00

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;