clragon / e1547

A sophisticated e621 browser
https://e1547.clynamic.net/
GNU General Public License v3.0
209 stars 16 forks source link

History function #53

Closed clragon closed 2 years ago

clragon commented 2 years ago

The app would benefit from a history.

The history could include only posts, or it could be more dynamic and allow any kind of thing to be put into the history.

clragon commented 2 years ago

The current beta includes a Post only history.

The downsides of this are that it will pollute the settings if we want to expand the history later on, and that there is no indication for users when they have executed certain tag searches.

clragon commented 2 years ago

It is planned that we will replace the post history in the beta with a more extensive system that allows any kind of object to be entered. ideas are posts, tag searches, pool searches (which are just tag searches, but could include more info?), forum posts, user profiles

clragon commented 2 years ago

The history should contain sticky headers for the dates. It is otherwise hard to tell what day the user is on with only a time provided.

clragon commented 2 years ago

The history should be searchable by date. It would be nice to be able to choose either a single date or a range of dates.

clragon commented 2 years ago

the history must be limited in order to not slow down the UI with large amounts of history data, as the settings object isnt made to store larger objects.

a reasonable approach would be to remove settings entries older than x days.

clragon commented 2 years ago

The history map will be rewritten to contain an object which in itself contains a list for each different type of history (post, tag, pool, forum), instead of directly being a list of post entries.

this is necessary, as different json objects cannot be mixed in a single list, due to parsing becoming difficult.

the entries will then be mixed again in the UI and can be sorted normally as all history entries need to contain a date.

clragon commented 2 years ago

this has been implemented sufficiently. posts, pools and tags are now logged in the history. the history can be turned off when desired. the history can be searched by date. the history entries can be deleted and multi-selected.