diff --git a/ui/src/App.jsx b/ui/src/App.jsx index b0b1a10..317e1f7 100644 --- a/ui/src/App.jsx +++ b/ui/src/App.jsx @@ -21,6 +21,7 @@ import Navigation from './components/navigation/Navigation.jsx'; import { Layout } from '@douyinfe/semi-ui'; import FredyFooter from './components/footer/FredyFooter.jsx'; import ProcessingTimes from './views/jobs/ProcessingTimes.jsx'; +import ListingManagement from './views/listings/management/ListingManagement.jsx'; export default function FredyApp() { const actions = useActions(); @@ -91,6 +92,7 @@ export default function FredyApp() { } /> } /> } /> + } /> {/* Permission-aware routes */} }, - { itemKey: '/listings', text: 'Found Listings', icon: }, + { itemKey: '/listings', text: 'Listings', icon: }, ]; if (isAdmin) { - items.push({ itemKey: '/users', text: 'User Management', icon: }); - items.push({ itemKey: '/listingSettings', text: 'Listing Management', icon: }); - items.push({ itemKey: '/generalSettings', text: 'General Settings', icon: }); + items.push({ + itemKey: 'settings', + text: 'Settings', + icon: , + items: [ + { itemKey: '/users', text: 'User Management' }, + { itemKey: '/listingManagement', text: 'Listing Management' }, + { itemKey: '/generalSettings', text: 'General Settings' }, + ], + }); } function parsePathName(name) { diff --git a/ui/src/components/table/listings/ListingsTable.jsx b/ui/src/components/table/listings/ListingsTable.jsx index d630fec..f00db25 100644 --- a/ui/src/components/table/listings/ListingsTable.jsx +++ b/ui/src/components/table/listings/ListingsTable.jsx @@ -23,6 +23,7 @@ import './ListingsTable.less'; import { format } from '../../../services/time/timeService.js'; import { IllustrationNoResult, IllustrationNoResultDark } from '@douyinfe/semi-illustrations'; import { xhrDelete, xhrPost } from '../../../services/xhr.js'; +import { useNavigate } from 'react-router-dom'; const getColumns = (provider, setProviderFilter, jobs, setJobNameFilter) => { return [ @@ -100,9 +101,9 @@ const getColumns = (provider, setProviderFilter, jobs, setJobNameFilter) => { }, }, { - title: 'State', + title: 'Active', dataIndex: 'is_active', - width: 105, + width: 110, sorter: true, filters: [ { @@ -236,6 +237,7 @@ export default function ListingsTable() { const tableData = useSelector((state) => state.listingsTable); const provider = useSelector((state) => state.provider); const jobs = useSelector((state) => state.jobs.jobs); + const navigate = useNavigate(); const actions = useActions(); const [page, setPage] = useState(1); @@ -348,6 +350,14 @@ export default function ListingsTable() { placeholder="Search" onChange={handleFilterChange} /> + )} -

- When Fredy found new listings, we like to report them to you. To do so, notification adapter can be configured.{' '} -
- There are multiple ways how Fredy can send new listings to you. Chose your weapon... -

+ {description != null ? ( +

{description}

+ ) : ( +

+ When Fredy found new listings, we like to report them to you. To do so, notification adapter can be + configured.
+ There are multiple ways how Fredy can send new listings to you. Chose your weapon... +

+ )}