Make big view appear when chat not available
This commit is contained in:
parent
acd56ce656
commit
725566d527
2 changed files with 44 additions and 37 deletions
|
|
@ -105,7 +105,13 @@ export default function IOView({
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<BaseModal
|
<BaseModal
|
||||||
size={haveChat ? (selectedTab === 0 ? "large-thin" : "large") : "small"}
|
size={
|
||||||
|
haveChat || selectedViewField
|
||||||
|
? selectedTab === 0
|
||||||
|
? "large-thin"
|
||||||
|
: "large"
|
||||||
|
: "small"
|
||||||
|
}
|
||||||
open={open}
|
open={open}
|
||||||
setOpen={setOpen}
|
setOpen={setOpen}
|
||||||
disable={disable}
|
disable={disable}
|
||||||
|
|
@ -123,13 +129,13 @@ export default function IOView({
|
||||||
</div>
|
</div>
|
||||||
</BaseModal.Header>
|
</BaseModal.Header>
|
||||||
<BaseModal.Content>
|
<BaseModal.Content>
|
||||||
<div className="flex h-full flex-col">
|
<div className="flex h-full flex-col overflow-hidden">
|
||||||
<div className="flex-max-width mt-2 h-full">
|
<div className="flex-max-width mt-2 h-full">
|
||||||
{selectedTab !== 0 && (
|
{selectedTab !== 0 && (
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
"mr-6 flex h-full w-2/6 flex-shrink-0 flex-col justify-start",
|
"mr-6 flex h-full w-2/6 flex-shrink-0 flex-col justify-start transition-all duration-300",
|
||||||
haveChat ? "w-2/6" : "w-full"
|
haveChat || selectedViewField ? "w-2/6" : "w-full"
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
<Tabs
|
<Tabs
|
||||||
|
|
@ -179,20 +185,18 @@ export default function IOView({
|
||||||
<Badge variant="gray" size="md">
|
<Badge variant="gray" size="md">
|
||||||
{node.data.node.display_name}
|
{node.data.node.display_name}
|
||||||
</Badge>
|
</Badge>
|
||||||
{haveChat && (
|
<div
|
||||||
<div
|
className="-mb-1 pr-4"
|
||||||
className="-mb-1 pr-4"
|
onClick={(event) => {
|
||||||
onClick={(event) => {
|
event.stopPropagation();
|
||||||
event.stopPropagation();
|
setSelectedViewField(input);
|
||||||
setSelectedViewField(input);
|
}}
|
||||||
}}
|
>
|
||||||
>
|
<IconComponent
|
||||||
<IconComponent
|
className="h-4 w-4"
|
||||||
className="h-4 w-4"
|
name="ExternalLink"
|
||||||
name="ExternalLink"
|
></IconComponent>
|
||||||
></IconComponent>
|
</div>
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
key={index}
|
key={index}
|
||||||
|
|
@ -248,20 +252,18 @@ export default function IOView({
|
||||||
</Badge>
|
</Badge>
|
||||||
</div>
|
</div>
|
||||||
</ShadTooltip>
|
</ShadTooltip>
|
||||||
{haveChat && (
|
<div
|
||||||
<div
|
className="-mb-1 pr-4"
|
||||||
className="-mb-1 pr-4"
|
onClick={(event) => {
|
||||||
onClick={(event) => {
|
event.stopPropagation();
|
||||||
event.stopPropagation();
|
setSelectedViewField(output);
|
||||||
setSelectedViewField(output);
|
}}
|
||||||
}}
|
>
|
||||||
>
|
<IconComponent
|
||||||
<IconComponent
|
className="h-4 w-4"
|
||||||
className="h-4 w-4"
|
name="ExternalLink"
|
||||||
name="ExternalLink"
|
></IconComponent>
|
||||||
></IconComponent>
|
</div>
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</div>
|
</div>
|
||||||
}
|
}
|
||||||
key={index}
|
key={index}
|
||||||
|
|
@ -287,12 +289,12 @@ export default function IOView({
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
{haveChat ? (
|
{haveChat || selectedViewField ? (
|
||||||
<div className="flex h-full min-w-96 flex-grow">
|
<div className="flex h-full min-w-96 flex-grow">
|
||||||
{selectedViewField && (
|
{selectedViewField && (
|
||||||
<div
|
<div
|
||||||
className={cn(
|
className={cn(
|
||||||
"flex h-full w-full flex-col items-start gap-4 p-4",
|
"flex h-full w-full flex-col items-start gap-4 pt-4",
|
||||||
!selectedViewField ? "hidden" : ""
|
!selectedViewField ? "hidden" : ""
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
|
|
@ -347,7 +349,7 @@ export default function IOView({
|
||||||
</BaseModal.Content>
|
</BaseModal.Content>
|
||||||
<BaseModal.Footer>
|
<BaseModal.Footer>
|
||||||
{!haveChat && (
|
{!haveChat && (
|
||||||
<div className="flex w-full justify-end pt-6">
|
<div className="flex w-full justify-end pt-2">
|
||||||
<Button
|
<Button
|
||||||
variant={"outline"}
|
variant={"outline"}
|
||||||
className="flex gap-2 px-3"
|
className="flex gap-2 px-3"
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import {
|
||||||
DialogTrigger,
|
DialogTrigger,
|
||||||
} from "../../components/ui/dialog";
|
} from "../../components/ui/dialog";
|
||||||
import { modalHeaderType } from "../../types/components";
|
import { modalHeaderType } from "../../types/components";
|
||||||
|
import { cn } from "../../utils/utils";
|
||||||
|
|
||||||
type ContentProps = { children: ReactNode };
|
type ContentProps = { children: ReactNode };
|
||||||
type HeaderProps = { children: ReactNode; description: string };
|
type HeaderProps = { children: ReactNode; description: string };
|
||||||
|
|
@ -157,11 +158,15 @@ function BaseModal({
|
||||||
return (
|
return (
|
||||||
<Dialog open={open} onOpenChange={setOpen}>
|
<Dialog open={open} onOpenChange={setOpen}>
|
||||||
{triggerChild}
|
{triggerChild}
|
||||||
<DialogContent className={minWidth}>
|
<DialogContent className={cn(minWidth, "duration-300")}>
|
||||||
<div className="truncate-doubleline word-break-break-word">
|
<div className="truncate-doubleline word-break-break-word">
|
||||||
{headerChild}
|
{headerChild}
|
||||||
</div>
|
</div>
|
||||||
<div className={`flex flex-col ${height!} w-full `}>{ContentChild}</div>
|
<div
|
||||||
|
className={`flex flex-col ${height!} w-full transition-all duration-300`}
|
||||||
|
>
|
||||||
|
{ContentChild}
|
||||||
|
</div>
|
||||||
{ContentFooter && (
|
{ContentFooter && (
|
||||||
<div className="flex flex-row-reverse">{ContentFooter}</div>
|
<div className="flex flex-row-reverse">{ContentFooter}</div>
|
||||||
)}
|
)}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue