2020-09-22 11:56:11 +00:00
|
|
|
import React, { useState } from "react";
|
|
|
|
|
import { useDispatch, useSelector } from "react-redux";
|
2020-09-16 11:50:47 +00:00
|
|
|
import { setThemeMode } from "actions/themeActions";
|
2023-01-23 03:50:47 +00:00
|
|
|
import { MenuItem, RectangularSwitcher } from "design-system-old";
|
2021-02-11 12:54:00 +00:00
|
|
|
import { getCurrentThemeMode, ThemeMode } from "selectors/themeSelectors";
|
2020-09-16 11:50:47 +00:00
|
|
|
|
|
|
|
|
export default function ThemeSwitcher(props: { className?: string }) {
|
|
|
|
|
const dispatch = useDispatch();
|
2021-02-11 12:54:00 +00:00
|
|
|
const themeMode = useSelector(getCurrentThemeMode);
|
|
|
|
|
const [switchedOn, setSwitchOn] = useState(themeMode === ThemeMode.DARK);
|
2020-09-22 11:56:11 +00:00
|
|
|
|
2020-09-16 11:50:47 +00:00
|
|
|
return (
|
2020-09-22 11:56:11 +00:00
|
|
|
<MenuItem
|
|
|
|
|
label={
|
feat: import changes batch 2 (#15722)
* Remove treedropdown from ads
* Change Treedropdown imports
* Remove Notification Banner, change imports
* Remove Toggle from ads
* Change toggle imports
* explicitly declare function argument types
* Remove Menu from ads
* Change menu imports
* Remove Spinner from ads
* Change spinner imports
* Remove Radio, import changes
* test: updated flaky test under default meta (#15707)
* updated flaky test
* Updated tests
* updated tests
* updated the tests
* updated tests
* Update constants.ts
* add more typecasting
* Remove ListSegmentHeader, import changes
* Remove TagInputComponent, import changes
* Remove Switch, import changes
* Remove SearchInput, change imports
* Rename TagInputComponent to TagInput
* Remove ProgressiveImage, import changes
* import changes for SearchVariant
* Remove menu divider, import changes
* Remove TableDropdown, import changes
* Remove Switcher
* Remove StatusBar, import changes
* Remove showcase carousel
* Remove RectangularSwitcher, import change
* Add types to TableDropdown's args
* Remove MultiSwitch, import change
* Remove GifPlayerComponent, import change
* Remove DraggableList, import change
* Remove DisplayImageUpload, import change
* Remove DatePickerComponent, import change
* Remove CopyToClipBoard, import change
* Remove ColorSelector, import change
* Remove TabItemBackgroundFill, NumberedStep, ColorPickerComponent
* GifPlayerComponent -> GifPlayer
* change named import
* Remove FormFieldError, change imports
* Update to new version of Tree Dropdown
* Fix issue with ads/index.ts
* Test file fix
* Fix issue with merge?!?!??
* update design system to 1.0.18
* Bump ds version
* bump ds version
* bump ds version
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: Albin <albin@appsmith.com>
2022-09-02 08:38:17 +00:00
|
|
|
<RectangularSwitcher
|
2020-09-22 11:56:11 +00:00
|
|
|
className={props.className}
|
feat: import changes batch 2 (#15722)
* Remove treedropdown from ads
* Change Treedropdown imports
* Remove Notification Banner, change imports
* Remove Toggle from ads
* Change toggle imports
* explicitly declare function argument types
* Remove Menu from ads
* Change menu imports
* Remove Spinner from ads
* Change spinner imports
* Remove Radio, import changes
* test: updated flaky test under default meta (#15707)
* updated flaky test
* Updated tests
* updated tests
* updated the tests
* updated tests
* Update constants.ts
* add more typecasting
* Remove ListSegmentHeader, import changes
* Remove TagInputComponent, import changes
* Remove Switch, import changes
* Remove SearchInput, change imports
* Rename TagInputComponent to TagInput
* Remove ProgressiveImage, import changes
* import changes for SearchVariant
* Remove menu divider, import changes
* Remove TableDropdown, import changes
* Remove Switcher
* Remove StatusBar, import changes
* Remove showcase carousel
* Remove RectangularSwitcher, import change
* Add types to TableDropdown's args
* Remove MultiSwitch, import change
* Remove GifPlayerComponent, import change
* Remove DraggableList, import change
* Remove DisplayImageUpload, import change
* Remove DatePickerComponent, import change
* Remove CopyToClipBoard, import change
* Remove ColorSelector, import change
* Remove TabItemBackgroundFill, NumberedStep, ColorPickerComponent
* GifPlayerComponent -> GifPlayer
* change named import
* Remove FormFieldError, change imports
* Update to new version of Tree Dropdown
* Fix issue with ads/index.ts
* Test file fix
* Fix issue with merge?!?!??
* update design system to 1.0.18
* Bump ds version
* bump ds version
* bump ds version
Co-authored-by: NandanAnantharamu <67676905+NandanAnantharamu@users.noreply.github.com>
Co-authored-by: Albin <albin@appsmith.com>
2022-09-02 08:38:17 +00:00
|
|
|
onSwitch={(value: boolean) => {
|
2020-09-22 11:56:11 +00:00
|
|
|
setSwitchOn(value);
|
|
|
|
|
dispatch(setThemeMode(value ? ThemeMode.DARK : ThemeMode.LIGHT));
|
|
|
|
|
}}
|
2021-04-28 10:28:39 +00:00
|
|
|
value={switchedOn}
|
2021-02-11 12:54:00 +00:00
|
|
|
/>
|
2020-09-22 11:56:11 +00:00
|
|
|
}
|
2021-04-28 10:28:39 +00:00
|
|
|
text="Theme"
|
2020-09-22 11:56:11 +00:00
|
|
|
/>
|
2020-09-16 11:50:47 +00:00
|
|
|
);
|
|
|
|
|
}
|