Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .github/workflows/push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@ jobs:
docker build \
--build-arg STRAPI_TOKEN=${{ secrets.STRAPI_TOKEN }} \
--build-arg STAGE_ENV="development" \
--build-arg SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} \
-t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
echo "::set-output name=image::$ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG"
1 change: 0 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,6 @@ jobs:
# be deployed to ECS.
docker build \
--build-arg STRAPI_TOKEN=${{ secrets.STRAPI_TOKEN }} \
--build-arg SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }} \
--build-arg STAGE_ENV="production" \
-t $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG .
docker push $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
Expand Down
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ generate-local-token.json

# vs code configuration
.vscode
# Sentry Config File
.sentryclirc
/test-results/
/playwright-report/
/blob-report/
Expand Down
2 changes: 0 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ ARG STAGE_ENV
FROM node:24-alpine as base

ARG STRAPI_TOKEN
ARG SENTRY_AUTH_TOKEN


COPY package.json ./
Expand All @@ -16,7 +15,6 @@ COPY . .
RUN echo REACT_APP_STRAPI_API_TOKEN=${STRAPI_TOKEN} > .env.local
ENV PUBLIC_URL=/
RUN ["npm", "run", "build"]
RUN ["npm", "run", "sentry:sourcemaps"]


FROM alpine:3.22 as web
Expand Down
4 changes: 0 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
"@emotion/is-prop-valid": "^1.4.0",
"@mastra/ai-sdk": "^0.3.1",
"@reduxjs/toolkit": "^1.8.0",
"@sentry/react": "^8.32.0",
"@zendeskgarden/svg-icons": "^7.2.0",
"ai": "^6.0.50",
"analytics": "^0.8.16",
Expand Down Expand Up @@ -64,7 +63,6 @@
"lint": "eslint --ext .tsx,.ts .",
"validate": "run-p lint type:check format:check",
"prepare": "husky install",
"sentry:sourcemaps": "sentry-cli sourcemaps inject --org appquality-srl --project unguess-react ./build && sentry-cli sourcemaps upload --org appquality-srl --project unguess-react ./build",
"dev": "vite --mode development"
},
"browserslist": {
Expand All @@ -83,8 +81,6 @@
"@currents/playwright": "^1.5.6",
"@playwright/test": "^1.46.0",
"@rtk-query/codegen-openapi": "1.2.0",
"@sentry/cli": "^2.23.0",
"@sentry/types": "^8.32.0",
"@svgr/core": "^8.1.0",
"@svgr/plugin-jsx": "^8.1.0",
"@testing-library/jest-dom": "^5.16.2",
Expand Down
286 changes: 137 additions & 149 deletions src/common/Pages.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import * as Sentry from '@sentry/react';
import { useTranslation } from 'react-i18next';
import {
createBrowserRouter,
Expand All @@ -8,7 +7,6 @@ import {
RouterProvider,
} from 'react-router-dom';
import ErrorBoundaryPage from 'src/common/components/ErrorBoundary/ErrorBoundaryPage';
import SentryWrapper from 'src/features/SentryWrapper';
import Bug from 'src/pages/Bug';
import PublicBugPage from 'src/pages/BugPublic/PublicBugPage';
import BugForm from 'src/pages/Bugform';
Expand All @@ -35,160 +33,150 @@ const Pages = () => {
const { i18n } = useTranslation();

const langPathPrefixes = [...i18n.languages, ''];
const sentryCreateBrowserRouter =
Sentry.wrapCreateBrowserRouter(createBrowserRouter);
return (
<SentryWrapper>
<RouterProvider
router={sentryCreateBrowserRouter(
createRoutesFromElements(
<>
{langPathPrefixes.map((langPrefix) => (
<RouterProvider
router={createBrowserRouter(
createRoutesFromElements(
<>
{langPathPrefixes.map((langPrefix) => (
<Route
path={`/${langPrefix}`}
key={`react-router-${langPrefix}`}
errorElement={
process.env.NODE_ENV === 'development' ? undefined : (
<ErrorBoundaryPage />
)
}
>
<Route
path={`/${langPrefix}/campaigns/:campaignId`}
element={<Campaign />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/preview`}
element={<CampaignPreview />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/bugform`}
element={<BugForm />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/manual`}
element={<Manual />}
/>
<Route path={`/${langPrefix}/login`} element={<LoginPage />} />
<Route path={`/${langPrefix}/join`} element={<JoinPage />} />
<Route
path={`/${langPrefix}`}
key={`react-router-${langPrefix}`}
errorElement={
process.env.NODE_ENV === 'development' ? undefined : (
<ErrorBoundaryPage />
)
}
>
<Route
path={`/${langPrefix}/campaigns/:campaignId`}
element={<Campaign />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/preview`}
element={<CampaignPreview />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/bugform`}
element={<BugForm />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/manual`}
element={<Manual />}
/>
<Route
path={`/${langPrefix}/login`}
element={<LoginPage />}
/>
<Route path={`/${langPrefix}/join`} element={<JoinPage />} />
<Route
path={`/${langPrefix}/join/invites/:profile/:token`}
element={<JoinPage />}
/>
path={`/${langPrefix}/join/invites/:profile/:token`}
element={<JoinPage />}
/>

<Route
path={`/${langPrefix}/projects/:projectId`}
element={<Project />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/bugs`}
element={<Bugs />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/bugs/:bugId`}
element={<Bug />}
/>
<Route
path={`/${langPrefix}/templates`}
element={<Templates />}
/>
<Route
path={`/${langPrefix}/templates/:templateId`}
element={<Template />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/videos`}
element={<Videos />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/insights`}
element={<InsightsPage />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/videos/:videoId`}
element={<Video />}
/>
<Route
path={`/${langPrefix}/plans/:planId`}
element={<Plan />}
/>
{/* No route found */}
<Route
path={`/${langPrefix}/media/oops`}
element={<MediaNotFound />}
/>
<Route path={`/${langPrefix}/oops`} element={<NotFound />} />
<Route index element={<Dashboard />} />
<Route
path={`/${langPrefix}/profile`}
element={<Profile />}
/>
</Route>
))}
<Route
path={`/${langPrefix}/projects/:projectId`}
element={<Project />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/bugs`}
element={<Bugs />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/bugs/:bugId`}
element={<Bug />}
/>
<Route
path={`/${langPrefix}/templates`}
element={<Templates />}
/>
<Route
path={`/${langPrefix}/templates/:templateId`}
element={<Template />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/videos`}
element={<Videos />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/insights`}
element={<InsightsPage />}
/>
<Route
path={`/${langPrefix}/campaigns/:campaignId/videos/:videoId`}
element={<Video />}
/>
<Route
path={`/${langPrefix}/plans/:planId`}
element={<Plan />}
/>
{/* No route found */}
<Route
path={`/${langPrefix}/media/oops`}
element={<MediaNotFound />}
/>
<Route path={`/${langPrefix}/oops`} element={<NotFound />} />
<Route index element={<Dashboard />} />
<Route path={`/${langPrefix}/profile`} element={<Profile />} />
</Route>
))}

<Route
path="/it/dashboard-campagne-funzionali"
element={
<Redirect
url={({ searchParams }) => {
if (!searchParams || !searchParams.get('cid'))
return '/it/oops';
if (!searchParams.get('bug_id'))
return `/it/campaigns/${searchParams.get('cid')}`;
return `/it/campaigns/${searchParams.get(
'cid'
)}/bugs/${searchParams.get('bug_id')}`;
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>
<Route
path="/functional-customer-dashboard"
element={
<Redirect
url={({ searchParams }) => {
if (!searchParams || !searchParams.get('cid'))
return '/oops';
if (!searchParams.get('bug_id'))
return `/campaigns/${searchParams.get('cid')}`;
return `/campaigns/${searchParams.get(
'cid'
)}/bugs/${searchParams.get('bug_id')}`;
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>
<Route
path="/it/dashboard-campagne-funzionali"
element={
<Redirect
url={({ searchParams }) => {
if (!searchParams || !searchParams.get('cid'))
return '/it/oops';
if (!searchParams.get('bug_id'))
return `/it/campaigns/${searchParams.get('cid')}`;
return `/it/campaigns/${searchParams.get(
'cid'
)}/bugs/${searchParams.get('bug_id')}`;
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>
<Route
path="/functional-customer-dashboard"
element={
<Redirect
url={({ searchParams }) => {
if (!searchParams || !searchParams.get('cid'))
return '/oops';
if (!searchParams.get('bug_id'))
return `/campaigns/${searchParams.get('cid')}`;
return `/campaigns/${searchParams.get(
'cid'
)}/bugs/${searchParams.get('bug_id')}`;
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>

<Route
path="/join"
element={
<Redirect
url={({ searchParams }) => {
if (!searchParams || !searchParams.get('redirect'))
return '/oops';
return `/campaigns/${searchParams.get('cid')}/bugform`;
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>
<Route
path="/join"
element={
<Redirect
url={({ searchParams }) => {
if (!searchParams || !searchParams.get('redirect'))
return '/oops';
return `/campaigns/${searchParams.get('cid')}/bugform`;
}}
/>
}
errorElement={<ErrorBoundaryPage />}
/>

<Route
path="/defect/:defectId/:token"
element={<PublicBugPage />}
/>
<Route
path="/defect/:defectId/:token"
element={<PublicBugPage />}
/>

<Route path="*" element={<Navigate replace to="/oops" />} />
</>
)
)}
/>
</SentryWrapper>
<Route path="*" element={<Navigate replace to="/oops" />} />
</>
)
)}
/>
);
};

Expand Down
Loading
Loading