From 53659014e44e30739eb9f8bcbe68afdb2a089987 Mon Sep 17 00:00:00 2001 From: Mayank Bansal Date: Fri, 9 Jan 2026 23:35:31 +0530 Subject: [PATCH 1/2] cfix: replace my site urls and use env based redirection --- .../ExtensionStatusModal.test.tsx | 7 ++++++ .../Unit/Components/Navbar/Navbar.test.tsx | 2 +- __tests__/Unit/Components/Tasks/Card.test.tsx | 3 +++ src/components/Dropdown/Dropdown.tsx | 16 ++++++------ src/constants/url.ts | 25 +++++++++++-------- 5 files changed, 33 insertions(+), 20 deletions(-) diff --git a/__tests__/Unit/Components/ExtensionRequest/ExtensionStatusModal.test.tsx b/__tests__/Unit/Components/ExtensionRequest/ExtensionStatusModal.test.tsx index 4996dabf2..f63bf9fcc 100644 --- a/__tests__/Unit/Components/ExtensionRequest/ExtensionStatusModal.test.tsx +++ b/__tests__/Unit/Components/ExtensionRequest/ExtensionStatusModal.test.tsx @@ -121,8 +121,15 @@ describe('ExtensionStatusModal Component', () => { test('should test formatToRelativeTime function', () => { const timestamp = 1640995200; + const fixedNow = new Date('2025-01-01T00:00:00Z'); + + jest.useFakeTimers(); + jest.setSystemTime(fixedNow); + const result = formatToRelativeTime(timestamp); expect(result).toBe('3 years ago'); + + jest.useRealTimers(); }); test('should open extension request form when request extension button is clicked', () => { diff --git a/__tests__/Unit/Components/Navbar/Navbar.test.tsx b/__tests__/Unit/Components/Navbar/Navbar.test.tsx index 237f63b86..2ea4377ff 100644 --- a/__tests__/Unit/Components/Navbar/Navbar.test.tsx +++ b/__tests__/Unit/Components/Navbar/Navbar.test.tsx @@ -89,7 +89,7 @@ describe('Navbar', () => { ); expect(eventLink).toHaveAttribute( 'href', - 'https://www.realdevsquad.com/events.html' + 'https://www.realdevsquad.com/events' ); expect(memberLink).toHaveAttribute( 'href', diff --git a/__tests__/Unit/Components/Tasks/Card.test.tsx b/__tests__/Unit/Components/Tasks/Card.test.tsx index 025f1cbfa..00d924f67 100644 --- a/__tests__/Unit/Components/Tasks/Card.test.tsx +++ b/__tests__/Unit/Components/Tasks/Card.test.tsx @@ -537,6 +537,8 @@ describe('Task card', () => { }); it('renders "Started" with a specific date if status is not AVAILABLE', () => { + jest.useFakeTimers(); + jest.setSystemTime(new Date('2025-01-01T00:00:00Z')); const { getByTestId } = renderWithRouter( { ); const spanElement = screen.getByTestId('started-on'); expect(spanElement).toHaveTextContent('Started 4 years ago'); // Mocked date from moment + jest.useRealTimers(); }); it('Should show the status of the task', () => { renderWithRouter( diff --git a/src/components/Dropdown/Dropdown.tsx b/src/components/Dropdown/Dropdown.tsx index 68d84700a..4a6019b02 100644 --- a/src/components/Dropdown/Dropdown.tsx +++ b/src/components/Dropdown/Dropdown.tsx @@ -1,5 +1,5 @@ import Link from 'next/link'; -import { LOGOUT_URL, MAIN_SITE_URL, MY_SITE_URL } from '../../constants/url'; +import { LOGOUT_URL, MAIN_SITE_URL } from '../../constants/url'; import styles from '@/components/Dropdown/dropdown.module.scss'; export const logout = () => { @@ -18,23 +18,23 @@ const Dropdown = () => {
  • Home
  • - -
  • Status
  • - -
  • Profile
  • +
  • Status
  • +
  • Profile
  • + +
  • Tasks
  • Identity
  • diff --git a/src/constants/url.ts b/src/constants/url.ts index 901cef8f3..ac070d604 100644 --- a/src/constants/url.ts +++ b/src/constants/url.ts @@ -1,21 +1,25 @@ export const BASE_URL = `${process.env.NEXT_PUBLIC_BASE_URL}`; export const SUBSCRIBE_TO_CHALLENGE_URL = `${BASE_URL}/challenges/subscribe`; export const MINE_TASKS_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/tasks/self`; -export const USER_PROFILE_URL = 'https://my.realdevsquad.com/profile'; -export const HOME_URL = 'https://realdevsquad.com'; -export const WELCOME_URL = 'https://welcome.realdevsquad.com'; -export const EVENTS_URL = 'https://www.realdevsquad.com/events.html'; -export const CRYPTO_URL = 'https://crypto.realdevsquad.com'; -export const STATUS_URL = 'https://status.realdevsquad.com'; + +const isStaging = process.env.NEXT_PUBLIC_BASE_URL?.includes('staging'); +const envPrefix = isStaging ? 'staging-' : ''; + +export const USER_PROFILE_URL = `https://${envPrefix}my.realdevsquad.com/profile`; +export const HOME_URL = `https://${envPrefix}realdevsquad.com`; +export const WELCOME_URL = `https://${envPrefix}welcome.realdevsquad.com`; +export const EVENTS_URL = `https://${envPrefix}www.realdevsquad.com/events`; +export const CRYPTO_URL = `https://${envPrefix}crypto.realdevsquad.com`; +export const STATUS_URL = `https://${envPrefix}status.realdevsquad.com`; export const LOGIN_URL = `https://github.com/login/oauth/authorize?client_id=23c78f66ab7964e5ef97&state=${STATUS_URL}`; -export const MEMBERS_URL = 'https://members.realdevsquad.com'; +export const MEMBERS_URL = `https://${envPrefix}members.realdevsquad.com`; export const CHALLENGES_URL = `${BASE_URL}/challenges`; export const USER_SELF = `${BASE_URL}/users?profile=true`; export const USERS_IDLE = `${BASE_URL}/users/search?state=IDLE`; export const DEFAULT_AVATAR = '/Avatar.png'; export const RDS_LOGO = '/RDSLogo.png'; export const GITHUB_LOGO = '/github-white.png'; -export const SIGNUP_LINK = 'https://my.realdevsquad.com/signup'; +export const SIGNUP_LINK = `https://${envPrefix}www.realdevsquad.com/new-signup`; export const LOGOUT_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/auth/signout`; export const IDLE_USERS_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/users/status?state=IDLE`; export const ITEM_BY_FILTER_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/items/filter`; @@ -28,9 +32,8 @@ export const TASKS_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/tasks`; export const TASK_REQUEST_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/taskRequests`; export const ISSUES_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/issues`; export const USERS_URL = `${BASE_URL}/users`; -export const MAIN_SITE_URL = 'https://www.realdevsquad.com'; -export const MY_SITE_URL = 'https://my.realdevsquad.com'; -export const DASHBOARD_URL = 'https://dashboard.realdevsquad.com'; +export const MAIN_SITE_URL = `https://${envPrefix}www.realdevsquad.com`; +export const DASHBOARD_URL = `https://${envPrefix}dashboard.realdevsquad.com`; export const USER_MANAGEMENT_URL = `${DASHBOARD_URL}/users/details/`; export const TASK_REQUESTS_DETAILS_URL = `${DASHBOARD_URL}/task-requests/details/`; export const TASK_EXTENSION_REQUEST_URL = `${DASHBOARD_URL}/extension-requests/`; From 81f567aaa1810e9227db9c2ddd617e5acbce9113 Mon Sep 17 00:00:00 2001 From: Mayank Bansal Date: Sat, 10 Jan 2026 00:11:53 +0530 Subject: [PATCH 2/2] fix: use api url for staging detection --- src/constants/url.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/constants/url.ts b/src/constants/url.ts index ac070d604..a29a08853 100644 --- a/src/constants/url.ts +++ b/src/constants/url.ts @@ -2,7 +2,9 @@ export const BASE_URL = `${process.env.NEXT_PUBLIC_BASE_URL}`; export const SUBSCRIBE_TO_CHALLENGE_URL = `${BASE_URL}/challenges/subscribe`; export const MINE_TASKS_URL = `${process.env.NEXT_PUBLIC_BASE_URL}/tasks/self`; -const isStaging = process.env.NEXT_PUBLIC_BASE_URL?.includes('staging'); +const isStaging = process.env.NEXT_PUBLIC_BASE_URL?.includes( + 'staging-api.realdevsquad.com' +); const envPrefix = isStaging ? 'staging-' : ''; export const USER_PROFILE_URL = `https://${envPrefix}my.realdevsquad.com/profile`;