[Update/Refactor] UI: Slider component. Adjust color and code.
This commit is contained in:
@@ -16,6 +16,8 @@
|
|||||||
--primary_800_color: #2c6759;
|
--primary_800_color: #2c6759;
|
||||||
--primary_900_color: #214b3f;
|
--primary_900_color: #214b3f;
|
||||||
|
|
||||||
|
--primary_600_color_44: #36877744;
|
||||||
|
|
||||||
--sent_400_color: #6197b4;
|
--sent_400_color: #6197b4;
|
||||||
--received_300_color: #a861b4;
|
--received_300_color: #a861b4;
|
||||||
|
|
||||||
|
|||||||
@@ -1,22 +1,9 @@
|
|||||||
import React, { useState, useEffect } from "react";
|
import React from "react";
|
||||||
import styles from "./Slider.module.scss";
|
import styles from "./Slider.module.scss";
|
||||||
import MUI_Slider from "@mui/material/Slider";
|
import MUI_Slider from "@mui/material/Slider";
|
||||||
import { clsx } from "clsx";
|
import { clsx } from "clsx";
|
||||||
|
|
||||||
export const Slider = (props) => {
|
export const Slider = (props) => {
|
||||||
const [baseColor, setBaseColor] = useState("");
|
|
||||||
const [activeColor, setActiveColor] = useState("");
|
|
||||||
const [toolTipColor, setToolTipColor] = useState("");
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
const baseColor = getComputedStyle(document.documentElement).getPropertyValue("--dark_700_color");
|
|
||||||
setBaseColor(baseColor.trim());
|
|
||||||
const activeColor = getComputedStyle(document.documentElement).getPropertyValue("--primary_600_color");
|
|
||||||
setActiveColor(activeColor.trim());
|
|
||||||
const toolTipColor = getComputedStyle(document.documentElement).getPropertyValue("--dark_800_color");
|
|
||||||
setToolTipColor(toolTipColor.trim());
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className={clsx(styles.container, props.className)}>
|
<div className={clsx(styles.container, props.className)}>
|
||||||
<MUI_Slider
|
<MUI_Slider
|
||||||
@@ -34,15 +21,15 @@ export const Slider = (props) => {
|
|||||||
orientation={props.orientation}
|
orientation={props.orientation}
|
||||||
valueLabelFormat={`${props.valueLabelFormat ? props.valueLabelFormat : props.variable}`}
|
valueLabelFormat={`${props.valueLabelFormat ? props.valueLabelFormat : props.variable}`}
|
||||||
sx={{
|
sx={{
|
||||||
color: baseColor,
|
color: "var(--dark_700_color)",
|
||||||
"& .MuiSlider-thumb": {
|
"& .MuiSlider-thumb": {
|
||||||
backgroundColor: activeColor,
|
backgroundColor: "var(--primary_600_color)",
|
||||||
"&:hover, &.Mui-focusVisible, &.Mui-active": {
|
"&:hover, &.Mui-focusVisible, &.Mui-active": {
|
||||||
boxShadow: `0 0 0 0.8rem ${activeColor}44`,
|
boxShadow: `0 0 0 0.8rem var(--primary_600_color_44)`,
|
||||||
},
|
},
|
||||||
"& .MuiSlider-valueLabel": {
|
"& .MuiSlider-valueLabel": {
|
||||||
fontSize: "1.4rem",
|
fontSize: "1.4rem",
|
||||||
backgroundColor: toolTipColor,
|
backgroundColor: "var(--dark_800_color)",
|
||||||
padding: "0.6rem 1rem",
|
padding: "0.6rem 1rem",
|
||||||
lineHeight: "1.15",
|
lineHeight: "1.15",
|
||||||
// top: "-1.4rem",
|
// top: "-1.4rem",
|
||||||
@@ -56,11 +43,11 @@ export const Slider = (props) => {
|
|||||||
},
|
},
|
||||||
"& .MuiSlider-markLabel": {
|
"& .MuiSlider-markLabel": {
|
||||||
fontSize: "1.4rem",
|
fontSize: "1.4rem",
|
||||||
color: "white",
|
color: "var(--dark_550_color)",
|
||||||
whiteSpace: "nowrap",
|
whiteSpace: "nowrap",
|
||||||
},
|
},
|
||||||
"& .MuiSlider-markLabelActive": {
|
"& .MuiSlider-markLabelActive": {
|
||||||
color: activeColor,
|
color: "var(--primary_300_color)",
|
||||||
},
|
},
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|||||||
@@ -1,30 +1,12 @@
|
|||||||
.container {
|
.container {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
align-items: center; // 中央に揃え
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// padding-left: 4rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.range_slider {
|
.range_slider {
|
||||||
// スライダーの幅を調整(必要に応じて調整)
|
height: 200px;
|
||||||
height: 200px; // 縦スライダーの高さ
|
padding: 10px 0;
|
||||||
padding: 10px 0; // スライダーの上下のパディング
|
}
|
||||||
|
|
||||||
& .MuiSlider-thumb {
|
|
||||||
// スライダーのつまみのサイズを調整
|
|
||||||
height: 24px;
|
|
||||||
width: 24px;
|
|
||||||
margin-top: -12px; // つまみが中心に来るように調整
|
|
||||||
}
|
|
||||||
|
|
||||||
& .MuiSlider-track {
|
|
||||||
height: 2px; // トラックの高さを調整
|
|
||||||
}
|
|
||||||
|
|
||||||
& .MuiSlider-vertical {
|
|
||||||
// 縦スライダー用のスタイル
|
|
||||||
height: 100%; // コンテナの高さにフィット
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user