GithubHelp home page GithubHelp logo

yiliansource / pdfgroup Goto Github PK

View Code? Open in Web Editor NEW
11.0 11.0 1.0 575 KB

A web application to split and group a PDF document into multiple, smaller PDF documents.

Home Page: https://pdfgroup.vercel.app/

License: MIT License

JavaScript 0.81% TypeScript 99.19%

pdfgroup's People

Contributors

alex-zach avatar yiliansource avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

johnpuata

pdfgroup's Issues

Advanced page selection

To avoid having to constantly drag pages around, some (unobstrusive for "casual" mouse users) advanced page selection actions should be possible.

  • When the page is not selected, holding shift or control while left-clicking it will select it.
  • If it's already selected, performing the above will de-select it.

If pages are selected, right-clicking one of those will prompt a different context menu with:

  • Multi-delete (no confirmation)
  • Move to new group

Additionally, global key listeners will respond to the following events:

  • Enter key is pressed while pages are selected: The pages are moved to a new group.
  • Delete key is pressed while pages are selected: The pages are deleted (no confirmation).

These features should also be documented for the user in the context of #13.

Better keyboard navigation

Currently it's a bit bothersome to navigate the application with the keyboard (specifically the tab-button). This could be made more intuitive by allowed the tab button to directly focus the name inputs of the groups.

Prettier "options" menu

Currently the "options" menu only consists of a single toggle switch, with a semi-hidden description as a tooltip.
A better design choice would be a toolbar that users can use to adjust export settings.

Remove extension from imported files

Currently when importing files, the extension ".pdf" sticks to the group name after importing. This should be removed, since ".pdf" will be added the file name again regardless.

Mobile responsiveness

Currently, the application works well on desktops and tablets (landscape), but is untested with mobile devices and in portrait mode in general, resulting in a bad user experience on smaller screen.

This should be solved using media queries and proper flexbox usage.

[Bug] Re-arranging pages not possible after creating new group via button

Description

When re-arranging pages in groups that have been added via the "add group" button (not the drag-drop-field), the pages cannot be placed on indices other than 0.

Steps to reproduce

  1. Import a new document.
  2. Add new group via the "add group" button.
  3. Attempt to drop new pages in the group, or re-arrange them after dropping them.

Usage guide page

Since the entire feature set is not immediately shown, a seperate guide/docs page should be made that (briefly) explains the features that are possible to use with the application.

Allow larger page preview

Currently it's hard to identify pages if they are rendered with small sizes. Therefore, it should be possible to preview a page by clicking on it.

Dark mode

Self explanatory. The initial mode for this should be determined by the browser's preferred colour scheme. A toggle for this should also be available somewhere on the site.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.