CompressPdf #422
Updated by Ayat Rahman over 1 year ago
**Objective** - The goal is to enhance the Download page, Loader, and Customize page with various functionalities. This includes file management (delete, rename), saving files to Google Drive, real-time upload progress tracking, and customizing compression settings. Additionally, hitting an API for general compression based on the compression type and saving the results in IndexedDB. The design must be responsive, dynamic values must be displayed correctly, and the user experience should be smooth across the pages. --- **Task Checklist** ### Download Page - [x] Implement "Go back" functionality from the download page. - [x] Save the latest files in IndexedDB for state persistence. - [x] Integrate "Save to Google Drive" functionality. - [x] Implement delete and rename functionalities on the download page. - [x] Implement PDF preview functionality. - [x] Enable PDF download functionality. - [x] Enable PDF print option. - [x] Implement Zip download option for multiple files. - [x] Implement individual and group share options. - [x] Dynamically display file properties (size, name, expiration time). - [x] Conditionally show edit/delete options and "Go back" based on IndexedDB state. - [x] Fix responsiveness issues and handle long file name overflow. ### Loader - [x] Implement real-time upload progress tracking after hitting "Start Compression". - [x] Implement compressing loader after file upload is completed. ### Customize Page - [x] Implement separate customize page that appears when the user clicks "Go Back". - [x] Save last customization parameters in IndexedDB and load them based on UID. - [x] Ensure Compression Level block slider and button are in sync. ### General Compression API - [x] Hit the API for general compression based on the selected compression type. - [x] Retrieve the compressed file data from the API. - [x] Save the compressed data in IndexedDB for persistence and further actions. --- **Success Criteria** - All functionalities on the Download page (file management, Google Drive integration, preview, download, print, share) are working smoothly. - Real-time upload progress is displayed correctly, and a compression loader appears after the upload completes. - The customize page loads saved parameters from IndexedDB and allows users to adjust settings, with the compression level slider and button functioning correctly. - The API is successfully hit for general compression, the response data is saved in IndexedDB, and the user can access it on the download page. - The design is fully responsive across devices, and long file names are handled without overflow issues. --- **Summary Task List** - [x] Implement all required functionalities on the Download page. - [x] Ensure real-time upload progress and compression loader on the Loader. - [x] Implement and sync customization options on the Customize page. - [x] Integrate API call for general compression and save response data to IndexedDB. --- **Related Links** - [Topical Map](https://docs.google.com/spreadsheets/d/1BqAaPCZ4EBxsjAXtwS-FQAGqCy7diec7wQY_e0UlWd0/edit?gid=1985954228#gid=1985954228) - [PRD](https://docs.google.com/document/d/1oSyvDKkmqHlq43PCHKwxvbY8keDCqTCf1dMSgsItXiA/edit#heading=h.5zceniauynjy) - [Figma Design](https://www.figma.com/design/PRrjK5diUoRJyR6mHeNPRG/compresspdf.to?node-id=913-21464&m=dev) ## GitHub Issue Link * [GitHub Issue #42](https://github.com/compress-pdf/compress-pdf-frontend/issues/42)