rag / frontend /src /hooks /useTextSize.js
gaojintao01
Add files using Git LFS
f8b5d42
import { useState, useEffect } from "react";
export default function useTextSize() {
const [textSize, setTextSize] = useState("normal");
const [textSizeClass, setTextSizeClass] = useState("text-[14px]");
const getTextSizeClass = (size) => {
switch (size) {
case "small":
return "text-[12px]";
case "large":
return "text-[18px]";
default:
return "text-[14px]";
}
};
useEffect(() => {
const storedTextSize = window.localStorage.getItem("anythingllm_text_size");
if (storedTextSize) {
setTextSize(storedTextSize);
setTextSizeClass(getTextSizeClass(storedTextSize));
}
const handleTextSizeChange = (event) => {
const size = event.detail;
setTextSize(size);
setTextSizeClass(getTextSizeClass(size));
};
window.addEventListener("textSizeChange", handleTextSizeChange);
return () => {
window.removeEventListener("textSizeChange", handleTextSizeChange);
};
}, []);
return { textSize, textSizeClass };
}