fix(teamsbot): use React Router navigation for session links instead of href (preserves context)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
8669a5916f
commit
356acb1ca2
1 changed files with 5 additions and 3 deletions
|
|
@ -1,4 +1,5 @@
|
||||||
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
||||||
|
import { useNavigate } from 'react-router-dom';
|
||||||
import { useCurrentInstance } from '../../../hooks/useCurrentInstance';
|
import { useCurrentInstance } from '../../../hooks/useCurrentInstance';
|
||||||
import * as teamsbotApi from '../../../api/teamsbotApi';
|
import * as teamsbotApi from '../../../api/teamsbotApi';
|
||||||
import type { TeamsbotSession, StartSessionRequest } from '../../../api/teamsbotApi';
|
import type { TeamsbotSession, StartSessionRequest } from '../../../api/teamsbotApi';
|
||||||
|
|
@ -9,8 +10,9 @@ import styles from './Teamsbot.module.css';
|
||||||
* Allows starting new sessions and viewing active/past sessions.
|
* Allows starting new sessions and viewing active/past sessions.
|
||||||
*/
|
*/
|
||||||
export const TeamsbotDashboardView: React.FC = () => {
|
export const TeamsbotDashboardView: React.FC = () => {
|
||||||
const { instance } = useCurrentInstance();
|
const { instance, mandateId, featureCode } = useCurrentInstance();
|
||||||
const instanceId = instance?.id || '';
|
const instanceId = instance?.id || '';
|
||||||
|
const navigate = useNavigate();
|
||||||
|
|
||||||
const [sessions, setSessions] = useState<TeamsbotSession[]>([]);
|
const [sessions, setSessions] = useState<TeamsbotSession[]>([]);
|
||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
|
|
@ -182,7 +184,7 @@ export const TeamsbotDashboardView: React.FC = () => {
|
||||||
{session.startedAt && <span>Seit: {new Date(session.startedAt).toLocaleTimeString('de-CH')}</span>}
|
{session.startedAt && <span>Seit: {new Date(session.startedAt).toLocaleTimeString('de-CH')}</span>}
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.sessionActions}>
|
<div className={styles.sessionActions}>
|
||||||
<a href={`sessions?sessionId=${session.id}`} className={styles.viewButton}>Live ansehen</a>
|
<button className={styles.viewButton} onClick={() => navigate(`/mandates/${mandateId}/${featureCode}/${instanceId}/sessions?sessionId=${session.id}`)}>Live ansehen</button>
|
||||||
{session.status === 'active' && (
|
{session.status === 'active' && (
|
||||||
<button className={styles.stopButton} onClick={() => _handleStopSession(session.id)}>
|
<button className={styles.stopButton} onClick={() => _handleStopSession(session.id)}>
|
||||||
Stoppen
|
Stoppen
|
||||||
|
|
@ -224,7 +226,7 @@ export const TeamsbotDashboardView: React.FC = () => {
|
||||||
<div className={styles.sessionError}>{session.errorMessage}</div>
|
<div className={styles.sessionError}>{session.errorMessage}</div>
|
||||||
)}
|
)}
|
||||||
<div className={styles.sessionActions}>
|
<div className={styles.sessionActions}>
|
||||||
<a href={`sessions?sessionId=${session.id}`} className={styles.viewButton}>Details</a>
|
<button className={styles.viewButton} onClick={() => navigate(`/mandates/${mandateId}/${featureCode}/${instanceId}/sessions?sessionId=${session.id}`)}>Details</button>
|
||||||
<button className={styles.deleteButton} onClick={() => _handleDeleteSession(session.id)}>
|
<button className={styles.deleteButton} onClick={() => _handleDeleteSession(session.id)}>
|
||||||
Loeschen
|
Loeschen
|
||||||
</button>
|
</button>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue