dify/web/app/components/header/account-setting/api-based-extension-page/empty.tsx
Jingyi cb64446fa3
feat(web): add step-by-step tour shell (#38785)
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-07-20 09:23:25 +00:00

37 lines
1.4 KiB
TypeScript

import { useTranslation } from 'react-i18next'
import { STEP_BY_STEP_TOUR_TARGETS } from '@/app/components/step-by-step-tour/target-registry'
import { useDocLink } from '@/context/i18n'
export function Empty() {
const { t } = useTranslation()
const docLink = useDocLink()
return (
<div
className="mb-2 flex flex-col items-start gap-3 rounded-xl bg-background-section p-6"
data-step-by-step-tour-target={STEP_BY_STEP_TOUR_TARGETS.integrationCustomEndpointEmpty}
>
<div className="flex size-10 items-center justify-center rounded-[10px] border-[0.5px] border-components-card-border bg-components-card-bg-alt shadow-lg backdrop-blur-xs">
<span
aria-hidden
className="i-custom-vender-workflow-api-aggregate size-5 text-text-tertiary"
/>
</div>
<div className="flex w-full flex-col gap-1">
<div className="system-xs-regular text-text-primary">
{t(($) => $['apiBasedExtension.title'], { ns: 'common' })}
</div>
<a
className="flex items-center gap-1 system-xs-regular text-text-accent"
href={docLink('/use-dify/workspace/api-extension/api-extension')}
target="_blank"
rel="noopener noreferrer"
>
{t(($) => $['apiBasedExtension.link'], { ns: 'common' })}
<span aria-hidden className="i-ri-external-link-line size-3" />
</a>
</div>
</div>
)
}