| 151 | onSubmit: (code: string) => void; |
| 152 | onClear?: () => void; |
| 153 | }> = ({ onSubmit, onClear }) => { |
| 154 | const buttonClasses = cn( |
| 155 | "m-0 w-9 h-8 bg-(--slate-2) text-(--slate-11) hover:text-(--blue-11) rounded-none hover:bg-(--sky-3) hover:border-(--blue-8)", |
| 156 | "first:rounded-l-lg first:border-l border-t border-b hover:border", |
| 157 | "last:rounded-r-lg last:border-r", |
| 158 | ); |
| 159 | const iconClasses = "w-5 h-5"; |
| 160 | |
| 161 | return ( |
| 162 | <div className="flex"> |
| 163 | <Tooltip content="Next line"> |
| 164 | <Button |
| 165 | variant="text" |
| 166 | size="icon" |
| 167 | data-testid="debugger-next-button" |
| 168 | className={buttonClasses} |
| 169 | onClick={() => onSubmit("n")} |
| 170 | > |
| 171 | <SkipForwardIcon fontSize={36} className={iconClasses} /> |
| 172 | </Button> |
| 173 | </Tooltip> |
| 174 | <Tooltip content="Continue execution"> |
| 175 | <Button |
| 176 | variant="text" |
| 177 | size="icon" |
| 178 | data-testid="debugger-continue-button" |
| 179 | onClick={() => onSubmit("c")} |
| 180 | className={cn( |
| 181 | buttonClasses, |
| 182 | "text-(--grass-11) hover:text-(--grass-11) hover:bg-(--grass-3) hover:border-(--grass-8)", |
| 183 | )} |
| 184 | > |
| 185 | <PlayIcon fontSize={36} className={iconClasses} /> |
| 186 | </Button> |
| 187 | </Tooltip> |
| 188 | <Tooltip content="Print stack trace"> |
| 189 | <Button |
| 190 | variant="text" |
| 191 | size="icon" |
| 192 | data-testid="debugger-stack-button" |
| 193 | className={buttonClasses} |
| 194 | onClick={() => onSubmit("bt")} |
| 195 | > |
| 196 | <LayersIcon fontSize={36} className={iconClasses} /> |
| 197 | </Button> |
| 198 | </Tooltip> |
| 199 | <Tooltip content="Help"> |
| 200 | <Button |
| 201 | variant="text" |
| 202 | size="icon" |
| 203 | data-testid="debugger-help-button" |
| 204 | className={buttonClasses} |
| 205 | onClick={() => onSubmit("help")} |
| 206 | > |
| 207 | <HelpCircleIcon fontSize={36} className={iconClasses} /> |
| 208 | </Button> |
| 209 | </Tooltip> |
| 210 | {onClear && ( |