diff --git a/frontend/src/components/dashboard/DashboardHome.tsx b/frontend/src/components/dashboard/DashboardHome.tsx index 1f20356..7cdfd7c 100644 --- a/frontend/src/components/dashboard/DashboardHome.tsx +++ b/frontend/src/components/dashboard/DashboardHome.tsx @@ -7,7 +7,7 @@ import { AnimatePresence } from 'framer-motion' import { toast } from 'sonner' import { useAuth } from '../../contexts/AuthContext' import { useRepos, useUserUsage } from '../../hooks/useCachedQuery' -import { API_URL, MAX_FREE_REPOS } from '../../config/api' +import { API_URL } from '../../config/api' import { extractErrorMessage, isUpgradeError } from '../../lib/api-errors' import { RepoListView } from './RepoListView' import { RepoDetailView } from './RepoDetailView' @@ -24,6 +24,7 @@ export function DashboardHome() { const [searchParams, setSearchParams] = useSearchParams() const { data: repos = [], isLoading: reposLoading, invalidate: refreshRepos } = useRepos(session?.access_token) const { data: usage } = useUserUsage(session?.access_token, session?.user?.id) + const maxRepos = usage?.repositories?.limit ?? 1 const [selectedRepo, setSelectedRepo] = useState(null) const [activeTab, setActiveTab] = useState('overview') @@ -223,6 +224,7 @@ export function DashboardHome() { loading={loading} reposLoading={reposLoading} selectedRepo={selectedRepo} + maxRepos={maxRepos} onSelectRepo={(id) => { setSelectedRepo(id); setActiveTab('overview') }} onAddClick={() => setShowAddForm(true)} onGitHubClick={() => setShowGitHubSelector(true)} @@ -280,7 +282,7 @@ export function DashboardHome() { isOpen={showGitHubSelector} onClose={() => setShowGitHubSelector(false)} onImport={handleGitHubImport} - maxSelectable={MAX_FREE_REPOS} + maxSelectable={maxRepos} currentRepoCount={repos.length} /> diff --git a/frontend/src/components/dashboard/RepoListView.tsx b/frontend/src/components/dashboard/RepoListView.tsx index 8c345f7..26b3ae0 100644 --- a/frontend/src/components/dashboard/RepoListView.tsx +++ b/frontend/src/components/dashboard/RepoListView.tsx @@ -6,7 +6,6 @@ import { Plus, Github } from 'lucide-react' import { Button } from '../ui/button' import { RepoList } from '../RepoList' import { DashboardStats } from './DashboardStats' -import { MAX_FREE_REPOS } from '../../config/api' import type { Repository } from '../../types' interface RepoListViewProps { @@ -14,6 +13,7 @@ interface RepoListViewProps { loading: boolean reposLoading: boolean selectedRepo: string | null + maxRepos: number onSelectRepo: (id: string) => void onAddClick: () => void onGitHubClick: () => void @@ -24,6 +24,7 @@ export function RepoListView({ loading, reposLoading, selectedRepo, + maxRepos, onSelectRepo, onAddClick, onGitHubClick, @@ -47,7 +48,7 @@ export function RepoListView({