Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
55a895c
Refactor Goal and OutOfScope modules to share AI components and context
iDome89 Feb 26, 2026
8b6a4d7
Add small size to AI suggestion buttons in AdditionalTarget, Goal, an…
iDome89 Feb 26, 2026
e308c86
Update action strings in AI suggestion requests for consistency
iDome89 Feb 27, 2026
4e5253a
Add additional target module and related tests for AI suggestions
iDome89 Feb 27, 2026
c860708
fix
iDome89 Feb 27, 2026
b89f4cb
Add pre-commit hook to run lint-staged for code quality checks
iDome89 Mar 2, 2026
7db0a5a
feat: enhance task list creation by incorporating module information …
iacopolea Feb 19, 2026
28618a2
feat: change out of scope module position. UN-2337
iacopolea Feb 19, 2026
d3600f3
validation
iacopolea Feb 19, 2026
e8c784f
Merge pull request #1522 from AppQuality/UN-2386-config
marcbon Mar 3, 2026
4afa236
feat: add CreateTaskListsWithAIModal component and integrate AI task …
iacopolea Feb 23, 2026
2fbc4ac
feat: update task count to a fixed value and remove task count input …
iacopolea Feb 23, 2026
d93b6e6
feat: confirmation modal
iacopolea Feb 23, 2026
cd9f9db
feat: add stop functionality to task creation process and update butt…
iacopolea Feb 23, 2026
7b5b84f
feat: integrate AI task list modal state management in context and up…
iacopolea Feb 24, 2026
fa7b869
feat: add AI task creation disclaimer and button to TasksModal, updat…
iacopolea Feb 24, 2026
2aa0251
feat: enhance AI task creation modal with alerts, loading states, and…
iacopolea Feb 25, 2026
40e23ab
feat: add AiGeneratorSection component and update TasksModal to integ…
iacopolea Feb 27, 2026
3b3bdb2
feat: update AI task creation modal with new labels and improved user…
iacopolea Feb 27, 2026
29db31e
feat: add loading spinner component and update AI task creation modal…
iacopolea Feb 27, 2026
a4d8570
feat: update task selection component to improve user experience with…
iacopolea Feb 27, 2026
34aa192
refactor: clean up imports and improve formatting in modal components
iacopolea Feb 27, 2026
e8a707f
feat: add placeholder to tasks quantity input for improved user guidance
iacopolea Feb 27, 2026
5d94d17
feat: add AI beta tag and tooltip to task creation modal, update stop…
iacopolea Mar 3, 2026
3ec761b
fix: adjust margin styles in AiGeneratorSection and center text in Lo…
iacopolea Mar 3, 2026
da8ef7d
style: format JSX for improved readability in AiGeneratorSection and …
iacopolea Mar 3, 2026
0f68dba
Refactor input divs in AdditionalTarget, Goal, and OutOfScope compone…
Kariamos Mar 4, 2026
e92a9c5
Add additional error response codes to operations in schema
Kariamos Mar 4, 2026
a8d3e91
refactor: simplify AiGeneratorSection by removing props and integrati…
iacopolea Mar 4, 2026
e13fe1b
chore: add missing environment files to .dockerignore
sinatragianpaolo Feb 17, 2026
2be6400
chore: update .env.template with all required variables
sinatragianpaolo Feb 17, 2026
34b1e43
docs: replace CRA boilerplate README with project-specific documentation
sinatragianpaolo Feb 17, 2026
3ac7ddc
chore: remove unused .env.test and clean up dead variables from .env …
sinatragianpaolo Feb 17, 2026
f51db18
chore: remove .env.test.local from .gitignore
sinatragianpaolo Feb 18, 2026
4403576
fix: restore REACT_APP_API_URL in .env.development for CI compatibility
sinatragianpaolo Feb 18, 2026
97dab65
chore: add REACT_APP_CROWD_WP_URL to .env files
sinatragianpaolo Mar 4, 2026
1385e5b
chore: add comments for REACT_APP_CROWD_WP_URL in .env files to clari…
sinatragianpaolo Mar 4, 2026
5d5f5a0
chore: remove Sentry integration
sinatragianpaolo Feb 26, 2026
f5d30f0
chore: remove residual Sentry references from CI workflows and gitignore
sinatragianpaolo Feb 27, 2026
39b7cc2
fix: remove yarn.lock and update package-lock.json after Sentry removal
sinatragianpaolo Mar 4, 2026
8fc6412
fix: regenerate package-lock.json with npm 11.9.0 to fix cosmiconfig …
sinatragianpaolo Mar 5, 2026
dc44c29
Merge pull request #1527 from AppQuality/UN-2390-2392
iDome89 Mar 5, 2026
87204c0
fix: remove debug console log for records in CreateTaskListsWithAI co…
iacopolea Mar 5, 2026
b9746ef
Merge pull request #1528 from AppQuality/UN-2370
iacopolea Mar 5, 2026
be4e697
Merge pull request #1524 from AppQuality/UN-2411
iacopolea Mar 5, 2026
5bbca95
Merge pull request #1519 from AppQuality/UN-2376
sinatragianpaolo Mar 5, 2026
ff062fe
fix: update goal input locator for consistency in tests
Kariamos Mar 6, 2026
52d5761
fix: update moduleInput locator to use getByTestId for consistency
Kariamos Mar 6, 2026
022344c
fix: update moduleInput locator to use role attribute for consistency
Kariamos Mar 6, 2026
05d7ded
fix: update tab references in OutOfScope module and tests for consist…
iDome89 Mar 6, 2026
34b3b5d
Merge pull request #1533 from AppQuality/fix-e2e-tests-modules
iDome89 Mar 6, 2026
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
9 changes: 9 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"permissions": {
"allow": [
"Bash(npx playwright test --list)",
"Bash(source ~/.zshrc)",
"Bash(node --version)"
]
}
}
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@ node_modules
.git
.husky
generate-devel-token.json
generate-local-token.json
build
Dockerfile
.env.production.local
.env.development.local
.env.development
.env.local
11 changes: 8 additions & 3 deletions .env.development
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
REACT_APP_GTM_ID=GTM-WVXPS94
REACT_APP_GA4_ID=G-3G0Z44ZM07
REACT_APP_API_URL=https://dev.unguess.io/api

