12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { useTranslation } from 'react-i18next'
- import useSWR from 'swr'
- import {
- RiAddLine,
- } from '@remixicon/react'
- import Item from './item'
- import Empty from './empty'
- import { useModalContext } from '@/context/modal-context'
- import { fetchApiBasedExtensionList } from '@/service/common'
- const ApiBasedExtensionPage = () => {
- const { t } = useTranslation()
- const { setShowApiBasedExtensionModal } = useModalContext()
- const { data, mutate, isLoading } = useSWR(
- '/api-based-extension',
- fetchApiBasedExtensionList,
- )
- const handleOpenApiBasedExtensionModal = () => {
- setShowApiBasedExtensionModal({
- payload: {},
- onSaveCallback: () => mutate(),
- })
- }
- return (
- <div>
- {
- !isLoading && !data?.length && (
- <Empty />
- )
- }
- {
- !isLoading && !!data?.length && (
- data.map(item => (
- <Item
- key={item.id}
- data={item}
- onUpdate={() => mutate()}
- />
- ))
- )
- }
- <div
- className='flex items-center justify-center px-3 h-8 text-[13px] font-medium text-gray-700 rounded-lg bg-gray-50 cursor-pointer'
- onClick={handleOpenApiBasedExtensionModal}
- >
- <RiAddLine className='mr-2 w-4 h-4' />
- {t('common.apiBasedExtension.add')}
- </div>
- </div>
- )
- }
- export default ApiBasedExtensionPage
|