drawDB/src/components/FloatingControls.jsx

59 lines
1.6 KiB
React
Raw Normal View History

2024-03-11 07:50:34 +08:00
import { Divider, Tooltip } from "@douyinfe/semi-ui";
2024-04-05 10:12:50 +08:00
import { useTransform, useLayout } from "../hooks";
2024-03-11 08:45:44 +08:00
import { exitFullscreen } from "../utils/fullscreen";
import { useTranslation } from "react-i18next";
2024-03-11 07:50:34 +08:00
2024-04-02 00:44:50 +08:00
export default function FloatingControls() {
2024-03-11 07:50:34 +08:00
const { transform, setTransform } = useTransform();
const { setLayout } = useLayout();
const { t } = useTranslation();
2024-03-11 07:50:34 +08:00
return (
<div className="flex gap-2">
<div className="popover-theme flex rounded-lg items-center">
<button
className="px-3 py-2"
onClick={() =>
setTransform((prev) => ({
...prev,
zoom: prev.zoom / 1.2,
}))
}
>
2024-03-16 08:23:10 +08:00
<i className="bi bi-dash-lg" />
2024-03-11 07:50:34 +08:00
</button>
<Divider align="center" layout="vertical" />
<div className="px-3 py-2">{parseInt(transform.zoom * 100)}%</div>
<Divider align="center" layout="vertical" />
<button
className="px-3 py-2"
onClick={() =>
setTransform((prev) => ({
...prev,
zoom: prev.zoom * 1.2,
}))
}
>
2024-03-16 08:23:10 +08:00
<i className="bi bi-plus-lg" />
2024-03-11 07:50:34 +08:00
</button>
</div>
<Tooltip content={t("exit")}>
2024-03-11 07:50:34 +08:00
<button
className="px-3 py-2 rounded-lg popover-theme"
onClick={() => {
setLayout((prev) => ({
...prev,
sidebar: true,
toolbar: true,
header: true,
}));
exitFullscreen();
}}
>
2024-03-16 08:23:10 +08:00
<i className="bi bi-fullscreen-exit" />
2024-03-11 07:50:34 +08:00
</button>
</Tooltip>
</div>
);
}