import { useStore } from '@nanostores/react'; import { useState } from 'react'; import { toast } from 'react-toastify'; import { githubStore } from '~/lib/stores/github'; interface GitHubPushModalProps { isOpen: boolean; onClose: () => void; } export function GitHubPushModal({ isOpen, onClose }: GitHubPushModalProps) { const [token, setToken] = useState(''); const [username, setUsername] = useState(''); const [repoName, setRepoName] = useState(''); const [isLoading, setIsLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsLoading(true); try { await githubStore.pushToGitHub(token, username, repoName); toast.success('Successfully pushed to GitHub!'); onClose(); } catch (error) { toast.error(error instanceof Error ? error.message : 'Failed to push to GitHub'); } finally { setIsLoading(false); } }; if (!isOpen) return null; return (

Push to GitHub

); }