From a314b35d590fbab54ddfcd5d4c4a646b44f388ee Mon Sep 17 00:00:00 2001 From: FromTheLOLAshes Date: Thu, 4 Apr 2024 10:45:58 +0200 Subject: [PATCH] Add toast --- app/pages/PageEnigma/PageEnigma.tsx | 15 +++++++++++---- app/pages/PageEnigma/store/cameraGroup.ts | 9 ++++++++- app/pages/PageEnigma/store/objectGroup.ts | 10 +--------- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/app/pages/PageEnigma/PageEnigma.tsx b/app/pages/PageEnigma/PageEnigma.tsx index 4481f413b3..ac686b480f 100644 --- a/app/pages/PageEnigma/PageEnigma.tsx +++ b/app/pages/PageEnigma/PageEnigma.tsx @@ -5,7 +5,10 @@ import { EngineProvider } from "~/pages/PageEnigma/contexts/EngineProvider"; import { DragComponent } from "~/pages/PageEnigma/comps/DragComponent/DragComponent"; import { toast, ToastBar, Toaster } from "react-hot-toast"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { faTriangleExclamation } from "@fortawesome/pro-solid-svg-icons"; +import { + faTriangleExclamation, + faXmark, +} from "@fortawesome/pro-solid-svg-icons"; export const PageEnigma = () => { return ( @@ -13,7 +16,7 @@ export const PageEnigma = () => { { }, duration: 99999, }} + containerStyle={{ + top: 84, + right: 20, + }} > {(thisToast) => ( @@ -29,7 +36,7 @@ export const PageEnigma = () => {
{thisToast.type === "error" && ( -
+
{ onClick={() => toast.dismiss(thisToast.id)} className="text-sm font-bold text-white opacity-50" > - X +
); diff --git a/app/pages/PageEnigma/store/cameraGroup.ts b/app/pages/PageEnigma/store/cameraGroup.ts index 093e751eb2..71ca0b9e2f 100644 --- a/app/pages/PageEnigma/store/cameraGroup.ts +++ b/app/pages/PageEnigma/store/cameraGroup.ts @@ -8,13 +8,19 @@ import { QueueNames } from "~/pages/PageEnigma/Queue/QueueNames"; import { toEngineActions } from "~/pages/PageEnigma/Queue/toEngineActions"; import * as uuid from "uuid"; import { signal } from "@preact/signals-core"; +import { toast } from "react-hot-toast"; export const cameraGroup = signal({ id: "CG1", keyframes: [] }); export function updateCamera({ id, offset }: { id: string; offset: number }) { const oldCameraGroup = cameraGroup.value; - if (oldCameraGroup.keyframes.some((row) => row.offset === offset)) { + const existingKeyframe = oldCameraGroup.keyframes.some((row) => { + return row.offset === offset && row.keyframe_uuid !== id; + }); + + if (existingKeyframe) { + toast.error("There can only be one keyframe at this offset."); return; } @@ -40,6 +46,7 @@ export function updateCamera({ id, offset }: { id: string; offset: number }) { export function addCameraKeyframe(keyframe: QueueKeyframe, offset: number) { const oldCameraGroup = cameraGroup.value; if (oldCameraGroup.keyframes.some((row) => row.offset === offset)) { + toast.error("There can only be one keyframe at this offset."); return; } const newKeyframe = { diff --git a/app/pages/PageEnigma/store/objectGroup.ts b/app/pages/PageEnigma/store/objectGroup.ts index f4fbe66274..c1361fe499 100644 --- a/app/pages/PageEnigma/store/objectGroup.ts +++ b/app/pages/PageEnigma/store/objectGroup.ts @@ -32,19 +32,11 @@ export function updateObject({ } const existingKeyframe = obj.keyframes.some((row) => { - console.log( - "upd", - row.keyframe_uuid, - row.offset, - offset, - id, - row.offset === offset && row.keyframe_uuid !== id, - ); return row.offset === offset && row.keyframe_uuid !== id; }); if (existingKeyframe) { - toast("There can only be one keyframe at an offset."); + toast.error("There can only be one keyframe at this offset."); return; }