diff --git a/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx b/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx index 77fba1c3..83b8840d 100644 --- a/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx +++ b/src-ui/windows/config_window/setting_section/setting_box/Appearance/Appearance.jsx @@ -6,6 +6,7 @@ export const Appearance = () => { const { DropdownMenuContainer, SliderContainer, + CheckboxContainer, } = useSettingBox(); const selectFunction = (selected_data) => { @@ -25,6 +26,7 @@ export const Appearance = () => { + ); }; \ No newline at end of file diff --git a/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx b/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx index 77fba1c3..83b8840d 100644 --- a/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx +++ b/src-ui/windows/config_window/setting_section/setting_box/appearance/Appearance.jsx @@ -6,6 +6,7 @@ export const Appearance = () => { const { DropdownMenuContainer, SliderContainer, + CheckboxContainer, } = useSettingBox(); const selectFunction = (selected_data) => { @@ -25,6 +26,7 @@ export const Appearance = () => { + ); }; \ No newline at end of file diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/checkbox/Checkbox.jsx b/src-ui/windows/config_window/setting_section/setting_box/components/checkbox/Checkbox.jsx new file mode 100644 index 00000000..8a518eb6 --- /dev/null +++ b/src-ui/windows/config_window/setting_section/setting_box/components/checkbox/Checkbox.jsx @@ -0,0 +1,28 @@ +import React, { useState } from 'react'; +import styles from "./Checkbox.module.scss"; + +export const Checkbox = (props) => { + const [isChecked, setIsChecked] = useState(false); + + const handleCheckboxChange = () => { + setIsChecked(!isChecked); + }; + + return ( +
+ +
+ ); +}; diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/checkbox/Checkbox.module.scss b/src-ui/windows/config_window/setting_section/setting_box/components/checkbox/Checkbox.module.scss new file mode 100644 index 00000000..4dc0ba83 --- /dev/null +++ b/src-ui/windows/config_window/setting_section/setting_box/components/checkbox/Checkbox.module.scss @@ -0,0 +1,53 @@ +.checkbox_container { + width: 100%; + height: 100%; + display: flex; + justify-content: end; + align-items: center; +} + +.checkbox_wrapper { + display: inline-block; + cursor: pointer; + padding: 2rem; + &:hover { + & .cbx { + border: var(--primary_600_color) solid 0.2rem; + } + } +} + +.checkbox_wrapper .cbx { + display: block; + width: 2.8rem; + height: 2.8rem; + border-radius: 0.4rem; + border: var(--dark_700_color) solid 0.2rem; + transition: all 0.15s ease; + padding: 0.4rem; +} + +.checkbox_wrapper .cbx svg { + fill: none; + stroke-linecap: round; + stroke-linejoin: round; + stroke: var(--dark_basic_text_color); + stroke-width: 0.2rem; + stroke-dasharray: 1.7rem; + stroke-dashoffset: 1.7rem; +} + +.checkbox_wrapper input[type="checkbox"] { + display: none; + visibility: hidden; +} + +.checkbox_wrapper input[type="checkbox"]:checked + .cbx { + background-color: var(--primary_600_color); + border: none; +} + +.checkbox_wrapper input[type="checkbox"]:checked + .cbx svg { + stroke-dashoffset: 0; + transition: all 0.15s ease; +} diff --git a/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx b/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx index 0acb6f16..73432ee7 100644 --- a/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx +++ b/src-ui/windows/config_window/setting_section/setting_box/components/useSettingBox.jsx @@ -2,6 +2,7 @@ import styles from "./useSettingBox.module.scss"; import { LabelComponent } from "./label_component/LabelComponent"; import { DropdownMenu } from "./dropdown_menu/DropdownMenu"; import { Slider } from "./slider/Slider"; +import { Checkbox } from "./checkbox/Checkbox"; import { useIsOpenedDropdownMenu } from "@store"; export const useSettingBox = () => { @@ -29,8 +30,18 @@ export const useSettingBox = () => { ); }; + const CheckboxContainer = (props) => { + return ( +
+ + +
+ ); + }; + return { DropdownMenuContainer, SliderContainer, + CheckboxContainer, }; }; \ No newline at end of file