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

Commitbddab45

Browse files
committed
Apply PR review
1 parent1fa4f23 commitbddab45

File tree

1 file changed

+13
-21
lines changed

1 file changed

+13
-21
lines changed

‎site/src/modules/dashboard/Navbar/NavbarView.tsx‎

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import type { ProxyContextValue } from "contexts/ProxyContext";
1414
import{useWebpushNotifications}from"contexts/useWebpushNotifications";
1515
import{useEmbeddedMetadata}from"hooks/useEmbeddedMetadata";
1616
import{NotificationsInbox}from"modules/notifications/NotificationsInbox/NotificationsInbox";
17-
importtype{Task}from"modules/tasks/tasks";
1817
import{data}from"pages/TasksPage/TasksPage";
1918
importtype{FC}from"react";
2019
import{useQuery}from"react-query";
@@ -161,15 +160,15 @@ const NavItems: FC<NavItemsProps> = ({ className, user }) => {
161160
if(location.pathname.startsWith("/@")){
162161
isActive=true;
163162
}
164-
returncn(linkStyles.default,isActive ?linkStyles.active :"");
163+
returncn(linkStyles.default,{[linkStyles.active]:isActive});
165164
}}
166165
to="/workspaces"
167166
>
168167
Workspaces
169168
</NavLink>
170169
<NavLink
171170
className={({ isActive})=>{
172-
returncn(linkStyles.default,isActive ?linkStyles.active :"");
171+
returncn(linkStyles.default,{[linkStyles.active]:isActive});
173172
}}
174173
to="/templates"
175174
>
@@ -198,58 +197,51 @@ const TasksNavItem: FC<TasksNavItemProps> = ({ user }) => {
198197
avatarUrl:user.avatar_url,
199198
},
200199
};
201-
const{data:idleTasks}=useQuery({
200+
const{data:idleCount}=useQuery({
202201
queryKey:["tasks",filter],
203202
queryFn:()=>data.fetchTasks(filter),
204203
refetchInterval:1_000*60,
205204
enabled:canSeeTasks,
206205
refetchOnWindowFocus:true,
206+
initialData:[],
207207
select:(data)=>
208-
data.filter((task)=>task.workspace.latest_app_status?.state==="idle"),
208+
data.filter((task)=>task.workspace.latest_app_status?.state==="idle")
209+
.length,
209210
});
210211

211212
if(!canSeeTasks){
212213
returnnull;
213214
}
214215

215-
constsearch=
216-
idleTasks&&idleTasks.length>0
217-
?newURLSearchParams({
218-
username:user.username,
219-
tab:"waiting-for-input",
220-
}).toString()
221-
:undefined;
222-
223216
return(
224217
<NavLink
225-
to={{pathname:"/tasks", search}}
218+
to="/tasks"
226219
className={({ isActive})=>{
227-
returncn(linkStyles.default,isActive ?linkStyles.active :"");
220+
returncn(linkStyles.default,{[linkStyles.active]:isActive});
228221
}}
229222
>
230223
Tasks
231-
{idleTasks&&idleTasks.length>0&&(
224+
{idleCount>0&&(
232225
<TooltipProvider>
233226
<Tooltip>
234227
<TooltipTriggerasChild>
235228
<Badge
236229
variant="info"
237230
size="xs"
238231
className="ml-2"
239-
aria-label={idleTasksLabel(idleTasks)}
232+
aria-label={idleTasksLabel(idleCount)}
240233
>
241-
{idleTasks.length}
234+
{idleCount}
242235
</Badge>
243236
</TooltipTrigger>
244-
<TooltipContent>{idleTasksLabel(idleTasks)}</TooltipContent>
237+
<TooltipContent>{idleTasksLabel(idleCount)}</TooltipContent>
245238
</Tooltip>
246239
</TooltipProvider>
247240
)}
248241
</NavLink>
249242
);
250243
};
251244

252-
functionidleTasksLabel(idleTasks:Task[]){
253-
constcount=idleTasks.length;
245+
functionidleTasksLabel(count:number){
254246
return`You have${count}${count===1 ?"task" :"tasks"} waiting for input`;
255247
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp