diff --git a/components/formatted/formattedUser.tsx b/components/formatted/formattedUser.tsx index 67ac236e6..18582c8d7 100644 --- a/components/formatted/formattedUser.tsx +++ b/components/formatted/formattedUser.tsx @@ -96,54 +96,51 @@ export default function FormattedUser({ className, hideAvatar, id, noLinks, noTo
- {!userExtendedData ? : <> - {!userExtendedData.user?.ts ? Unregistered for {game.displayName} : <> - {!game.isNotAGame && - - } - {!game.isNotAGame && !game.disableRanked && -
- Ranked Solves: - {userExtendedData.user.config?.calcRankedSolves} 🏅 -
- } - {!game.isNotAGame && -
- Levels Solved: - {userExtendedData.user.config?.calcLevelsSolvedCount} -
- } - {!game.isNotAGame && -
- Levels Completed: - {userExtendedData.user.config?.calcLevelsCompletedCount} -
- } - {user.hideStatus ? null : isOnline(userExtendedData.user) ? -
- Currently Playing: -
- -
+ !userExtendedData ? : +
+ {!game.isNotAGame && + + } + {!game.isNotAGame && !game.disableRanked && +
+ Ranked Solves: + {userExtendedData.user.config?.calcRankedSolves ?? 0} 🏅 +
+ } + {!game.isNotAGame && +
+ Levels Solved: + {userExtendedData.user.config?.calcLevelsSolvedCount ?? 0} +
+ } + {!game.isNotAGame && +
+ Levels Completed: + {userExtendedData.user.config?.calcLevelsCompletedCount ?? 0} +
+ } + {user.hideStatus || !userExtendedData.user.ts ? null : isOnline(userExtendedData.user) ? +
+ Currently Playing: +
+
- : -
- Last Seen: -
- } +
+ :
- Registered: - + Last Seen:
- } - } -
+ } +
+ Registered: + {userExtendedData.user?.ts ? : Not registered} +
+
)} data-tooltip-id={tooltipId} > diff --git a/pages/[subdomain]/profile/[name]/[[...tab]]/index.tsx b/pages/[subdomain]/profile/[name]/[[...tab]]/index.tsx index 86f57d881..5cfa2a6c1 100644 --- a/pages/[subdomain]/profile/[name]/[[...tab]]/index.tsx +++ b/pages/[subdomain]/profile/[name]/[[...tab]]/index.tsx @@ -469,7 +469,7 @@ export default function ProfilePage({ const difficultyType = game.type === GameType.COMPLETE_AND_SHORTEST ? 'Completed' : 'Solved'; // create an array of objects with the id, trigger element (eg. button), and the content element const tabsContent = { - [ProfileTab.Profile]: (user.ts ? + [ProfileTab.Profile]:
@@ -481,7 +481,7 @@ export default function ProfilePage({
{!game.isNotAGame &&
- {levelsSolvedByDifficulty ? : '...'} + {levelsSolvedByDifficulty ? : }
}
Ranked Solves: {user.config?.calcRankedSolves ?? 0} 🏅
} {!game.isNotAGame &&
Levels Solved: {user.config?.calcLevelsSolvedCount ?? 0}
} {!game.isNotAGame &&
Levels Completed: {user.config?.calcLevelsCompletedCount ?? 0}
} - {user.hideStatus ? null : isOnline(user) ? + {user.hideStatus || !user.ts ? null : isOnline(user) ?
Currently Playing: @@ -525,7 +525,7 @@ export default function ProfilePage({ :
Last Seen:
} -
Registered:
+
Registered: {user.ts ? : 'Not registered'}
{!game.isNotAGame &&
@@ -550,12 +550,7 @@ export default function ProfilePage({ following={following} isOpen={isFollowingOpen} /> -
- : -
- {user.name} has not yet registered. -
- ), +
, [ProfileTab.Insights]: , [ProfileTab.Multiplayer]: , [ProfileTab.Collections]: ( diff --git a/pages/[subdomain]/search/index.tsx b/pages/[subdomain]/search/index.tsx index 39aed737c..c2bb75471 100644 --- a/pages/[subdomain]/search/index.tsx +++ b/pages/[subdomain]/search/index.tsx @@ -740,58 +740,62 @@ export default function Search({ enrichedLevels, reqUser, searchAuthor, searchQu
- {!game.disableRanked && -
+
+ {!game.disableRanked && +
+ { + fetchLevels({ + ...query, + isRanked: query.isRanked === 'true' ? 'false' : 'true', + page: '1', + }); + }} + type='checkbox' + /> + +
+ } +
+ { - fetchLevels({ - ...query, - isRanked: query.isRanked === 'true' ? 'false' : 'true', + className='w-20 text-sm px-2 py-1' + id='min-step' + max='2500' + min='1' + onChange={(e: React.FormEvent) => { + queryDebounceHelper({ + minSteps: (e.target as HTMLInputElement).value, page: '1', }); }} - type='checkbox' + step='1' + type='number' + value={query.minSteps} + /> +
+
+ + ) => { + queryDebounceHelper({ + maxSteps: (e.target as HTMLInputElement).value, + page: '1', + }); + }} + step='1' + type='number' + value={query.maxSteps} /> -
- } -
- - ) => { - queryDebounceHelper({ - minSteps: (e.target as HTMLInputElement).value, - page: '1', - }); - }} - step='1' - type='number' - value={query.minSteps} - /> - - ) => { - queryDebounceHelper({ - maxSteps: (e.target as HTMLInputElement).value, - page: '1', - }); - }} - step='1' - type='number' - value={query.maxSteps} - />
diff --git a/pages/[subdomain]/users/index.tsx b/pages/[subdomain]/users/index.tsx index fda31f46b..1082018d9 100644 --- a/pages/[subdomain]/users/index.tsx +++ b/pages/[subdomain]/users/index.tsx @@ -16,7 +16,6 @@ import Page from '../../../components/page/page'; import Dimensions from '../../../constants/dimensions'; import GraphType from '../../../constants/graphType'; import { AppContext } from '../../../contexts/appContext'; -import { TimerUtil } from '../../../helpers/getTs'; import { logger } from '../../../helpers/logger'; import dbConnect from '../../../lib/dbConnect'; import { MultiplayerMatchType } from '../../../models/constants/multiplayer'; @@ -41,8 +40,7 @@ interface UserWithStats extends User { export interface UserSearchQuery extends ParsedUrlQuery { page: string; search: string; - showOnline: string; - showUnregistered: string; + showNotRegistered: string; sortBy: string; sortDir: 'desc' | 'asc'; } @@ -50,8 +48,7 @@ export interface UserSearchQuery extends ParsedUrlQuery { export const DEFAULT_QUERY = { page: '1', search: '', - showOnline: 'false', - showUnregistered: 'false', + showNotRegistered: 'false', sortBy: 'config.calcLevelsSolvedCount', sortDir: 'desc', } as UserSearchQuery; @@ -71,7 +68,7 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { } } - const { page, search, showOnline, showUnregistered, sortBy, sortDir } = searchQuery; + const { page, search, showNotRegistered, sortBy, sortDir } = searchQuery; // eslint-disable-next-line @typescript-eslint/no-explicit-any const searchObj = {} as { [key: string]: any }; @@ -83,15 +80,10 @@ export async function getServerSideProps(context: GetServerSidePropsContext) { }; } - if (showUnregistered !== 'true') { + if (showNotRegistered !== 'true') { searchObj['ts'] = { $exists: true }; } - if (showOnline === 'true') { - searchObj['hideStatus'] = { $ne: true }; - searchObj['last_visited_at'] = { $gt: TimerUtil.getTs() - 5 * 60 }; - } - const sortObj = [[sortBy, sortDir === 'asc' ? 1 : -1]]; // if we are sortting by completion then make the second order sort by solves @@ -506,49 +498,21 @@ export default function PlayersPage({ searchQuery, totalRows, users }: PlayersPr />
{ - fetchLevels({ - ...query, - showOnline: String(query.showOnline !== 'true'), - }); - }} - type='checkbox' - /> - -
-
- { fetchLevels({ ...query, - showUnregistered: String(query.showUnregistered !== 'true'), + showNotRegistered: String(query.showNotRegistered !== 'true'), }); }} type='checkbox' /> -
-
- -