Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit3d41d7f

Browse files
BrunoQuaresmacode-asher
authored andcommitted
Add base for iframe controls
1 parent9cbe02e commit3d41d7f

File tree

1 file changed

+64
-22
lines changed

1 file changed

+64
-22
lines changed

‎site/src/pages/TaskPage/TaskApps.tsx

Lines changed: 64 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,16 @@ import {
77
DropdownMenuTrigger,
88
}from"components/DropdownMenu/DropdownMenu";
99
import{ExternalImage}from"components/ExternalImage/ExternalImage";
10-
import{ChevronDownIcon,LayoutGridIcon}from"lucide-react";
10+
import{
11+
ArrowLeftIcon,
12+
ArrowRightIcon,
13+
ChevronDownIcon,
14+
EllipsisVertical,
15+
HouseIcon,
16+
LayoutGridIcon,
17+
RefreshCwIcon,
18+
RotateCwIcon,
19+
}from"lucide-react";
1120
import{useAppLink}from"modules/apps/useAppLink";
1221
importtype{Task}from"modules/tasks/tasks";
1322
importtypeReactfrom"react";
@@ -16,6 +25,7 @@ import { Link as RouterLink } from "react-router-dom";
1625
import{cn}from"utils/cn";
1726
import{TaskAppIFrame}from"./TaskAppIframe";
1827
import{AI_APP_CHAT_SLUG}from"./constants";
28+
import{Input}from"components/Input/Input";
1929

2030
typeTaskAppsProps={
2131
task:Task;
@@ -57,19 +67,21 @@ export const TaskApps: FC<TaskAppsProps> = ({ task }) => {
5767

5868
return(
5969
<mainclassName="flex-1 flex flex-col">
60-
<divclassName="border-0 border-b border-border border-solid w-full p-1 flex gap-2">
61-
{embeddedApps.map((app)=>(
62-
<TaskAppButton
63-
key={app.id}
64-
task={task}
65-
app={app}
66-
active={app.id===activeAppId}
67-
onClick={(e)=>{
68-
e.preventDefault();
69-
setActiveAppId(app.id);
70-
}}
71-
/>
72-
))}
70+
<divclassName="w-full flex items-center border-0 border-b border-border border-solid">
71+
<divclassName=" p-2 pb-0 flex gap-2 items-center">
72+
{embeddedApps.map((app)=>(
73+
<TaskAppTab
74+
key={app.id}
75+
task={task}
76+
app={app}
77+
active={app.id===activeAppId}
78+
onClick={(e)=>{
79+
e.preventDefault();
80+
setActiveAppId(app.id);
81+
}}
82+
/>
83+
))}
84+
</div>
7385

7486
{externalApps.length>0&&(
7587
<divclassName="ml-auto">
@@ -106,6 +118,37 @@ export const TaskApps: FC<TaskAppsProps> = ({ task }) => {
106118
)}
107119
</div>
108120

121+
<divclassName="bg-surface-tertiary p-2 py-1 flex items-center gap-1">
122+
<divclassName="flex items-center">
123+
<Buttonsize="icon"variant="subtle">
124+
<ArrowLeftIcon/>
125+
<spanclassName="sr-only">Back</span>
126+
</Button>
127+
128+
<Buttonsize="icon"variant="subtle">
129+
<ArrowRightIcon/>
130+
<spanclassName="sr-only">Forward</span>
131+
</Button>
132+
133+
<Buttonsize="icon"variant="subtle">
134+
<RotateCwIcon/>
135+
<spanclassName="sr-only">Refresh</span>
136+
</Button>
137+
138+
<Buttonsize="icon"variant="subtle">
139+
<HouseIcon/>
140+
<spanclassName="sr-only">Home</span>
141+
</Button>
142+
</div>
143+
144+
<InputclassName="w-full rounded-full bg-surface-secondary h-9 md:text-xs"/>
145+
146+
<Buttonsize="icon"variant="subtle">
147+
<EllipsisVertical/>
148+
<spanclassName="sr-only">More options</span>
149+
</Button>
150+
</div>
151+
109152
<divclassName="flex-1">
110153
{embeddedApps.map((app)=>{
111154
return(
@@ -122,19 +165,14 @@ export const TaskApps: FC<TaskAppsProps> = ({ task }) => {
122165
);
123166
};
124167

125-
typeTaskAppButtonProps={
168+
typeTaskAppTabProps={
126169
task:Task;
127170
app:WorkspaceApp;
128171
active:boolean;
129172
onClick:(e:React.MouseEvent<HTMLAnchorElement>)=>void;
130173
};
131174

132-
constTaskAppButton:FC<TaskAppButtonProps>=({
133-
task,
134-
app,
135-
active,
136-
onClick,
137-
})=>{
175+
constTaskAppTab:FC<TaskAppTabProps>=({ task, app, active, onClick})=>{
138176
constagent=task.workspace.latest_build.resources
139177
.flatMap((r)=>r.agents)
140178
.filter((a)=>!!a)
@@ -156,7 +194,11 @@ const TaskAppButton: FC<TaskAppButtonProps> = ({
156194
key={app.id}
157195
asChild
158196
className={cn([
159-
{"text-content-primary":active},
197+
"px-3",
198+
{
199+
"text-content-primary bg-surface-tertiary rounded-sm rounded-b-none":
200+
active,
201+
},
160202
{"opacity-75 hover:opacity-100":!active},
161203
])}
162204
>

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp