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}
/>
+ {
+ navigate('/listingManagement');
+ }}
+ >
+ Setup notification on listing changes
+
)}
-
- 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...
+
+ )}
-
-
- );
+ return ;
}