diff --git a/web/components/account/o-auth/o-auth-options.tsx b/web/components/account/o-auth/o-auth-options.tsx index 3ad1c2fa1..7c8468acb 100644 --- a/web/components/account/o-auth/o-auth-options.tsx +++ b/web/components/account/o-auth/o-auth-options.tsx @@ -23,6 +23,8 @@ export const OAuthOptions: React.FC<Props> = observer((props) => { const { config: { envConfig }, } = useApplication(); + // derived values + const areBothOAuthEnabled = envConfig?.google_client_id && envConfig?.github_client_id; const handleGoogleSignIn = async ({ clientId, credential }: any) => { try { @@ -73,7 +75,7 @@ export const OAuthOptions: React.FC<Props> = observer((props) => { <p className="mx-3 flex-shrink-0 text-center text-sm text-onboarding-text-400">Or continue with</p> <hr className="w-full border-onboarding-border-100" /> </div> - <div className="mx-auto mt-7 grid grid-cols-2 gap-4 overflow-hidden sm:w-96"> + <div className={`mx-auto mt-7 grid gap-4 overflow-hidden sm:w-96 ${areBothOAuthEnabled ? "grid-cols-2" : ""}`}> {envConfig?.google_client_id && ( <div className="h-[42px] flex items-center !overflow-hidden"> <GoogleSignInButton clientId={envConfig?.google_client_id} handleSignIn={handleGoogleSignIn} type={type} /> diff --git a/web/store/project/project.store.ts b/web/store/project/project.store.ts index c59d7af1e..1d51b781c 100644 --- a/web/store/project/project.store.ts +++ b/web/store/project/project.store.ts @@ -92,24 +92,26 @@ export class ProjectStore implements IProjectStore { * Returns searched projects based on search query */ get searchedProjects() { - if (!this.rootStore.app.router.workspaceSlug) return []; - const projectIds = Object.keys(this.projectMap); - return this.searchQuery === "" - ? projectIds - : projectIds?.filter((projectId) => { - this.projectMap[projectId].name.toLowerCase().includes(this.searchQuery.toLowerCase()) || - this.projectMap[projectId].identifier.toLowerCase().includes(this.searchQuery.toLowerCase()); - }); + const workspaceDetails = this.rootStore.workspaceRoot.currentWorkspace; + if (!workspaceDetails) return []; + const workspaceProjects = Object.values(this.projectMap).filter( + (p) => + p.workspace === workspaceDetails.id && + (p.name.toLowerCase().includes(this.searchQuery.toLowerCase()) || + p.identifier.toLowerCase().includes(this.searchQuery.toLowerCase())) + ); + return workspaceProjects.map((p) => p.id); } /** * Returns project IDs belong to the current workspace */ get workspaceProjectIds() { - if (!this.rootStore.app.router.workspaceSlug) return null; - const projectIds = Object.keys(this.projectMap); - if (!projectIds) return null; - return projectIds; + const workspaceDetails = this.rootStore.workspaceRoot.currentWorkspace; + if (!workspaceDetails) return null; + const workspaceProjects = Object.values(this.projectMap).filter((p) => p.workspace === workspaceDetails.id); + const projectIds = workspaceProjects.map((p) => p.id); + return projectIds ?? null; } /**