From 6ec259a0e71174651bae95d4628138bf6fd68742 Mon Sep 17 00:00:00 2001 From: kj_sh604 Date: Sun, 15 Mar 2026 16:19:35 -0400 Subject: refactor: packages/ --- packages/excalidraw/components/footer/Footer.tsx | 95 ++++++++++++++++++++++ .../excalidraw/components/footer/FooterCenter.scss | 11 +++ .../excalidraw/components/footer/FooterCenter.tsx | 24 ++++++ 3 files changed, 130 insertions(+) create mode 100644 packages/excalidraw/components/footer/Footer.tsx create mode 100644 packages/excalidraw/components/footer/FooterCenter.scss create mode 100644 packages/excalidraw/components/footer/FooterCenter.tsx (limited to 'packages/excalidraw/components/footer') diff --git a/packages/excalidraw/components/footer/Footer.tsx b/packages/excalidraw/components/footer/Footer.tsx new file mode 100644 index 0000000..ccbe9ea --- /dev/null +++ b/packages/excalidraw/components/footer/Footer.tsx @@ -0,0 +1,95 @@ +import clsx from "clsx"; +import { actionShortcuts } from "../../actions"; +import type { ActionManager } from "../../actions/manager"; +import { + ExitZenModeAction, + FinalizeAction, + UndoRedoActions, + ZoomActions, +} from "../Actions"; +import { useDevice } from "../App"; +import { useTunnels } from "../../context/tunnels"; +import { HelpButton } from "../HelpButton"; +import { Section } from "../Section"; +import Stack from "../Stack"; +import type { UIAppState } from "../../types"; + +const Footer = ({ + appState, + actionManager, + showExitZenModeBtn, + renderWelcomeScreen, +}: { + appState: UIAppState; + actionManager: ActionManager; + showExitZenModeBtn: boolean; + renderWelcomeScreen: boolean; +}) => { + const { FooterCenterTunnel, WelcomeScreenHelpHintTunnel } = useTunnels(); + + const device = useDevice(); + const showFinalize = + !appState.viewModeEnabled && appState.multiElement && device.isTouchScreen; + + return ( + + ); +}; + +export default Footer; +Footer.displayName = "Footer"; diff --git a/packages/excalidraw/components/footer/FooterCenter.scss b/packages/excalidraw/components/footer/FooterCenter.scss new file mode 100644 index 0000000..ce65659 --- /dev/null +++ b/packages/excalidraw/components/footer/FooterCenter.scss @@ -0,0 +1,11 @@ +.footer-center { + pointer-events: none; + & > * { + pointer-events: var(--ui-pointerEvents); + } + + display: flex; + width: 100%; + justify-content: flex-start; + margin-inline-end: 0.6rem; +} diff --git a/packages/excalidraw/components/footer/FooterCenter.tsx b/packages/excalidraw/components/footer/FooterCenter.tsx new file mode 100644 index 0000000..55a0fb9 --- /dev/null +++ b/packages/excalidraw/components/footer/FooterCenter.tsx @@ -0,0 +1,24 @@ +import clsx from "clsx"; +import { useTunnels } from "../../context/tunnels"; +import "./FooterCenter.scss"; +import { useUIAppState } from "../../context/ui-appState"; + +const FooterCenter = ({ children }: { children?: React.ReactNode }) => { + const { FooterCenterTunnel } = useTunnels(); + const appState = useUIAppState(); + return ( + +
+ {children} +
+
+ ); +}; + +export default FooterCenter; +FooterCenter.displayName = "FooterCenter"; -- cgit v1.2.3