REACT_APP_TRYBER_URL=https://dev.tryber.me
REACT_ZAPIER_WEBHOOK=https://hooks.zapier.com/hooks/catch/5196925/bkxm1k6/
REACT_APP_STRAPI_URL=https://admin.unguess.io
REACT_APP_STRAPI_API_URL=https://admin.unguess.io/api
REACT_APP_CROWD_WP_URL=

## Comment next line to use local API and uncomment on testing staging or production API
REACT_APP_API_URL=https://dev.unguess.io/api

## Required for login/logout WordPress calls (e.g. /wp-admin/admin-ajax.php). If missing, Vite will not define this variable and URLs will break with "undefined/..."
REACT_APP_CROWD_WP_URL=

6 changes: 4 additions & 2 deletions .env.production
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ REACT_APP_GTM_ID=GTM-WVXPS94
REACT_APP_GA4_ID=G-2M29YVTK78
REACT_APP_API_URL=/api
REACT_APP_TRYBER_URL=https://app.tryber.me
REACT_ZAPIER_WEBHOOK=https://hooks.zapier.com/hooks/catch/5196925/bkxm1k6/
REACT_APP_STRAPI_URL=https://admin.unguess.io
REACT_APP_STRAPI_API_URL=https://admin.unguess.io/api
REACT_APP_CROWD_WP_URL=

## Required for login/logout WordPress calls (e.g. /wp-admin/admin-ajax.php). If missing, Vite will not define this variable and URLs will break with "undefined/..."
REACT_APP_CROWD_WP_URL=

18 changes: 16 additions & 2 deletions .env.template
Original file line number Diff line number Diff line change
@@ -1,2 +1,16 @@
REACT_APP_API_URL=https://dev.unguess.io/api
REACT_APP_CROWD_WP_URL=https://dev.unguess.io
# API
REACT_APP_API_URL=https://dev.unguess.io/api # Comment this line to use local API and uncomment on testing staging or production API
REACT_APP_CROWD_WP_URL=https://dev.unguess.io
REACT_APP_TRYBER_URL=https://dev.tryber.me

