diff --git a/app/analysis/Analysis.tsx b/app/analysis/Analysis.tsx index 3973117..b54317d 100644 --- a/app/analysis/Analysis.tsx +++ b/app/analysis/Analysis.tsx @@ -14,6 +14,8 @@ interface d { let data: d[] = []; export default function Analysis() { + //const [maximum , setMaximum] = useState(0); + let maximum = 0; const [loadingOsData, setLoadingOsData] = useState(true); const [loading, setLoading] = useState(true); const [newData, setnewData] = useState([ @@ -39,15 +41,24 @@ export default function Analysis() { setLoading(false); }; const fetchOsData = async () => { - const res = await getOsData().then().catch(console.error); - setOsMonth(res || []); + const res:any = await getOsData().then().catch(console.error); + console.log(res); + for(let i=0;i { - fetchData(); - fetchOsData().then(()=>{setLoadingOsData(false);}); - }, [osMonth , osMonthData]); + async function ASYNC(){ + await fetchData(); + await fetchOsData().then(()=>{setLoadingOsData(false);}); + } + ASYNC(); + },[]); if (!loading) { const stats = newData.map((stat) => ( @@ -67,10 +78,10 @@ export default function Analysis() { )} { - !loadingOsData && + !loading && !loadingOsData && o.desktop))] }} unit=" users" h={300} data={!loadingOsData ? osMonth : []} diff --git a/app/api/auth/[...nextauth]/options.ts b/app/api/auth/[...nextauth]/options.ts index 509393d..470d404 100644 --- a/app/api/auth/[...nextauth]/options.ts +++ b/app/api/auth/[...nextauth]/options.ts @@ -78,7 +78,6 @@ export const options: NextAuthOptions = { } , async jwt({ token , user} : {token : JWT , user : CustomUser}){ - if(user) { token.role = user.role @@ -115,11 +114,24 @@ export const options: NextAuthOptions = { { var userExist = await User.findOne({email : profile?.email}); if(!userExist){ - const usertobecreated = await User.create({ + if(user.email?.endsWith("@ddu.ac.in")){ + const usertobecreated = await User.create({ email : profile?.email, name : profile?.name, - password : "1234" + password : makeid(10), + role : "coordinator", + isCoordinator : true, + isAdmin : false }) + } + else{ + const usertobecreated = await User.create({ + email : profile?.email, + name : profile?.name, + password : makeid(10) + }) + } + } return true; } @@ -135,14 +147,14 @@ export const options: NextAuthOptions = { } -// function makeid(length : number) { -// let result = ''; -// const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; -// const charactersLength = characters.length; -// let counter = 0; -// while (counter < length) { -// result += characters.charAt(Math.floor(Math.random() * charactersLength)); -// counter += 1; -// } -// return result; -// } \ No newline at end of file +function makeid(length : number) { + let result = ''; + const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + const charactersLength = characters.length; + let counter = 0; + while (counter < length) { + result += characters.charAt(Math.floor(Math.random() * charactersLength)); + counter += 1; + } + return result; +} \ No newline at end of file diff --git a/app/api/count/projects/route.js b/app/api/count/projects/route.js index 4f7b08e..b4d2379 100644 --- a/app/api/count/projects/route.js +++ b/app/api/count/projects/route.js @@ -12,7 +12,7 @@ export async function GET(req, res) { } else{ if(FILTER == null || FILTER == "Any" || FILTER == "") - count = await Project.countDocuments({"$or":[{title : new RegExp(QUERY) },{ Mentor : new RegExp(QUERY)} , {"members.id":new RegExp(QUERY)}]}) + count = await Project.countDocuments({"$or":[{title : new RegExp(QUERY) },{ Mentor : new RegExp(QUERY)} , {"members.id":new RegExp(QUERY)} , {"members.name":new RegExp(QUERY)}]}) else if( FILTER == "Mentor" ) count = await Project.countDocuments({"$or":[{ Mentor : new RegExp(QUERY)}]}) else if( FILTER == "Member Name") @@ -21,7 +21,7 @@ export async function GET(req, res) { count = await Project.countDocuments({"$or":[{"members.id":new RegExp(QUERY)}]}) else if( FILTER == "Title" ) count = await Project.countDocuments({"$or":[{"title":new RegExp(QUERY)}]}) - else count = await Project.countDocuments({"$or":[{title : new RegExp(QUERY) },{ Mentor : new RegExp(QUERY)} , {"members.id":new RegExp(QUERY)}]}) + else count = await Project.countDocuments({"$or":[{title : new RegExp(QUERY) },{ Mentor : new RegExp(QUERY)} , {"members.id":new RegExp(QUERY)} , {"members.name":new RegExp(QUERY)}]}) } const obj = {count} // console.log("count" , count); diff --git a/app/api/projects/route.js b/app/api/projects/route.js index 0409d7c..cc1211f 100644 --- a/app/api/projects/route.js +++ b/app/api/projects/route.js @@ -23,7 +23,7 @@ export async function GET(request){ else{ let queryRelatedProjects; if(filter == null || filter == "Any" || filter == "") - queryRelatedProjects = await Project.find({"$or":[{title : new RegExp(query) },{ Mentor : new RegExp(query)} , {"members.id":new RegExp(query)}]}).limit(LIMIT).skip(SKIP) + queryRelatedProjects = await Project.find({"$or":[{title : new RegExp(query) },{ Mentor : new RegExp(query)} , {"members.id":new RegExp(query)} , {"members.name":new RegExp(query)} ]}).limit(LIMIT).skip(SKIP) else if( filter == "Mentor" ) queryRelatedProjects = await Project.find({"$or":[{ Mentor : new RegExp(query)}]}).limit(LIMIT).skip(SKIP) else if( filter == "Member Name") @@ -32,7 +32,7 @@ export async function GET(request){ queryRelatedProjects = await Project.find({"$or":[{"members.id":new RegExp(query)}]}).limit(LIMIT).skip(SKIP) else if( filter == "Title" ) queryRelatedProjects = await Project.find({"$or":[{"title":new RegExp(query)}]}).limit(LIMIT).skip(SKIP) - else queryRelatedProjects = await Project.find({"$or":[{title : new RegExp(query) },{ Mentor : new RegExp(query)} , {"members.id":new RegExp(query)}]}).limit(LIMIT).skip(SKIP) + else queryRelatedProjects = await Project.find({"$or":[{title : new RegExp(query) },{ Mentor : new RegExp(query)} , {"members.id":new RegExp(query)} , {"members.name":new RegExp(query)}]}).limit(LIMIT).skip(SKIP) return NextResponse.json(queryRelatedProjects , { success:true, statusText : "fetched query related projects successfully", diff --git a/app/showProjects/showAllProjects.tsx b/app/showProjects/showAllProjects.tsx index 50cf4a2..b4f3eae 100644 --- a/app/showProjects/showAllProjects.tsx +++ b/app/showProjects/showAllProjects.tsx @@ -37,7 +37,7 @@ import { import Link from "next/link"; import { useDisclosure, useIntersection, useMediaQuery } from "@mantine/hooks"; import { FooterLinks } from "../../components/footer/footer"; -let limit = 6; +let limit = 3; let skip = 0; let count = 0; let PROJECTS : any = []; @@ -55,8 +55,10 @@ const fetcher = async ( count = countData.count; console.log(count); if (query == "") { + //console.log("this is fetching when query is null"); const data = await fetch(`api/projects?limit=${limit}&skip=${skip}`); const res = await data.json(); + console.log("res from query null" , res) if (PROJECTS.length == 1) { PROJECTS = [...res]; } else { @@ -118,17 +120,17 @@ export default function ShowAllProjects() { (entry?.isIntersecting && count > skip && !fetching) || (entry?.isIntersecting && count == 0 && !fetching) ) { - setFetching(true) + await setFetching(true) console.log("intersecting"); - fetcher(query, filter.searchBy, limit, skip + limit) + await fetcher(query, filter.searchBy, limit, skip + limit) .then(() => { skip = skip + limit; }) - .then(() => { - setmyData(PROJECTS); - setLoadingProject(false); - setInitialLoading(false); - setFetching(false) + .then(async() => { + await setmyData(PROJECTS); + await setLoadingProject(false); + await setInitialLoading(false); + await setFetching(false) }); } } @@ -202,12 +204,6 @@ export default function ShowAllProjects() { {card.title} - - - - 4.78 - - diff --git a/components/footer/FeaturesGrid.tsx b/components/footer/FeaturesGrid.tsx index 35bc56e..85769af 100644 --- a/components/footer/FeaturesGrid.tsx +++ b/components/footer/FeaturesGrid.tsx @@ -269,7 +269,7 @@ export function FeaturesGrid() { spacing={{ base: 'xl', md: 50 }} verticalSpacing={{ base: 'xl', md: 50 }} > - {features} + {/* {features} */} ); diff --git a/components/footer/footer.tsx b/components/footer/footer.tsx index 6651c22..0fbd031 100644 --- a/components/footer/footer.tsx +++ b/components/footer/footer.tsx @@ -57,7 +57,7 @@ export function FooterLinks() { return (