mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-09 11:36:38 +08:00
hide collapse button, and enable animation of sidebar collapsing in mobile screen
This commit is contained in:
parent
37c62e1b7e
commit
63544300f5
@ -48,6 +48,7 @@
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
box-shadow: inset -2px 0px 2px 0px rgb(0, 0, 0, 0.05);
|
||||
transition: width ease 0.1s;
|
||||
}
|
||||
.sidebar {
|
||||
top: 0;
|
||||
@ -108,16 +109,26 @@
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
@keyframes slideRight {
|
||||
from {
|
||||
left: -100%;
|
||||
}
|
||||
to {
|
||||
left: 0%;
|
||||
}
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
position: absolute;
|
||||
//left: -100%;
|
||||
z-index: 1000;
|
||||
height: var(--full-height);
|
||||
transition: all ease 0.3s;
|
||||
transition: all ease 0.1s;
|
||||
box-shadow: none;
|
||||
animation: slideRight 0.1s forwards;
|
||||
}
|
||||
.sidebar-collapse {
|
||||
display: none;
|
||||
animation: slideRight 0.1s backwards;
|
||||
//display: none;
|
||||
}
|
||||
|
||||
.window-content-collapse {
|
||||
|
@ -158,6 +158,38 @@ function _Home() {
|
||||
|
||||
useSwitchTheme();
|
||||
|
||||
// the two useEffects are for enable animation of the sidebar collapse in mobile screen
|
||||
const [width, setWidth] = useState(window.innerWidth);
|
||||
|
||||
useEffect(() => {
|
||||
const handleResize = () => {
|
||||
setWidth(window.innerWidth);
|
||||
};
|
||||
|
||||
window.addEventListener("resize", handleResize);
|
||||
|
||||
return () => {
|
||||
window.removeEventListener("resize", handleResize);
|
||||
};
|
||||
}, []);
|
||||
|
||||
const [sidebarStyle, setSidebarStyles] = useState({});
|
||||
useEffect(() => {
|
||||
if (sidebarCollapse && isMobileScreen()) {
|
||||
setTimeout(() => {
|
||||
setSidebarStyles({
|
||||
display: "none",
|
||||
});
|
||||
}, 100);
|
||||
} else {
|
||||
setTimeout(() => {
|
||||
setSidebarStyles({
|
||||
display: "flex",
|
||||
});
|
||||
}, 100);
|
||||
}
|
||||
}, [sidebarCollapse, width]);
|
||||
|
||||
if (loading) {
|
||||
return <Loading />;
|
||||
}
|
||||
@ -171,6 +203,7 @@ function _Home() {
|
||||
}`}
|
||||
>
|
||||
<div
|
||||
style={{ ...sidebarStyle }}
|
||||
className={
|
||||
sidebarCollapse ? styles["sidebar-collapse"] : styles["sidebar"]
|
||||
}
|
||||
@ -248,21 +281,23 @@ function _Home() {
|
||||
<div className={styles["sidebar-tail"]}>
|
||||
<div className={styles["sidebar-actions"]}>
|
||||
<div className={styles["sidebar-action"]}>
|
||||
{sidebarCollapse ? (
|
||||
<IconButton
|
||||
icon={<RightIcon />}
|
||||
onClick={() => {
|
||||
setSideBarCollapse(false);
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
<IconButton
|
||||
icon={<LeftIcon />}
|
||||
onClick={() => {
|
||||
setSideBarCollapse(true);
|
||||
}}
|
||||
/>
|
||||
)}
|
||||
{!isMobileScreen() ? (
|
||||
sidebarCollapse ? (
|
||||
<IconButton
|
||||
icon={<RightIcon />}
|
||||
onClick={() => {
|
||||
setSideBarCollapse(false);
|
||||
}}
|
||||
/>
|
||||
) : (
|
||||
<IconButton
|
||||
icon={<LeftIcon />}
|
||||
onClick={() => {
|
||||
setSideBarCollapse(true);
|
||||
}}
|
||||
/>
|
||||
)
|
||||
) : null}
|
||||
</div>
|
||||
<div className={styles["sidebar-action"]}>
|
||||
<IconButton
|
||||
|
Loading…
Reference in New Issue
Block a user