# Analytics
REACT_APP_GTM_ID=
REACT_APP_GA4_ID=

# Strapi CMS
REACT_APP_STRAPI_URL=https://admin.unguess.io
REACT_APP_STRAPI_API_URL=https://admin.unguess.io/api
REACT_APP_STRAPI_API_TOKEN=<your-strapi-token>

# Auth (development only - bypass login with a JWT token)
REACT_APP_DEFAULT_TOKEN=<your-jwt-token>
9 changes: 0 additions & 9 deletions .env.test

This file was deleted.

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
3 changes: 0 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

npm-debug.log*
Expand All @@ -32,8 +31,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
83 changes: 57 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,77 @@
# Getting Started with Create React App
# UNGUESS React

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Frontend web app della piattaforma UNGUESS.

## Available Scripts
## Tech Stack

In the project directory, you can run:
React, TypeScript, Vite, Redux Toolkit, styled-components

### `npm start`
## Setup locale

Runs the app in the development mode.\
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.
### Prerequisiti

The page will reload if you make edits.\
You will also see any lint errors in the console.
- Node.js >= 20
- npm

### `npm test`
### Installazione

Launches the test runner in the interactive watch mode.\
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.
```bash
npm ci
```

### `npm run build`
### Configurazione environment

Builds the app for production to the `build` folder.\
It correctly bundles React in production mode and optimizes the build for the best performance.
Copia il template e personalizza i valori:

The build is minified and the filenames include the hashes.\
Your app is ready to be deployed!
```bash
cp .env.template .env.local
```

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.
Le variabili principali da configurare in `.env.local`:

### `npm run eject`
| Variabile | Descrizione |
| ---------------------------- | ---------------------------------------------------------------------------------- |
| `REACT_APP_API_URL` | URL delle API (locale: `http://localhost:3002`, dev: `https://dev.unguess.io/api`) |
| `REACT_APP_DEFAULT_TOKEN` | JWT token per bypassare il login in sviluppo |
| `REACT_APP_STRAPI_API_TOKEN` | Token di autenticazione per le API Strapi |

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**
Le altre variabili nel template hanno gia' valori di default adatti allo sviluppo.

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.
### Avvio

Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
```bash
npm start
```

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
Apri [http://localhost:3000](http://localhost:3000).

## Learn More
## Script principali

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).
| Comando | Descrizione |
| ------------------------- | ------------------------------------------- |
| `npm start` | Avvia il dev server Vite |
| `npm run build` | Build di produzione nella cartella `build/` |
| `npm run generate-api` | Genera i tipi TypeScript dall'OpenAPI spec |
| `npm run generate-schema` | Genera lo schema TypeScript dall'API |
| `npm run lint` | Esegue ESLint |
| `npm run format:check` | Verifica la formattazione con Prettier |
| `npm run type:check` | Verifica i tipi TypeScript |
| `npm run validate` | Esegue lint + type check + format check |

To learn React, check out the [React documentation](https://reactjs.org/).
## Environment: build-time vs runtime

L'app usa due meccanismi diversi per le variabili d'ambiente:

### Build-time (Vite)

Le variabili `REACT_APP_*` definite nei file `.env.*` vengono iniettate al momento del build da Vite come `process.env.REACT_APP_*`. Sono fissate nel bundle JavaScript e non modificabili dopo il build.

File coinvolti: `.env.development`, `.env.production`, `.env.local`

### Runtime (Docker)

Le variabili `REACT_APP_ENVIRONMENT` e `REACT_APP_VERSION` vengono iniettate a runtime dal container Docker tramite `docker-entrypoint.sh`, che genera il file `public/static/env-config.js` con l'oggetto `window.react_env`.

Questo permette di usare la stessa immagine Docker in ambienti diversi (staging, production) cambiando solo le variabili d'ambiente del container.

File coinvolti: `docker-entrypoint.sh`, `public/static/env-config.js`, `src/types.d.ts`
Loading
Loading