Skip to content

Commit

Permalink
Changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Rakib Ahmed authored and Rakib Ahmed committed Mar 5, 2025
1 parent c84a420 commit 4bf490b
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 72 deletions.
16 changes: 8 additions & 8 deletions components/boards/boards.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,14 @@ export default function Boards(props: any) {
let [useGridSearchCreate, ] = useState(devEnv);
let [searchingGrid, setSearchingGrid] = useState(false);

useEffect(() => {
setRte(replaceAll(router.route, `/`, `_`));
setUpdates(updates + 1);
return () => {
setRte(replaceAll(router.route, `/`, `_`));
}
}, [rte]);

const updateSelectedGrids = async (updatedSelectedGrids) => {
let thisGrid = updatedSelectedGrids[0];

Expand Down Expand Up @@ -152,14 +160,6 @@ export default function Boards(props: any) {
</div>
)

useEffect(() => {
setRte(replaceAll(router.route, `/`, `_`));
setUpdates(updates + 1);
return () => {
setRte(replaceAll(router.route, `/`, `_`));
}
}, [rte]);

return <>
<div className={`boardsTitleRow flex row _projects_boards`}>
<div className={`row gridRow ${gridsLoading ? `gridsAreLoading` : `gridsLoaded`} ${(gridsLoading || (selectedGrid == null || (grids?.length == 0 || globalUserData?.grids?.length == 0)) || (grids?.length > 1 || globalUserData?.grids?.length > 1)) ? `hasGridSelector ${useSingleSelect ? `withSingleSelect` : ``}` : ``}`} style={{ padding: 0, paddingBottom: 7 }}>
Expand Down
6 changes: 3 additions & 3 deletions components/profile/profile-grids.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import IVFSkeleton from '../loaders/skeleton/ivf_skeleton';
export default function ProfileGrids(props: any) {
let router = useRouter();
let { id, gridid } = router.query;
let { user, users, usersLoading } = useContext<any>(StateContext);
let { user, users, usersLoading, useNavigation } = useContext<any>(StateContext);
let { userItem = false, profileType = `Profile`, userOnUserGrids = true } = props;

let [userIsQuery, setUserIsQuery] = useState(false);
Expand Down Expand Up @@ -50,9 +50,9 @@ export default function ProfileGrids(props: any) {
}

useEffect(() => {
let userIsOnGrids = userItem == true && userOnUserGrids == true && user != null && id && window?.location?.href?.includes(`grids`);
let userIsOnGrids = useNavigation == false || (userItem == true && userOnUserGrids == true && user != null && id && window?.location?.href?.includes(`grids`));
setUserOnGrids(userIsOnGrids);
if (userIsOnGrids) return;
if (useNavigation == false || userIsOnGrids) return;
if (id && !userOnGrids) {
let quer = id?.toString();
setOriginalQuery(quer);
Expand Down
3 changes: 2 additions & 1 deletion main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -330,8 +330,9 @@ nav {
grid-gap: 10px;
align-items: center;
justify-content: center;
min-width: 300px !important;
min-width: max-content !important;
.actualQuote {
font-weight: 500;
min-width: fit-content;
}
.spinnerEl {
Expand Down
132 changes: 72 additions & 60 deletions pages/_app.js
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,7 @@ export default function ProductIVF({ Component, pageProps, router }) {
// State
let [features, setFeatures] = useState([]);
let [upNextGrid, setUpNextGrid] = useState(null);
let [useNavigation, setUseNavigation] = useState(false);
let [featuresLoading, setFeaturesLoading] = useState(true);
let [authenticateOpen, setAuthenticateOpen] = useState(false);
let [onAuthenticateFunction, setOnAuthenticateFunction] = useState(`Default`);
Expand Down Expand Up @@ -543,19 +544,20 @@ export default function ProductIVF({ Component, pageProps, router }) {
setActiveOptions([selectedGrd]);
}

const switchSelectedGrid = (usr, selectedGrd) => {
let usrGridURL = `/user/${usr?.rank}/grids/${selectedGrd?.rank}`;
const switchSelectedGrid = (usr, selectedGrd, navigate = useNavigation) => {
// console.log(`Selected Grid`, usr?.lastSelectedGridID, `New Grid`, selectedGrd?.id);
if (usr?.lastSelectedGridID != selectedGrd?.id) {
updateDocFieldsWTimeStamp(usr, {
lastSelectedGridID: selectedGrd?.id,
[`data.selectedGridIDs`]: [selectedGrd?.id],
});
}
// if (navigate) {
if (navigate) {
let usrGridURL = `/user/${usr?.rank}/grids/${selectedGrd?.rank}`;
router.replace(usrGridURL, undefined, {
shallow: true,
});
// }
}
}

const onSignOut = async (navigateToHome = true) => {
Expand All @@ -581,6 +583,36 @@ export default function ProductIVF({ Component, pageProps, router }) {
return gridsBoards;
}

const setUsersGridsState = (lastSelectedGridID, usersGridsByID, updateGrids = true) => {
if (updateGrids == true) {
setGrids(usersGridsByID);
setUserGrids(usersGridsByID);
setUsersGrids(usersGridsByID);
}
let lastSelectedGrid = usersGridsByID?.find(gr => gr?.id == lastSelectedGridID);
if (lastSelectedGrid) {
// const openAuthenticationForm = () => {
// setOnAuthenticateLabel(`View Private Grid`);
// setOnAuthenticateFunction(`Set Grid`);
// setUpNextGrid(lastSelectedGrid);
// setAuthenticateOpen(true);
// }
setSelectedGrd(lastSelectedGrid);
// let recentlyAuthenticated = withinXTime(user?.auth?.lastAuthenticated, 15, `minutes`);
// if (!recentlyAuthenticated && (lastSelectedGrid?.options?.private == true && lastSelectedGrid?.gridType == GridTypes.Private)) {
// openAuthenticationForm();
// } else setSelectedGrd(lastSelectedGrid);
}
setGlobalUserData(prevGlobalUserData => ({
...prevGlobalUserData,
user,
grids: usersGridsByID,
lastUpdateFrom: `Grids`,
lastUpdate: getIDParts()?.date,
}))
if (usersGridsByID?.length > 0) setGridsLoading(false);
}

const seedUserDataNoDB = (usr) => {
let { grids: grds, boards: brds, user: updatedUser } = generateSeedUserData(usr);

Expand Down Expand Up @@ -762,36 +794,6 @@ export default function ProductIVF({ Component, pageProps, router }) {
};
}, [selectedGrid])

const setUsersGridsState = (lastSelectedGridID, usersGridsByID, updateGrids = true) => {
if (updateGrids == true) {
setGrids(usersGridsByID);
setUserGrids(usersGridsByID);
setUsersGrids(usersGridsByID);
}
let lastSelectedGrid = usersGridsByID?.find(gr => gr?.id == lastSelectedGridID);
if (lastSelectedGrid) {
// const openAuthenticationForm = () => {
// setOnAuthenticateLabel(`View Private Grid`);
// setOnAuthenticateFunction(`Set Grid`);
// setUpNextGrid(lastSelectedGrid);
// setAuthenticateOpen(true);
// }
setSelectedGrd(lastSelectedGrid);
// let recentlyAuthenticated = withinXTime(user?.auth?.lastAuthenticated, 15, `minutes`);
// if (!recentlyAuthenticated && (lastSelectedGrid?.options?.private == true && lastSelectedGrid?.gridType == GridTypes.Private)) {
// openAuthenticationForm();
// } else setSelectedGrd(lastSelectedGrid);
}
setGlobalUserData(prevGlobalUserData => ({
...prevGlobalUserData,
user,
grids: usersGridsByID,
lastUpdateFrom: `Grids`,
lastUpdate: getIDParts()?.date,
}))
if (usersGridsByID?.length > 0) setGridsLoading(false);
}

useEffect(() => {
let listenforUserGridsChanges = null;
if (user != null) {
Expand All @@ -806,20 +808,28 @@ export default function ProductIVF({ Component, pageProps, router }) {
let userGridByID = userGridsFromDB?.find(gr => gr?.id == gridID);
if (userGridByID) return userGridByID;
})
if (id) {
if (gridid) {
if (usersGridsByID && usersGridsByID?.length > 0) {
let thisGrid = usersGridsByID?.find(gr => String(gr?.rank) == String(gridid));
if (thisGrid) {
if (user?.lastSelectedGridID != thisGrid?.id) {
updateDocFieldsWTimeStamp(user, {
lastSelectedGridID: thisGrid?.id,
'data.selectedGridIDs': [thisGrid?.id],
});
dev() && console.log(`Updated User`, {
user,
useNavigation,
lastSelectedGridID: user?.lastSelectedGridID,
});
if (useNavigation == true) {
if (id) {
if (gridid) {
if (usersGridsByID && usersGridsByID?.length > 0) {
let thisGrid = usersGridsByID?.find(gr => String(gr?.rank) == String(gridid));
if (thisGrid) {
if (user?.lastSelectedGridID != thisGrid?.id) {
dev() && console.log(`Using Navigation`, thisGrid?.id);
updateDocFieldsWTimeStamp(user, {
lastSelectedGridID: thisGrid?.id,
'data.selectedGridIDs': [thisGrid?.id],
});
}
setUsersGridsState(thisGrid?.id, usersGridsByID, globalUserDataLoading);
}
setUsersGridsState(thisGrid?.id, usersGridsByID, globalUserDataLoading);
}
}
} else setUsersGridsState(user?.lastSelectedGridID, usersGridsByID, globalUserDataLoading);
} else setUsersGridsState(user?.lastSelectedGridID, usersGridsByID, globalUserDataLoading);
} else setUsersGridsState(user?.lastSelectedGridID, usersGridsByID, globalUserDataLoading);
})
Expand Down Expand Up @@ -909,7 +919,7 @@ export default function ProductIVF({ Component, pageProps, router }) {
if (storedTaskFilterPreference != null) setTasksFiltered(storedTaskFilterPreference);

let cachedBoard = JSON.parse(localStorage.getItem(`board`));
let cachedBoards = JSON.parse(localStorage.getItem(`boards`));
// let cachedBoards = JSON.parse(localStorage.getItem(`boards`));

setThemeUI();
setDevEnv(dev());
Expand All @@ -932,15 +942,16 @@ export default function ProductIVF({ Component, pageProps, router }) {
if (!cachedBoard.columnOrder) cachedBoard.columnOrder = initialBoardData.columnOrder;
if (!cachedBoard.items) cachedBoard.items = initialBoardData.items;
setBoard(cachedBoard);
} else {
setBoard(initialBoardData);
}
// else {
// setBoard(initialBoardData);
// }

if (cachedBoards && cachedBoards?.length > 0) {
setBoards(cachedBoards);
} else {
signOutReset();
}
// if (cachedBoards && cachedBoards?.length > 0) {
// setBoards(cachedBoards);
// } else {
// signOutReset();
// }

let toc = document.querySelector(`.nextra-toc`);
let tocMinimized = JSON.parse(localStorage.getItem(`tocMinimized`));
Expand Down Expand Up @@ -969,12 +980,12 @@ export default function ProductIVF({ Component, pageProps, router }) {
setBrowser(`opera`);
}

setSystemStatus(`${getPage()} Loaded`);
setLoading(false);
setTimeout(() => {
setLoading(false);
setSystemStatus(`${getPage()} Loaded`);
}, 1500)
// setLoading(false);
// setSystemStatus(`${getPage()} Loaded`);
// setTimeout(() => {
// setLoading(false);
// setSystemStatus(`${getPage()} Loaded`);
// }, 1500)

// if (dev()) {
// console.log(`brwser`, brwser);
Expand Down Expand Up @@ -1034,6 +1045,7 @@ export default function ProductIVF({ Component, pageProps, router }) {
rearranging, setRearranging,
showLeaders, setShowLeaders,
systemStatus, setSystemStatus,
useNavigation, setUseNavigation,
featuresLoading, setFeaturesLoading,
authenticateOpen, setAuthenticateOpen,

Expand Down

1 comment on commit 4bf490b

@vercel
Copy link

@vercel vercel bot commented on 4bf490b Mar 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.