2023-05-05 15:23:34 +00:00
|
|
|
import React, {FC} from 'react';
|
2023-05-18 12:48:53 +00:00
|
|
|
import {useTranslation} from 'react-i18next';
|
2023-05-19 02:08:28 +00:00
|
|
|
import {RunButton} from '../components/RunButton';
|
|
|
|
import {Divider, PresenceBadge, Text} from '@fluentui/react-components';
|
|
|
|
import commonStore, {ModelStatus} from '../stores/commonStore';
|
|
|
|
import {observer} from 'mobx-react-lite';
|
|
|
|
import {PresenceBadgeStatus} from '@fluentui/react-badge';
|
|
|
|
import {ConfigSelector} from '../components/ConfigSelector';
|
2023-05-05 15:23:34 +00:00
|
|
|
|
2023-05-19 02:08:28 +00:00
|
|
|
const ChatPanel: FC = () => {
|
|
|
|
return (
|
|
|
|
<div></div>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
const statusText = {
|
|
|
|
[ModelStatus.Offline]: 'Offline',
|
|
|
|
[ModelStatus.Starting]: 'Starting',
|
|
|
|
[ModelStatus.Loading]: 'Loading',
|
|
|
|
[ModelStatus.Working]: 'Working'
|
|
|
|
};
|
|
|
|
|
|
|
|
const badgeStatus: { [modelStatus: number]: PresenceBadgeStatus } = {
|
|
|
|
[ModelStatus.Offline]: 'unknown',
|
|
|
|
[ModelStatus.Starting]: 'away',
|
|
|
|
[ModelStatus.Loading]: 'away',
|
|
|
|
[ModelStatus.Working]: 'available'
|
|
|
|
};
|
|
|
|
|
|
|
|
export const Chat: FC = observer(() => {
|
2023-05-18 12:48:53 +00:00
|
|
|
const {t} = useTranslation();
|
|
|
|
|
2023-05-05 15:23:34 +00:00
|
|
|
return (
|
2023-05-19 02:08:28 +00:00
|
|
|
<div className="flex flex-col gap-1 p-2 h-full overflow-hidden">
|
|
|
|
<div className="flex justify-between items-center">
|
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
<PresenceBadge status={badgeStatus[commonStore.modelStatus]}/>
|
|
|
|
<Text size={100}>{t('Model Status') + ': ' + t(statusText[commonStore.modelStatus])}</Text>
|
|
|
|
</div>
|
|
|
|
<div className="flex items-center gap-2">
|
|
|
|
<ConfigSelector size="small"/>
|
|
|
|
<RunButton iconMode/>
|
|
|
|
</div>
|
2023-05-17 15:27:52 +00:00
|
|
|
</div>
|
2023-05-19 02:08:28 +00:00
|
|
|
<Divider style={{flexGrow: 0}}/>
|
|
|
|
<ChatPanel/>
|
|
|
|
</div>
|
2023-05-05 15:23:34 +00:00
|
|
|
);
|
2023-05-19 02:08:28 +00:00
|
|
|
});
|