fixed teams

This commit is contained in:
ValueOn AG 2026-05-12 17:49:44 +02:00
parent a6b37ed684
commit ccb2798170
5 changed files with 15 additions and 17 deletions

View file

@ -254,35 +254,30 @@
padding: 0.75rem 1rem;
border-bottom: 1px solid var(--border-color, #e0e0e0);
background: var(--bg-primary, #fff);
overflow: visible;
}
/* Toolbar: context (load + name) is fluid with ellipsis; actions stay right-aligned. */
/* Toolbar: context (load + name) is fluid with ellipsis; actions wrap below on narrow viewports. */
.canvasHeaderRow {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 0.75rem;
display: flex;
flex-wrap: wrap;
gap: 0.5rem 0.75rem;
align-items: center;
width: 100%;
}
@media (max-width: 900px) {
.canvasHeaderRow {
grid-template-columns: 1fr;
}
}
.canvasHeaderContext {
display: flex;
align-items: center;
gap: 0.5rem;
min-width: 0;
flex: 1;
flex: 1 1 auto;
}
/* Closed <select> width must not follow the longest option label. */
.canvasHeaderWorkflowSelect {
flex: 0 0 auto;
width: 12.5rem;
flex: 0 1 12.5rem;
min-width: 8rem;
max-width: 100%;
padding: 0.4rem 0.5rem;
min-height: 2rem;
@ -347,6 +342,7 @@
background: var(--bg-secondary, #f8f9fa);
flex: 0 1 auto;
max-width: 100%;
margin-left: auto;
}
/* .retryButton sets margin-top for legacy error stacks — not wanted in the toolbar. */
@ -366,6 +362,8 @@
@media (max-width: 900px) {
.canvasHeaderActionPanel {
justify-content: flex-start;
margin-left: 0;
flex-basis: 100%;
}
}

View file

@ -60,7 +60,7 @@ export const RagRunningBadge: React.FC = () => {
<div key={job.jobId} className={styles.jobRow}>
<span className={styles.jobLabel}>{job.connectionLabel || job.jobType}</span>
<span className={styles.jobProgress}>
{job.progress != null ? `${Math.round(job.progress * 100)}%` : '...'}
{job.progress != null ? `${Math.round(job.progress)}%` : '...'}
</span>
</div>
))}

View file

@ -212,7 +212,7 @@ export const RagInventoryPage: React.FC = () => {
{conn.runningJobs.length > 0 && (
<div className={styles.jobBanner}>
<FaSync className={styles.spinIcon} />
<span>{conn.runningJobs[0].progressMessage || `${Math.round(conn.runningJobs[0].progress * 100)}%`}</span>
<span>{conn.runningJobs[0].progressMessage || `${Math.round(conn.runningJobs[0].progress)}%`}</span>
<button className={styles.stopBtn} onClick={() => _handleStop(conn.id)} title={t('Indexierung stoppen')}>
<FaStop size={12} /> {t('Stop')}
</button>

View file

@ -261,7 +261,7 @@ export const TeamsbotDashboardView: React.FC = () => {
<button type="button" className={styles.viewButton} onClick={() => navigate(_sessionPath(session.id))}>
{t('Live ansehen')}
</button>
{['active', 'joining', 'pending'].includes(session.status) && (
{!['ended', 'error', 'leaving'].includes(session.status) && (
<button type="button" className={styles.stopButton} onClick={() => _handleStopSession(session.id)}>
{t('Stoppen')}
</button>

View file

@ -838,7 +838,7 @@ export const TeamsbotSessionView: React.FC = () => {
{isLive && <span className={styles.liveBadge}>LIVE</span>}
</div>
<div className={styles.sessionControls}>
{['active', 'joining', 'pending'].includes(session.status) && (
{!['ended', 'error', 'leaving'].includes(session.status) && (
<button className={styles.stopButton} onClick={_handleStop}>{t('Sitzung beenden')}</button>
)}
</div>