fix: workspace project ids computed (#3417)

This commit is contained in:
Aaryan Khandelwal 2024-01-20 16:59:34 +05:30 committed by sriram veeraghanta
parent 577118ca02
commit 4baf2a2f09
2 changed files with 17 additions and 13 deletions

View File

@ -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} />

View File

@ -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;
}
/**