[feat] Add ZIP download support for multiple assets

## Summary
When downloading multiple selected assets, they are now bundled into a single ZIP file instead of downloading each file individually.

## Changes
- Use `client-zip` library to generate ZIP files in the browser
- Use `Promise.allSettled` to include remaining files in ZIP even if some fail
- Automatically add numbers to duplicate filenames
- Notify users with toast messages based on download status
- Auto-generate filename with timestamp to prevent filename collisions

### Modified Files
- `src/platform/assets/composables/useMediaAssetActions.ts`: Implement ZIP download logic
- `src/locales/en/main.json`: Add new i18n strings
- `package.json`: Add `client-zip` dependency

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jin Yi
2025-11-27 22:55:57 +09:00
parent 9d131a4267
commit efebd5fc7c
5 changed files with 140 additions and 25 deletions

View File

@@ -159,6 +159,7 @@
"algoliasearch": "catalog:",
"axios": "catalog:",
"chart.js": "^4.5.0",
"client-zip": "catalog:",
"dompurify": "^3.2.5",
"dotenv": "catalog:",
"es-toolkit": "^1.39.9",