* feature: implemented saving thumbnail.png to have project thumbnails in the home page * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * Trigger CI * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * bump * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * bump * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * bump * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * bump * A snapshot a day keeps the bugs away! 📷🐛 (OS: namespace-profile-ubuntu-8-cores) * bump * Fix the failing test by increasing window height (related to toast covering now-larger project tiles) --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Pierre Jacquier <pierre@zoo.dev> Co-authored-by: Pierre Jacquier <pierrejacquier39@gmail.com> Co-authored-by: Frank Noirot <frank@zoo.dev>
44 lines
1.7 KiB
TypeScript
44 lines
1.7 KiB
TypeScript
import { useEngineCommands } from './EngineCommands'
|
|
import { Spinner } from './Spinner'
|
|
import { CustomIcon } from './CustomIcon'
|
|
export const ModelStateIndicator = () => {
|
|
const [commands] = useEngineCommands()
|
|
const lastCommandType = commands[commands.length - 1]?.type
|
|
|
|
let className = 'w-6 h-6 '
|
|
let icon = <Spinner className={className} />
|
|
let dataTestId = 'model-state-indicator'
|
|
|
|
if (lastCommandType === 'receive-reliable') {
|
|
className +=
|
|
'bg-chalkboard-20 dark:bg-chalkboard-80 !group-disabled:bg-chalkboard-30 !dark:group-disabled:bg-chalkboard-80 rounded-sm bg-succeed-10/30 dark:bg-succeed'
|
|
icon = (
|
|
<CustomIcon
|
|
data-testid={dataTestId + '-receive-reliable'}
|
|
name="checkmark"
|
|
/>
|
|
)
|
|
} else if (lastCommandType === 'execution-done') {
|
|
className +=
|
|
'border-6 border border-solid border-chalkboard-60 dark:border-chalkboard-80 bg-chalkboard-20 dark:bg-chalkboard-80 !group-disabled:bg-chalkboard-30 !dark:group-disabled:bg-chalkboard-80 rounded-sm bg-succeed-10/30 dark:bg-succeed'
|
|
icon = (
|
|
<CustomIcon
|
|
data-testid={dataTestId + '-execution-done'}
|
|
name="checkmark"
|
|
/>
|
|
)
|
|
} else if (lastCommandType === 'export-done') {
|
|
className +=
|
|
'border-6 border border-solid border-chalkboard-60 dark:border-chalkboard-80 bg-chalkboard-20 dark:bg-chalkboard-80 !group-disabled:bg-chalkboard-30 !dark:group-disabled:bg-chalkboard-80 rounded-sm bg-succeed-10/30 dark:bg-succeed'
|
|
icon = (
|
|
<CustomIcon data-testid={dataTestId + '-export-done'} name="checkmark" />
|
|
)
|
|
}
|
|
|
|
return (
|
|
<div className={className} data-testid="model-state-indicator">
|
|
{icon}
|
|
</div>
|
|
)
|
|
}
|