MCPcopy Index your code
hub / github.com/srcbookdev/srcbook / CreateSrcbookButton

Function CreateSrcbookButton

packages/web/src/components/srcbook-cards.tsx:192–236  ·  view source on GitHub ↗
(props: {
  defaultLanguage: CodeLanguageType;
  onSubmit: (language: CodeLanguageType) => void;
})

Source from the content-addressed store, hash-verified

190}
191
192export 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
238export function ImportSrcbookButton(props: { onClick: () => void }) {
239 return (

Callers

nothing calls this directly

Calls 1

cnFunction · 0.90

Tested by

no test coverage detected