Commit a70568d0 authored by Grant's avatar Grant
Browse files

move share modal

parent c7a71ac5
Loading
Loading
Loading
Loading
Loading
+21 −11
Original line number Diff line number Diff line
@@ -13,26 +13,22 @@ import {
  faGear,
  faHammer,
  faDrawPolygon,
  faShare,
} from "@fortawesome/free-solid-svg-icons";
import React, { lazy, useEffect, useRef, useState } from "react";
import { useEffect, useRef, useState } from "react";
import { useHasRole } from "../../hooks/useHasRole";
import { useModerator } from "../../Moderator/Moderator";
import { Button } from "../core/Button";
import { usePanel } from "@/contexts/PanelContext";
import { useCaptureContext } from "@/contexts/CaptureContext";
import { AnimatePresence, motion } from "framer-motion";

const OpenChatButton = lazy(() => import("../Chat/OpenChatButton"));

const DynamicChat = () => {
  const { loadChat } = useAppContext();

  return <React.Suspense>{loadChat && <OpenChatButton />}</React.Suspense>;
};
import { useDialog } from "@/contexts/DialogContext";
import OpenChatButton from "../Chat/OpenChatButton";

export const HeaderRight = () => {
  const { dispatch } = useModerator();
  const Panel = usePanel();
  const Dialog = useDialog();
  const {
    captureCanvas,
    captureView,
@@ -102,7 +98,7 @@ export const HeaderRight = () => {
            onPress={() => setCaptureMenuOpen((open) => !open)}
          >
            <FontAwesomeIcon icon={faCamera} />
            <p>Capture</p>
            <p>Share</p>
            <FontAwesomeIcon
              className={`transition-transform ${captureMenuOpen ? "rotate-180" : ""}`}
              icon={faChevronDown}
@@ -119,6 +115,20 @@ export const HeaderRight = () => {
                role="menu"
                transition={{ duration: 0.14 }}
              >
                <Button
                  className="justify-start"
                  onPress={() => {
                    Dialog.dispatch({
                      action: "OPEN_DIALOG",
                      dialog: { id: "SHARE_MODAL" },
                    });
                  }}
                  role="menuitem"
                  size="sm"
                >
                  <FontAwesomeIcon icon={faShare} />
                  <p>Share Link</p>
                </Button>
                <Button
                  className="justify-start"
                  onPress={handleCaptureCanvas}
@@ -182,7 +192,7 @@ export const HeaderRight = () => {
            <p>Admin</p>
          </Button>
        )}
        <DynamicChat />
        <OpenChatButton />
      </div>
    </div>
  );
+0 −13
Original line number Diff line number Diff line
import { useDialog } from "@/contexts/DialogContext";
import { CanvasCore } from "@/lib/canvas";
import { KeybindManager } from "@/lib/keybinds";
import { Template, type ITemplateState } from "@/lib/template";
import {
  Alert,
@@ -22,18 +21,6 @@ export const ShareModal = () => {
  const template = useTemplateContext();
  const canvas = useRef<CanvasCore>(null);

  useEffect(() => {
    const open = () => {
      Dialog.dispatch({ action: "OPEN_DIALOG", dialog: { id: "SHARE_MODAL" } });
    };

    KeybindManager.on("SNAPSHOT", open);

    return () => {
      KeybindManager.off("SNAPSHOT", open);
    };
  }, []);

  useEffect(() => {
    canvas.current = CanvasCore.get(false);
  }, [Dialog.state.dialogs]);