| 190 | } |
| 191 | |
| 192 | export function CreateSrcbookButton(props: { |
| 193 | defaultLanguage: CodeLanguageType; |
| 194 | onSubmit: (language: CodeLanguageType) => void; |
| 195 | }) { |
| 196 | const [language, setLanguage] = useState(props.defaultLanguage); |
| 197 | |
| 198 | return ( |
| 199 | <div className="space-y-1"> |
| 200 | <CardContainer |
| 201 | onClick={() => props.onSubmit(language)} |
| 202 | className="active:translate-y-0.5 hover:border-foreground" |
| 203 | > |
| 204 | <div className="flex flex-col h-full items-start justify-between"> |
| 205 | <PlusIcon size={20} /> |
| 206 | <h5 className="font-medium leading-[18px]">Create Notebook</h5> |
| 207 | </div> |
| 208 | </CardContainer> |
| 209 | |
| 210 | <div className="flex border rounded-sm bg-background w-fit"> |
| 211 | <Button |
| 212 | title="Use JavaScript for this Notebook" |
| 213 | variant="secondary" |
| 214 | className={cn( |
| 215 | 'border-none rounded-r-none active:translate-y-0 text-muted-foreground bg-muted w-10', |
| 216 | language === 'javascript' && 'text-foreground font-bold', |
| 217 | )} |
| 218 | onClick={() => setLanguage('javascript')} |
| 219 | > |
| 220 | JS |
| 221 | </Button> |
| 222 | <Button |
| 223 | title="Use TypeScript for this Notebook" |
| 224 | variant="secondary" |
| 225 | className={cn( |
| 226 | 'border-none rounded-l-none active:translate-y-0 text-muted-foreground bg-muted w-10', |
| 227 | language === 'typescript' && 'text-foreground font-bold', |
| 228 | )} |
| 229 | onClick={() => setLanguage('typescript')} |
| 230 | > |
| 231 | TS |
| 232 | </Button> |
| 233 | </div> |
| 234 | </div> |
| 235 | ); |
| 236 | } |
| 237 | |
| 238 | export function ImportSrcbookButton(props: { onClick: () => void }) { |
| 239 | return ( |