diff --git a/apps/juxtaposition-ui/src/middleware/consoleAuth.js b/apps/juxtaposition-ui/src/middleware/consoleAuth.js index 47bd95d2..d7570157 100644 --- a/apps/juxtaposition-ui/src/middleware/consoleAuth.js +++ b/apps/juxtaposition-ui/src/middleware/consoleAuth.js @@ -68,13 +68,15 @@ export async function consoleAuth(request, response, next) { }); } const userAgent = request.headers['user-agent']; - if (request.user.accessLevel < 3 && (request.cookies.access_token || (!userAgent.includes('Nintendo WiiU') && !userAgent.includes('Nintendo 3DS')))) { + const uaIsConsole = userAgent.includes('Nintendo WiiU') || userAgent.includes('Nintendo 3DS'); + if (request.user.accessLevel < 3 && (request.cookies.access_token || !uaIsConsole)) { return response.render('portal/partials/ban_notification.ejs', { user: null, error: 'Invalid authentication method used.' }); } + response.locals.uaIsConsole = uaIsConsole; response.locals.lang = processLanguage(request.paramPackData); response.locals.pid = request.pid; return next(); diff --git a/apps/juxtaposition-ui/src/services/juxt-web/views/context.ts b/apps/juxtaposition-ui/src/services/juxt-web/views/context.ts index 5a5be792..49ae489f 100644 --- a/apps/juxtaposition-ui/src/services/juxt-web/views/context.ts +++ b/apps/juxtaposition-ui/src/services/juxt-web/views/context.ts @@ -7,6 +7,7 @@ export type RenderContext = { cdnUrl: string; moderator: boolean; pid: number; + uaIsConsole?: boolean; // user agent looks like a Nintendo console usersMap: HashMap; // map of PID -> screen name }; @@ -17,6 +18,7 @@ export function buildContext(res: Response): RenderContext { lang: locals.lang, cdnUrl: locals.cdnURL, moderator: locals.moderator, + uaIsConsole: locals.uaIsConsole, pid: locals.pid }; } diff --git a/apps/juxtaposition-ui/src/services/juxt-web/views/ctr/messageThread.tsx b/apps/juxtaposition-ui/src/services/juxt-web/views/ctr/messageThread.tsx index a714e82c..a3d412ab 100644 --- a/apps/juxtaposition-ui/src/services/juxt-web/views/ctr/messageThread.tsx +++ b/apps/juxtaposition-ui/src/services/juxt-web/views/ctr/messageThread.tsx @@ -46,7 +46,7 @@ export function CtrMessageThreadView(props: MessageThreadViewProps): ReactNode { const otherUserName = props.ctx.usersMap.get(props.otherUser.pid) ?? ''; return ( - +