Skip to content

Commit 4382056

Browse files
committed
feature(FR-1688): Auto-launch primary app in Session Notification
1 parent 6322cdf commit 4382056

File tree

22 files changed

+72
-13
lines changed

22 files changed

+72
-13
lines changed

react/src/components/BAIComputeSessionNodeNotificationItem.tsx

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@ import SessionActionButtons, {
22
PrimaryAppOption,
33
} from './ComputeSessionNodeItems/SessionActionButtons';
44
import SessionStatusTag from './ComputeSessionNodeItems/SessionStatusTag';
5+
import QuestionIconWithTooltip from './QuestionIconWithTooltip';
56
import { useUpdateEffect } from 'ahooks';
7+
import { Switch, theme } from 'antd';
68
import { BAIFlex, BAILink, BAINotificationItem, BAIText } from 'backend.ai-ui';
79
import dayjs from 'dayjs';
810
import React, { useEffect, useState } from 'react';
@@ -35,6 +37,7 @@ const BAIComputeSessionNodeNotificationItem: React.FC<
3537
const { destroyNotification } = useSetBAINotification();
3638
const { t } = useTranslation();
3739
const navigate = useNavigate();
40+
const { token } = theme.useToken();
3841
const node = useFragment(
3942
graphql`
4043
fragment BAIComputeSessionNodeNotificationItemFragment on ComputeSessionNode {
@@ -98,19 +101,33 @@ const BAIComputeSessionNodeNotificationItem: React.FC<
98101
</BAIText>
99102
}
100103
description={
101-
<BAIFlex justify="between">
102-
<SessionStatusTag
103-
sessionFrgmt={node || null}
104-
showQueuePosition={false}
105-
showTooltip={false}
106-
/>
107-
<SessionActionButtons
108-
compact
109-
size="small"
110-
sessionFrgmt={node || null}
111-
hiddenButtonKeys={['containerCommit']}
112-
primaryAppOption={primaryAppOption}
113-
/>
104+
<BAIFlex direction="column" align="stretch" gap="xs">
105+
<BAIFlex justify="between">
106+
<SessionStatusTag
107+
sessionFrgmt={node || null}
108+
showQueuePosition={false}
109+
showTooltip={false}
110+
/>
111+
<SessionActionButtons
112+
compact
113+
size="small"
114+
sessionFrgmt={node || null}
115+
hiddenButtonKeys={['containerCommit']}
116+
primaryAppOption={primaryAppOption}
117+
/>
118+
</BAIFlex>
119+
<BAIFlex
120+
style={{
121+
alignSelf: 'stretch',
122+
}}
123+
gap={'xs'}
124+
>
125+
<Switch size="small" /> {t('notification.RunAppOnSessionStart')}
126+
<QuestionIconWithTooltip
127+
title={t('notification.RunAppOnSessionStartTooltip')}
128+
zIndex={(token.Notification?.zIndexPopup || 2050) + 1}
129+
/>
130+
</BAIFlex>
114131
</BAIFlex>
115132
}
116133
footer={

resources/i18n/de.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,6 +1063,8 @@
10631063
"Initializing": "Initialisieren...",
10641064
"NoNotification": "Keine Benachrichtigung.",
10651065
"Notifications": "Benachrichtigungen",
1066+
"RunAppOnSessionStart": "App automatisch starten",
1067+
"RunAppOnSessionStartTooltip": "Startet die App in einer laufenden Sitzung",
10661068
"SeeDetail": "Siehe Detail",
10671069
"SuccessfullyUpdated": "Erfolgreich aktualisiert",
10681070
"Visit": "Besuch"

resources/i18n/el.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,6 +1060,8 @@
10601060
"Initializing": "Αρχικοποίηση ...",
10611061
"NoNotification": "Καμία ειδοποίηση.",
10621062
"Notifications": "Ειδοποιήσεις",
1063+
"RunAppOnSessionStart": "Αυτόματη εκκίνηση εφαρμογής",
1064+
"RunAppOnSessionStartTooltip": "Εκκινεί την εφαρμογή όταν η συνεδρία είναι ενεργή",
10631065
"SeeDetail": "Δείτε Λεπτομέρεια",
10641066
"SuccessfullyUpdated": "Ενημερώθηκε με επιτυχία",
10651067
"Visit": "Επίσκεψη"

resources/i18n/en.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1069,6 +1069,8 @@
10691069
"Initializing": "Initializing...",
10701070
"NoNotification": "No Notification.",
10711071
"Notifications": "Notifications",
1072+
"RunAppOnSessionStart": "Auto-launch app",
1073+
"RunAppOnSessionStartTooltip": "Launches app on session running",
10721074
"SeeDetail": "See Detail",
10731075
"SuccessfullyUpdated": "Successfully Updated",
10741076
"Visit": "Visit"

resources/i18n/es.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,6 +1063,8 @@
10631063
"Initializing": "Inicializando...",
10641064
"NoNotification": "Sin notificación.",
10651065
"Notifications": "Notificaciones",
1066+
"RunAppOnSessionStart": "Iniciar la aplicación automáticamente",
1067+
"RunAppOnSessionStartTooltip": "Inicia la aplicación cuando la sesión esté en ejecución.",
10661068
"SeeDetail": "Ver detalle",
10671069
"SuccessfullyUpdated": "Actualizado con éxito",
10681070
"Visit": "Visite"

resources/i18n/fi.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,8 @@
10621062
"Initializing": "Aloitetaan...",
10631063
"NoNotification": "Ei ilmoitusta.",
10641064
"Notifications": "Ilmoitukset",
1065+
"RunAppOnSessionStart": "Käynnistä sovellus automaattisesti",
1066+
"RunAppOnSessionStartTooltip": "Käynnistää sovelluksen käynnissä olevassa istunnossa.",
10651067
"SeeDetail": "Katso lisätietoja",
10661068
"SuccessfullyUpdated": "Päivitetty onnistuneesti",
10671069
"Visit": "Käy osoitteessa"

resources/i18n/fr.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,6 +1063,8 @@
10631063
"Initializing": "Initialisation...",
10641064
"NoNotification": "Aucune notification.",
10651065
"Notifications": "Notifications",
1066+
"RunAppOnSessionStart": "Lancer automatiquement l'application",
1067+
"RunAppOnSessionStartTooltip": "Lance l'application dans la session en cours",
10661068
"SeeDetail": "Voir le détail",
10671069
"SuccessfullyUpdated": "Mise à jour réussie",
10681070
"Visit": "Visite"

resources/i18n/id.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,6 +1061,8 @@
10611061
"Initializing": "Inisialisasi...",
10621062
"NoNotification": "Tidak Ada Pemberitahuan.",
10631063
"Notifications": "Pemberitahuan",
1064+
"RunAppOnSessionStart": "Mulai aplikasi secara otomatis",
1065+
"RunAppOnSessionStartTooltip": "Meluncurkan aplikasi pada sesi yang sedang berjalan",
10641066
"SeeDetail": "Lihat Detail",
10651067
"SuccessfullyUpdated": "Berhasil Diperbarui",
10661068
"Visit": "Kunjungi"

resources/i18n/it.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,6 +1061,8 @@
10611061
"Initializing": "Inizializzazione in corso...",
10621062
"NoNotification": "Nessuna notifica.",
10631063
"Notifications": "Notifiche",
1064+
"RunAppOnSessionStart": "Avvia automaticamente l'app",
1065+
"RunAppOnSessionStartTooltip": "Avvia l'app nella sessione in esecuzione",
10641066
"SeeDetail": "Vedi dettaglio",
10651067
"SuccessfullyUpdated": "Aggiornato con successo",
10661068
"Visit": "Visitare"

resources/i18n/ja.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,6 +1062,8 @@
10621062
"Initializing": "初期化中...",
10631063
"NoNotification": "通知はありません。",
10641064
"Notifications": "通知",
1065+
"RunAppOnSessionStart": "アプリの自動起動",
1066+
"RunAppOnSessionStartTooltip": "セッション実行時にアプリを起動する",
10651067
"SeeDetail": "詳細を見る",
10661068
"SuccessfullyUpdated": "正常に更新されました",
10671069
"Visit": "訪問"

0 commit comments

Comments
 (0)