@@ -21,8 +21,6 @@ import Divider from '@/app/components/base/divider'
21
21
import { getRedirection } from '@/utils/app-redirection'
22
22
import { useProviderContext } from '@/context/provider-context'
23
23
import { NEED_REFRESH_APP_LIST_KEY } from '@/config'
24
- import { AiText , ChatBot , CuteRobot } from '@/app/components/base/icons/src/vender/solid/communication'
25
- import { Route } from '@/app/components/base/icons/src/vender/solid/mapsAndTravel'
26
24
import type { CreateAppModalProps } from '@/app/components/explore/create-app-modal'
27
25
import EditAppModal from '@/app/components/explore/create-app-modal'
28
26
import SwitchAppModal from '@/app/components/app/switch-app-modal'
@@ -32,6 +30,7 @@ import type { EnvironmentVariable } from '@/app/components/workflow/types'
32
30
import DSLExportConfirmModal from '@/app/components/workflow/dsl-export-confirm-modal'
33
31
import { fetchWorkflowDraft } from '@/service/workflow'
34
32
import { fetchInstalledAppList } from '@/service/explore'
33
+ import { AppTypeIcon } from '@/app/components/app/type-selector'
35
34
36
35
export type AppCardProps = {
37
36
app : App
@@ -277,7 +276,7 @@ const AppCard = ({ app, onRefresh }: AppCardProps) => {
277
276
e . preventDefault ( )
278
277
getRedirection ( isCurrentWorkspaceEditor , app , push )
279
278
} }
280
- className = 'relative group col-span-1 bg-white border-2 border-solid border-transparent rounded-xl shadow-sm flex flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg'
279
+ className = 'relative h-[160px] group col-span-1 bg-components-card-bg border-[1px] border-solid border-components-card-border rounded-xl shadow-sm inline- flex flex-col transition-all duration-200 ease-in-out cursor-pointer hover:shadow-lg'
281
280
>
282
281
< div className = 'flex pt-[14px] px-[14px] pb-3 h-[66px] items-center gap-3 grow-0 shrink-0' >
283
282
< div className = 'relative shrink-0' >
@@ -288,38 +287,22 @@ const AppCard = ({ app, onRefresh }: AppCardProps) => {
288
287
background = { app . icon_background }
289
288
imageUrl = { app . icon_url }
290
289
/>
291
- < span className = 'absolute bottom-[-3px] right-[-3px] w-4 h-4 p-0.5 bg-white rounded border-[0.5px] border-[rgba(0,0,0,0.02)] shadow-sm' >
292
- { app . mode === 'advanced-chat' && (
293
- < ChatBot className = 'w-3 h-3 text-[#1570EF]' />
294
- ) }
295
- { app . mode === 'agent-chat' && (
296
- < CuteRobot className = 'w-3 h-3 text-indigo-600' />
297
- ) }
298
- { app . mode === 'chat' && (
299
- < ChatBot className = 'w-3 h-3 text-[#1570EF]' />
300
- ) }
301
- { app . mode === 'completion' && (
302
- < AiText className = 'w-3 h-3 text-[#0E9384]' />
303
- ) }
304
- { app . mode === 'workflow' && (
305
- < Route className = 'w-3 h-3 text-[#f79009]' />
306
- ) }
307
- </ span >
290
+ < AppTypeIcon type = { app . mode } wrapperClassName = 'absolute -bottom-0.5 -right-0.5 w-4 h-4 shadow-sm' className = 'w-3 h-3' />
308
291
</ div >
309
292
< div className = 'grow w-0 py-[1px]' >
310
- < div className = 'flex items-center text-sm leading-5 font-semibold text-gray-800 ' >
293
+ < div className = 'flex items-center text-sm leading-5 font-semibold text-text-secondary ' >
311
294
< div className = 'truncate' title = { app . name } > { app . name } </ div >
312
295
</ div >
313
- < div className = 'flex items-center text-[10px] leading-[18px] text-gray-500 font-medium' >
314
- { app . mode === 'advanced-chat' && < div className = 'truncate' > { t ( 'app.types.chatbot ' ) . toUpperCase ( ) } </ div > }
296
+ < div className = 'flex items-center text-[10px] leading-[18px] text-text-tertiary font-medium' >
297
+ { app . mode === 'advanced-chat' && < div className = 'truncate' > { t ( 'app.types.advanced ' ) . toUpperCase ( ) } </ div > }
315
298
{ app . mode === 'chat' && < div className = 'truncate' > { t ( 'app.types.chatbot' ) . toUpperCase ( ) } </ div > }
316
299
{ app . mode === 'agent-chat' && < div className = 'truncate' > { t ( 'app.types.agent' ) . toUpperCase ( ) } </ div > }
317
300
{ app . mode === 'workflow' && < div className = 'truncate' > { t ( 'app.types.workflow' ) . toUpperCase ( ) } </ div > }
318
301
{ app . mode === 'completion' && < div className = 'truncate' > { t ( 'app.types.completion' ) . toUpperCase ( ) } </ div > }
319
302
</ div >
320
303
</ div >
321
304
</ div >
322
- < div className = 'title-wrapper h-[90px] px-[14px] text-xs leading-normal text-gray-500 ' >
305
+ < div className = 'title-wrapper h-[90px] px-[14px] text-xs leading-normal text-text-tertiary ' >
323
306
< div
324
307
className = { cn ( tags . length ? 'line-clamp-2' : 'line-clamp-4' , 'group-hover:line-clamp-2' ) }
325
308
title = { app . description }
@@ -352,7 +335,7 @@ const AppCard = ({ app, onRefresh }: AppCardProps) => {
352
335
/>
353
336
</ div >
354
337
</ div >
355
- < div className = '!hidden group-hover:!flex shrink-0 mx-1 w-[1px] h-[14px] bg-gray-200 ' />
338
+ < div className = '!hidden group-hover:!flex shrink-0 mx-1 w-[1px] h-[14px]' />
356
339
< div className = '!hidden group-hover:!flex shrink-0' >
357
340
< CustomPopover
358
341
htmlContent = { < Operations /> }
@@ -362,7 +345,7 @@ const AppCard = ({ app, onRefresh }: AppCardProps) => {
362
345
< div
363
346
className = 'flex items-center justify-center w-8 h-8 cursor-pointer rounded-md'
364
347
>
365
- < RiMoreFill className = 'w-4 h-4 text-gray-700 ' />
348
+ < RiMoreFill className = 'w-4 h-4 text-text-tertiary ' />
366
349
</ div >
367
350
}
368
351
btnClassName = { open =>
0 commit comments