| @@ -3,6 +3,7 @@ import type { FC } from 'react' | |||
| import React, { useEffect, useState } from 'react' | |||
| import { useTranslation } from 'react-i18next' | |||
| import { Pagination } from 'react-headless-pagination' | |||
| import { useDebounce } from 'ahooks' | |||
| import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' | |||
| import Toast from '../../base/toast' | |||
| import Filter from './filter' | |||
| @@ -67,10 +68,11 @@ const Annotation: FC<Props> = ({ | |||
| const [queryParams, setQueryParams] = useState<QueryParam>({}) | |||
| const [currPage, setCurrPage] = React.useState<number>(0) | |||
| const debouncedQueryParams = useDebounce(queryParams, { wait: 500 }) | |||
| const query = { | |||
| page: currPage + 1, | |||
| limit: APP_PAGE_LIMIT, | |||
| keyword: queryParams.keyword || '', | |||
| keyword: debouncedQueryParams.keyword || '', | |||
| } | |||
| const [controlUpdateList, setControlUpdateList] = useState(Date.now()) | |||
| @@ -232,8 +234,8 @@ const Annotation: FC<Props> = ({ | |||
| middlePagesSiblingCount={1} | |||
| setCurrentPage={setCurrPage} | |||
| totalPages={Math.ceil(total / APP_PAGE_LIMIT)} | |||
| truncatableClassName="w-8 px-0.5 text-center" | |||
| truncatableText="..." | |||
| truncableClassName="w-8 px-0.5 text-center" | |||
| truncableText="..." | |||
| > | |||
| <Pagination.PrevButton | |||
| disabled={currPage === 0} | |||
| @@ -4,6 +4,7 @@ import React, { useState } from 'react' | |||
| import useSWR from 'swr' | |||
| import { usePathname } from 'next/navigation' | |||
| import { Pagination } from 'react-headless-pagination' | |||
| import { useDebounce } from 'ahooks' | |||
| import { omit } from 'lodash-es' | |||
| import dayjs from 'dayjs' | |||
| import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' | |||
| @@ -59,6 +60,7 @@ const Logs: FC<ILogsProps> = ({ appDetail }) => { | |||
| sort_by: '-created_at', | |||
| }) | |||
| const [currPage, setCurrPage] = React.useState<number>(0) | |||
| const debouncedQueryParams = useDebounce(queryParams, { wait: 500 }) | |||
| // Get the app type first | |||
| const isChatMode = appDetail.mode !== 'completion' | |||
| @@ -66,14 +68,14 @@ const Logs: FC<ILogsProps> = ({ appDetail }) => { | |||
| const query = { | |||
| page: currPage + 1, | |||
| limit: APP_PAGE_LIMIT, | |||
| ...(queryParams.period !== 'all' | |||
| ...(debouncedQueryParams.period !== 'all' | |||
| ? { | |||
| start: dayjs().subtract(queryParams.period as number, 'day').startOf('day').format('YYYY-MM-DD HH:mm'), | |||
| start: dayjs().subtract(debouncedQueryParams.period as number, 'day').startOf('day').format('YYYY-MM-DD HH:mm'), | |||
| end: dayjs().endOf('day').format('YYYY-MM-DD HH:mm'), | |||
| } | |||
| : {}), | |||
| ...(isChatMode ? { sort_by: queryParams.sort_by } : {}), | |||
| ...omit(queryParams, ['period']), | |||
| ...(isChatMode ? { sort_by: debouncedQueryParams.sort_by } : {}), | |||
| ...omit(debouncedQueryParams, ['period']), | |||
| } | |||
| const getWebAppType = (appType: AppMode) => { | |||
| @@ -119,8 +121,8 @@ const Logs: FC<ILogsProps> = ({ appDetail }) => { | |||
| middlePagesSiblingCount={1} | |||
| setCurrentPage={setCurrPage} | |||
| totalPages={Math.ceil(total / APP_PAGE_LIMIT)} | |||
| truncatableClassName="w-8 px-0.5 text-center" | |||
| truncatableText="..." | |||
| truncableClassName="w-8 px-0.5 text-center" | |||
| truncableText="..." | |||
| > | |||
| <Pagination.PrevButton | |||
| disabled={currPage === 0} | |||
| @@ -4,6 +4,7 @@ import React, { useState } from 'react' | |||
| import useSWR from 'swr' | |||
| import { usePathname } from 'next/navigation' | |||
| import { Pagination } from 'react-headless-pagination' | |||
| import { useDebounce } from 'ahooks' | |||
| import { ArrowLeftIcon, ArrowRightIcon } from '@heroicons/react/24/outline' | |||
| import { Trans, useTranslation } from 'react-i18next' | |||
| import Link from 'next/link' | |||
| @@ -51,12 +52,13 @@ const Logs: FC<ILogsProps> = ({ appDetail }) => { | |||
| const { t } = useTranslation() | |||
| const [queryParams, setQueryParams] = useState<QueryParam>({ status: 'all' }) | |||
| const [currPage, setCurrPage] = React.useState<number>(0) | |||
| const debouncedQueryParams = useDebounce(queryParams, { wait: 500 }) | |||
| const query = { | |||
| page: currPage + 1, | |||
| limit: APP_PAGE_LIMIT, | |||
| ...(queryParams.status !== 'all' ? { status: queryParams.status } : {}), | |||
| ...(queryParams.keyword ? { keyword: queryParams.keyword } : {}), | |||
| ...(debouncedQueryParams.status !== 'all' ? { status: debouncedQueryParams.status } : {}), | |||
| ...(debouncedQueryParams.keyword ? { keyword: debouncedQueryParams.keyword } : {}), | |||
| } | |||
| const getWebAppType = (appType: AppMode) => { | |||
| @@ -93,8 +95,8 @@ const Logs: FC<ILogsProps> = ({ appDetail }) => { | |||
| middlePagesSiblingCount={1} | |||
| setCurrentPage={setCurrPage} | |||
| totalPages={Math.ceil(total / APP_PAGE_LIMIT)} | |||
| truncatableClassName="w-8 px-0.5 text-center" | |||
| truncatableText="..." | |||
| truncableClassName="w-8 px-0.5 text-center" | |||
| truncableText="..." | |||
| > | |||
| <Pagination.PrevButton | |||
| disabled={currPage === 0} | |||