We were using the AppState incorrectly in our selectors. We should use `DefaultRootState` from react-redux. /ok-to-test tags="@tag.Sanity" <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Refactor** - Updated state parameter types in numerous selectors and hooks across the application from a custom application state type to a standard Redux root state type, enhancing type consistency and maintainability without impacting functionality or user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> <!-- This is an auto-generated comment: Cypress test results --> > [!TIP] > 🟢 🟢 🟢 All cypress tests have passed! 🎉 🎉 🎉 > Workflow run: <https://github.com/appsmithorg/appsmith/actions/runs/14771101257> > Commit: 48aef24d9a54ee63d06943128f7545ba0d461172 > <a href="https://internal.appsmith.com/app/cypress-dashboard/rundetails-65890b3c81d7400d08fa9ee5?branch=master&workflowId=14771101257&attempt=1" target="_blank">Cypress dashboard</a>. > Tags: `@tag.Sanity` > Spec: > <hr>Thu, 01 May 2025 07:16:33 UTC <!-- end of auto-generated comment: Cypress test results -->
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import type { DefaultRootState } from "react-redux";
|
|
import type { Theme } from "constants/DefaultTheme";
|
|
import { dark, light, theme } from "constants/DefaultTheme";
|
|
|
|
export enum ThemeMode {
|
|
LIGHT = "LIGHT",
|
|
DARK = "DARK",
|
|
}
|
|
|
|
export const lightTheme = { ...theme, colors: { ...theme.colors, ...light } };
|
|
|
|
const darkTheme = { ...theme, colors: { ...theme.colors, ...dark } };
|
|
|
|
// Only for usage with ThemeProvider
|
|
export const getThemeDetails = (
|
|
state: DefaultRootState,
|
|
themeMode: ThemeMode,
|
|
): Theme => (themeMode === ThemeMode.LIGHT ? lightTheme : darkTheme);
|
|
|
|
export const getTheme = (themeMode: ThemeMode) => {
|
|
const colors = themeMode === ThemeMode.LIGHT ? light : dark;
|
|
|
|
return { ...theme, colors: { ...theme.colors, ...colors } };
|
|
};
|
|
|
|
// Use to get the current theme of the app set via the theme switcher
|
|
export const getCurrentThemeDetails = (state: DefaultRootState): Theme =>
|
|
state.ui.theme.theme;
|
|
|
|
// Use to get the current theme mode of the app set via the theme switcher
|
|
export const getCurrentThemeMode = (state: DefaultRootState) =>
|
|
state.ui.theme.mode;
|
|
|
|
export const getAppCardColorPalette = (state: DefaultRootState) => {
|
|
return state.ui.theme.theme.colors.appCardColors;
|
|
};
|