Commit graph

8 commits

Author SHA1 Message Date
Vadym Samoilenko
24883a313a Add Reset button and per-image Remove button
- Reset button clears all images and crops without page refresh
- Remove button on active image preview (bottom-left, hover turns red)
- Remove buttons in thumbnail strip were already present but now active image can also be deleted individually

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 17:06:16 +00:00
Vadym Samoilenko
66bafdcfa7 Improve UX: batch generate, ZIP fix, workflow guide, status badges
- Add "Generate All N Images" batch button with sequential processing and progress bar
- Fix ZIP folder collision: duplicate-named images get _2, _3 suffixes
- Add step-by-step workflow indicator in header (Upload → Ratios → Generate → Export)
- Show crop count badges on active image and thumbnail strip (✓ processed indicator)
- Add "no crops yet" placeholder with contextual hint
- Add summary bar showing processed image count, total crops, output files
- Improve CropPreviewCard: label header + pixel dimensions, better hover overlay
- Improve ImageUpload: hover-reveal remove buttons, + tile in thumbnail strip
- Raise muted-foreground lightness for better readability
- Soften border color and increase border-radius slightly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 17:02:01 +00:00
Vadym Samoilenko
222ebe86ad Redesign login page, add logout button, fix crop button visibility
- AuthGate: full-screen branded layout with left panel (scissors icon,
  tagline) and MS-branded sign-in button (official colors/logo)
- Index: show signed-in user name + LogOut button in header via useMsal
- Fix: show engine toggle + Generate button as soon as an image is
  uploaded; disable Generate until a ratio is selected instead of hiding

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 12:59:31 +00:00
Vadym Samoilenko
d7bc3593a4 Use sudo for rm and cp in deploy.sh to fix permission errors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 11:45:46 +00:00
Vadym Samoilenko
8113a2b37f Use sudo for chown in deploy.sh
The script runs as a non-root user; only the ownership change requires
elevated privileges. Using sudo chown instead of running the whole
script as root follows least-privilege principle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 20:04:22 +00:00
Vadym Samoilenko
8cea336065 Fix deploy.sh self-copy bug that aborted build
Removed no-op `cp "$ENV_FILE" "$REPO_DIR/.env"` — both paths resolve to
the same file, causing cp to exit with code 1 under `set -euo pipefail`,
which aborted the script before npm ci or npm run build could run.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 20:03:23 +00:00
Vadym Samoilenko
f145712998 Add Azure AD SSO authentication and deployment script
- Integrate MSAL (Azure AD) login gating the entire app
- Add deploy.sh for building and serving via Apache on Ubuntu
- Set Vite base path to /smartcrop26/ for subpath deployment
- Add .env.example with required environment variables

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 18:53:48 +00:00
DJP
3b84f974d8 Initial commit: SmartCrop2026 — AI-powered image cropping tool
- React + Vite + TypeScript + Tailwind + shadcn/ui
- AI crop engine (Google Gemini 2.5 Flash) + local edge-detection engine
- Pixel size outputs with configurable dimensions per ratio
- Import/export config (backward compatible with old Python SmartCrop configs)
- Crop editor with fixed-frame zoom/pan
- ZIP export with multi-size scaling
- Montserrat font, #FFC407 gold theme

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 15:15:53 -05:00