fixed teams
This commit is contained in:
parent
a6b37ed684
commit
ccb2798170
5 changed files with 15 additions and 17 deletions
|
|
@ -254,35 +254,30 @@
|
||||||
padding: 0.75rem 1rem;
|
padding: 0.75rem 1rem;
|
||||||
border-bottom: 1px solid var(--border-color, #e0e0e0);
|
border-bottom: 1px solid var(--border-color, #e0e0e0);
|
||||||
background: var(--bg-primary, #fff);
|
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 {
|
.canvasHeaderRow {
|
||||||
display: grid;
|
display: flex;
|
||||||
grid-template-columns: minmax(0, 1fr) auto;
|
flex-wrap: wrap;
|
||||||
gap: 0.75rem;
|
gap: 0.5rem 0.75rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 900px) {
|
|
||||||
.canvasHeaderRow {
|
|
||||||
grid-template-columns: 1fr;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.canvasHeaderContext {
|
.canvasHeaderContext {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
gap: 0.5rem;
|
gap: 0.5rem;
|
||||||
min-width: 0;
|
min-width: 0;
|
||||||
flex: 1;
|
flex: 1 1 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Closed <select> width must not follow the longest option label. */
|
/* Closed <select> width must not follow the longest option label. */
|
||||||
.canvasHeaderWorkflowSelect {
|
.canvasHeaderWorkflowSelect {
|
||||||
flex: 0 0 auto;
|
flex: 0 1 12.5rem;
|
||||||
width: 12.5rem;
|
min-width: 8rem;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
padding: 0.4rem 0.5rem;
|
padding: 0.4rem 0.5rem;
|
||||||
min-height: 2rem;
|
min-height: 2rem;
|
||||||
|
|
@ -347,6 +342,7 @@
|
||||||
background: var(--bg-secondary, #f8f9fa);
|
background: var(--bg-secondary, #f8f9fa);
|
||||||
flex: 0 1 auto;
|
flex: 0 1 auto;
|
||||||
max-width: 100%;
|
max-width: 100%;
|
||||||
|
margin-left: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* .retryButton sets margin-top for legacy error stacks — not wanted in the toolbar. */
|
/* .retryButton sets margin-top for legacy error stacks — not wanted in the toolbar. */
|
||||||
|
|
@ -366,6 +362,8 @@
|
||||||
@media (max-width: 900px) {
|
@media (max-width: 900px) {
|
||||||
.canvasHeaderActionPanel {
|
.canvasHeaderActionPanel {
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
|
margin-left: 0;
|
||||||
|
flex-basis: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ export const RagRunningBadge: React.FC = () => {
|
||||||
<div key={job.jobId} className={styles.jobRow}>
|
<div key={job.jobId} className={styles.jobRow}>
|
||||||
<span className={styles.jobLabel}>{job.connectionLabel || job.jobType}</span>
|
<span className={styles.jobLabel}>{job.connectionLabel || job.jobType}</span>
|
||||||
<span className={styles.jobProgress}>
|
<span className={styles.jobProgress}>
|
||||||
{job.progress != null ? `${Math.round(job.progress * 100)}%` : '...'}
|
{job.progress != null ? `${Math.round(job.progress)}%` : '...'}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
|
|
|
||||||
|
|
@ -212,7 +212,7 @@ export const RagInventoryPage: React.FC = () => {
|
||||||
{conn.runningJobs.length > 0 && (
|
{conn.runningJobs.length > 0 && (
|
||||||
<div className={styles.jobBanner}>
|
<div className={styles.jobBanner}>
|
||||||
<FaSync className={styles.spinIcon} />
|
<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')}>
|
<button className={styles.stopBtn} onClick={() => _handleStop(conn.id)} title={t('Indexierung stoppen')}>
|
||||||
<FaStop size={12} /> {t('Stop')}
|
<FaStop size={12} /> {t('Stop')}
|
||||||
</button>
|
</button>
|
||||||
|
|
|
||||||
|
|
@ -261,7 +261,7 @@ export const TeamsbotDashboardView: React.FC = () => {
|
||||||
<button type="button" className={styles.viewButton} onClick={() => navigate(_sessionPath(session.id))}>
|
<button type="button" className={styles.viewButton} onClick={() => navigate(_sessionPath(session.id))}>
|
||||||
{t('Live ansehen')}
|
{t('Live ansehen')}
|
||||||
</button>
|
</button>
|
||||||
{['active', 'joining', 'pending'].includes(session.status) && (
|
{!['ended', 'error', 'leaving'].includes(session.status) && (
|
||||||
<button type="button" className={styles.stopButton} onClick={() => _handleStopSession(session.id)}>
|
<button type="button" className={styles.stopButton} onClick={() => _handleStopSession(session.id)}>
|
||||||
{t('Stoppen')}
|
{t('Stoppen')}
|
||||||
</button>
|
</button>
|
||||||
|
|
|
||||||
|
|
@ -838,7 +838,7 @@ export const TeamsbotSessionView: React.FC = () => {
|
||||||
{isLive && <span className={styles.liveBadge}>LIVE</span>}
|
{isLive && <span className={styles.liveBadge}>LIVE</span>}
|
||||||
</div>
|
</div>
|
||||||
<div className={styles.sessionControls}>
|
<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>
|
<button className={styles.stopButton} onClick={_handleStop}>{t('Sitzung beenden')}</button>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue