diff --git a/paperless-frontend/src/layouts/AppLayout.tsx b/paperless-frontend/src/layouts/AppLayout.tsx
index 5693bb6..e90e9a9 100644
--- a/paperless-frontend/src/layouts/AppLayout.tsx
+++ b/paperless-frontend/src/layouts/AppLayout.tsx
@@ -12,6 +12,7 @@ import {
SunOutlined,
MoonOutlined,
AppstoreOutlined,
+ GlobalOutlined,
} from '@ant-design/icons';
import { useAuth } from '../auth/AuthContext';
import { useTheme } from '../theme/ThemeContext';
@@ -27,6 +28,7 @@ type MenuItemDef = {
label: string;
permission?: Permission;
countKey?: keyof StatsCounts;
+ externalUrl?: string;
};
const allMenuItems: MenuItemDef[] = [
@@ -35,6 +37,7 @@ const allMenuItems: MenuItemDef[] = [
{ key: '/posteingang', icon: , label: 'Posteingang', permission: Permission.VIEW_INBOX, countKey: 'posteingang' },
{ key: '/manuell', icon: , label: 'Manuell bearbeiten', permission: Permission.PROCESS_MANUALLY, countKey: 'manuell' },
{ key: '/mailpostfach', icon: , label: 'Mailpostfach', permission: Permission.VIEW_MAIL, countKey: 'mailpostfach' },
+ { key: 'agrarmonitor', icon: , label: 'In Agrarmonitor', permission: Permission.PROCESS_MANUALLY, countKey: 'agrarmonitor', externalUrl: 'https://admin7.agrarmonitor.de/dateien/eingang#dateien' },
{ key: '/settings', icon: , label: 'Einstellungen', permission: Permission.MANAGE_SETTINGS },
];
@@ -148,7 +151,14 @@ export default function AppLayout() {
mode="inline"
selectedKeys={[selectedKey]}
items={menuItems}
- onClick={({ key }) => navigate(key)}
+ onClick={({ key }) => {
+ const item = allMenuItems.find((i) => i.key === key);
+ if (item?.externalUrl) {
+ window.open(item.externalUrl, '_blank', 'noopener,noreferrer');
+ } else {
+ navigate(key);
+ }
+ }}
style={isDark ? { flex: 1 } : { background: 'transparent', flex: 1 }}
/>
diff --git a/paperless-frontend/src/pages/MailpostfachPage.tsx b/paperless-frontend/src/pages/MailpostfachPage.tsx
index 306bff0..d6ac553 100644
--- a/paperless-frontend/src/pages/MailpostfachPage.tsx
+++ b/paperless-frontend/src/pages/MailpostfachPage.tsx
@@ -19,7 +19,8 @@ export default function MailpostfachPage() {
const [searchText, setSearchText] = useState(() => sessionStorage.getItem('mailSearch') || '');
const [statusFilter, setStatusFilter] = useState(() => {
const saved = sessionStorage.getItem('mailStatus');
- return saved !== null && saved !== 'all' ? Number(saved) : 'all';
+ if (saved === null) return 0;
+ return saved === 'all' ? 'all' : Number(saved);
});
const { hasPermission } = useAuth();