Skip to content

Commit

Permalink
change cover fotos
Browse files Browse the repository at this point in the history
  • Loading branch information
vincanger committed Oct 27, 2023
1 parent 2d7d36d commit f389ad2
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 48 deletions.
5 changes: 5 additions & 0 deletions wasp-ai/main.wasp
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ query getStats {
]
}

query checkIfUserStarredWasp {
fn: import { checkIfUserStarredWasp } from "@server/operations.js",
entities: [Project]
}

query getNumProjects {
fn: import { getNumProjects } from "@server/operations.js",
entities: [
Expand Down
35 changes: 9 additions & 26 deletions wasp-ai/src/client/pages/MainPage.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import useAuth from "@wasp/auth/useAuth";
import { SignInButton as GitHubSignInButton } from "@wasp/auth/helpers/GitHub";
import { useQuery } from "@wasp/queries";
import getProjectsByUser from "@wasp/queries/getProjectsByUser";
import checkIfUserStarredWasp from "@wasp/queries/checkIfUserStarredWasp";

const MainPage = () => {
const [appName, setAppName] = useState("");
Expand All @@ -29,6 +30,11 @@ const MainPage = () => {
const history = useHistory();
const { data: user } = useAuth();
const { data: userProjects } = useQuery(getProjectsByUser, {}, { enabled: !!user });
const { data: hasUserStarredWasp } = useQuery(
checkIfUserStarredWasp,
{ username: user?.username },
{ enabled: !!user }
);

const availableCreativityLevels = useMemo(
() => [
Expand Down Expand Up @@ -79,33 +85,10 @@ const MainPage = () => {
const [appAuthMethod, setAppAuthMethod] = useState(availableAuthMethods[0]);

useEffect(() => {
if (userProjects?.length >= 1) {
checkIfUserStarredWasp({ username: user.username }).then((hasStarred) => {
if (!hasStarred) {
setIsAskForStarsModalOpen(true);
}
});
if (!hasUserStarredWasp && userProjects?.length >= 1) {
setIsAskForStarsModalOpen(true);
}
}, [userProjects, user]);

async function checkIfUserStarredWasp({ username }) {
const token = "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";
try {
const response = await fetch(`https://api.github.com/user/starred/wasp-lang/wasp`, {
method: "GET",
headers: {
Authorization: "Basic " + btoa(username + ":" + token),
},
});
if (response.status === 404) {
return false;
} else if (response.status === 204) {
return true;
}
} catch (error) {
console.error("Error:", error);
}
}
}, [hasUserStarredWasp]);

useEffect(() => {
try {
Expand Down
Binary file modified wasp-ai/src/client/public/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified wasp-ai/src/client/public/twitter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
58 changes: 36 additions & 22 deletions wasp-ai/src/server/operations.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,9 @@
import {
RegisterZipDownload,
StartGeneratingNewApp,
CreateFeedback,
} from "@wasp/actions/types";
import {
GetAppGenerationResult,
GetStats,
GetFeedback,
GetNumProjects,
GetProjectsByUser
} from "@wasp/queries/types";
import { RegisterZipDownload, StartGeneratingNewApp, CreateFeedback } from "@wasp/actions/types";
import { GetAppGenerationResult, GetStats, GetFeedback, GetNumProjects, GetProjectsByUser } from "@wasp/queries/types";
import HttpError from "@wasp/core/HttpError.js";
import { checkPendingAppsJob } from "@wasp/jobs/checkPendingAppsJob.js";
import { getNowInUTC } from "./utils.js";
import type { Project } from "@wasp/entities"
import type { Project } from "@wasp/entities";

export const startGeneratingNewApp: StartGeneratingNewApp<
{
Expand All @@ -33,10 +23,7 @@ export const startGeneratingNewApp: StartGeneratingNewApp<
throw new HttpError(422, "App name is required.");
}
if (!/^[a-zA-Z_][a-zA-Z0-9_-]*$/.test(args.appName)) {
throw new HttpError(
422,
"App name can only contain letters, numbers, dashes, or underscores."
);
throw new HttpError(422, "App name can only contain letters, numbers, dashes, or underscores.");
}
if (!args.appDesc) {
throw new HttpError(422, "App description is required.");
Expand Down Expand Up @@ -226,15 +213,42 @@ export const getNumProjects = (async (_args, context) => {
}) satisfies GetNumProjects<{}>;

export const getProjectsByUser: GetProjectsByUser<void, Project[]> = async (_args, context) => {
console.log("context.user", context.user)
if (!context.user) {
throw new HttpError(401, "Not authorized");
}
return await context.entities.Project.findMany({
where: {
user: {
id: context.user.id
}
id: context.user.id,
},
},
});
};

import { CheckIfUserStarredWasp } from "@wasp/queries/types";

export const checkIfUserStarredWasp: CheckIfUserStarredWasp<{ username: string }, boolean> = async (
{ username },
context
) => {
if (!context.user) {
throw new HttpError(401, "Not authorized");
}
let status = false;
try {
const response = await fetch(`https://api.github.com/user/starred/wasp-lang/wasp`, {
method: "GET",
headers: {
Authorization: "Basic " + btoa(username + ":" + process.env.GITHUB_PERSONAL_ACCESS_TOKEN),
},
});
console.log(response.status);
if (response.status === 204) {
status = true;
}
})
}
} catch (error) {
console.error("Error:", error);
} finally {
return status;
}
};

0 comments on commit f389ad2

Please sign in to comment.