fix(ui): update dialogs-modals story improvements

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
DottaandPaperclip committed 2026-04-20 11:01:03 -05:00
1 parent bbe1993dee
commit d06cfd3004
1 file changed
+13 -6
@@ -16,6 +16,7 @@ import { NewGoalDialog } from "@/components/NewGoalDialog";
import { NewIssueDialog } from "@/components/NewIssueDialog";
import { NewProjectDialog } from "@/components/NewProjectDialog";
import { PathInstructionsModal } from "@/components/PathInstructionsModal";
import { useCompany } from "@/context/CompanyContext";
import { useDialog } from "@/context/DialogContext";
import { queryKeys } from "@/lib/queryKeys";
import {
@@ -467,13 +468,19 @@ function clickButtonByText(text: string) {
button?.click();
}
function useOpenOnMount(open: () => void) {
function useOpenWhenCompanyReady(open: () => void) {
const { selectedCompanyId, setSelectedCompanyId } = useCompany();
const didOpenRef = useRef(false);
useLayoutEffect(() => {
if (selectedCompanyId !== COMPANY_ID) {
setSelectedCompanyId(COMPANY_ID);
return;
}
if (didOpenRef.current) return;
didOpenRef.current = true;
open();
}, [open]);
}, [open, selectedCompanyId, setSelectedCompanyId]);
}
function IssueDialogOpener({
@@ -484,7 +491,7 @@ function IssueDialogOpener({
const { openNewIssue } = useDialog();
useIssueCreateErrorMock(variant === "validation");
useOpenOnMount(() => {
useOpenWhenCompanyReady(() => {
openNewIssue(
variant === "empty"
? {}
@@ -521,7 +528,7 @@ function IssueDialogOpener({
function AgentDialogOpener({ advanced }: { advanced?: boolean }) {
const { openNewAgent } = useDialog();
useOpenOnMount(() => {
useOpenWhenCompanyReady(() => {
openNewAgent();
});
@@ -539,7 +546,7 @@ function AgentDialogOpener({ advanced }: { advanced?: boolean }) {
function GoalDialogOpener({ populated }: { populated?: boolean }) {
const { openNewGoal } = useDialog();
useOpenOnMount(() => {
useOpenWhenCompanyReady(() => {
openNewGoal(populated ? { parentId: "goal-company" } : {});
});
@@ -557,7 +564,7 @@ function GoalDialogOpener({ populated }: { populated?: boolean }) {
function ProjectDialogOpener({ populated }: { populated?: boolean }) {
const { openNewProject } = useDialog();
useOpenOnMount(() => {
useOpenWhenCompanyReady(() => {
openNewProject();
});