AFFAANhandClaude Opus 5 f8a9d5b250 feat(campaigns): add a delete action with a scope-aware confirmation
The dialog says what will actually be destroyed, which differs by case:
a synced MaskanX campaign is deleted on Meta too, an imported one is only
forgotten here, and a draft never reached Meta at all.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 17:33:32 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30
2026-08-01 10:28:39 +05:30

MaskanX Frontend

Independent React, TypeScript, and Vite frontend for MaskanX.

Service Contract

  • Default development URL: http://127.0.0.1:5173
  • Backend API: configured with VITE_MASKANX_API_URL
  • Local proxy target: configured with VITE_MASKANX_PROXY_TARGET
  • Database access: none; this service never receives PostgreSQL credentials

Local Setup

npm install
Copy-Item .env.local.example .env.local
npm run local

Start maskanx-backend on port 8088 before using the full UI.

Campaigns page

The Campaigns page needs VITE_META_AD_ACCOUNT_ID set to the Meta ad account id (act_<digits>) in your .env.* file.

If it is unset the page still loads and lists campaigns, but four things are silently unavailable: the ad-account billing panel, the warning shown when no payment method is attached, ad preview in the wizard, and the account-minimum budget check (the backend cannot look up min_daily_budget without an account, so it skips that validation and logs a warning).

Ad preview also requires META_ADS_ACCESS_TOKEN to be configured on the backend, in Settings > Environments.

Commands

Command Purpose
npm run start Preview the production build on port 5173
npm run build Type-check and build dist/
npm run local Local Vite server using .env.local
npm run dev Development server using .env.development
npm run test Test-mode type-check and production build
npm run lint ESLint checks
npm run prod Production-mode preview

Database migration and seed commands intentionally live in maskanx-backend. A frontend must never own database credentials.

Production

Build the container with the browser-visible backend URL:

docker build `
  --build-arg VITE_MASKANX_API_URL=https://api.example.com `
  -t maskanx-frontend .

The backend must allow the deployed frontend origin through MASKANX_CORS_ORIGINS.

S
Description
No description provided
Readme
585 KiB
Languages
TypeScript 85.5%
Less 12.9%
CSS 1%
JavaScript 0.5%