Skip to content

Conversation

@BartoszKlonowski
Copy link
Member

This pull request closes #13

It completely redesigns the application.


The redesign contains
major changes:

  • Layout update
  • Theme - changed from silver/gray/blue to orange/blue/white which makes the app look more pleasant
  • Performance - fixed some major performance issues especially when app resize event occurred

minor changes:

  • Code improvements - code smell reduced, removed unused code, simplified some calculations and procedures
  • Buttons look and behavior

The results are as follows:
RNN-redesign


For more information please check the commit messages.

The NavigationView now has one graident used for background which is
kept between the navigation events.
For that reason all backgrounds were removed from all other pages in the
application so they do not override the main background.
The UserAccount will no longer be available in the application as it
will not support loggin system nor user customized notes.
Once you open the application, it will have all the notes as created by
one user.
The FlatList containing all the notes created in the application were
previously being rerendered each time the window's size changed.
This has been optimized by handling the whole database fetch procedure
in the main notes screen instead of delegating it into each note widget.

The current solution is that when NotesScreen page loads the database
returns the full set of notes already packed as objects.
This is returned as a Promise, which allows to render each note
separately and only then fill them with data.
Unfortunatelly due to the usage of external libraries (datetimepicker)
which does not support ARM devices builds, the CI did not pass for this
architecture.
To keep the CI reliable (without false-negative red notifications) the
ARM builds are removed from the workflow.
The issue with first note created in the system was that it was omitted
during the database fetch.
This was caused by the ID being indexed from 1 instead of 0.
To fix that, the ID of new note is set to the number of notes already
created.
The new design does not include the application settings so it should be
removed instead of keeping it empty.
Moreover, there's no configuration that could be done in the settings.
The full redesign of the JS side (RN side) of the application
includes:
 * Removed unused code
 * Improved buttons layout and behavior - buttons no longer have their
   black background when pressed and their space is adjusted to the
   current layout instead of reserving pixels
 * Colors improved
 * Better and simplier widgets size adjustments
   This is done by removing the calculations of height and width of
   panels based on window's dimension, but instead it's done by built-in
   percentage values
 * Deletion and cancelation buttons improved
   They contains now simple messages easy to understand
@BartoszKlonowski BartoszKlonowski merged commit 81438e3 into main Jun 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Application full redesign

2 participants