Closed EllDoubleYew closed 7 years ago
So in no particular order I will try and list out each of the epics that encompass the implementation of this design. Under each are good places to start assigning tasks but are not "committal" in the sense that I am not guaranteeing more or less will be required for each of the tasks. Some I may start to describe the technicalities just so that it is more evident of how a task may be more or less involved than it looks on the surface but I will try and keep this higher level in general.
Create the status bar at the top of the screen
Implement the new navigation menu
Implement the new "T-Pain" (Which I vote we call "Scriptural Pane Organized Notationally by Group Environment" or S.P.O.N.G.E)
Implement the new translationAcademy display area
New selection area
This is mostly styling changes but I will still try and break down all the changes that we are going to need to make. We are actually simplifying the current component quite a bit by segmenting off a lot of this information. In my opinion this still still necessitates a rewrite of the targetVerseDisplay component that we currently have.
Implement the new propose changes area
Again this is mostly styling but we still probably need to rewrite the current component that we use for this.
Implement the new comments box
Side Nav Bar Component: Because of the action that is now expected from the tC logo on the side nav bar component, based on the new mockups, the logo should now be its own component that will hold:
Thus, the tC logo will act as a switch button that will toggle views from the checks list
to the side nav bar component
or vice versa.
tC logo: Clicking the tC logo
will change what will be displayed on the left side of the app. The new mockups give me the impression that we should order the side nav bar buttons in a hierarchical order. In other words, when the user opens the app the buttons will render on the screen in an on-demand fashion. so this means that the sign in / login
button will be the first button to be render and then the rest of the buttons will render one by one based on an order that could be the one suggested below by myself or determined by the stakeholders.
1. Login: Rework the login component so that it allows non-door43 account holders to save an alias/nickname to be used or attached to the projects h/she is working on.
2. Load: Once the user is signed in or an alias/nickname has been slected, the Load sidebar button
will render on the side nav bar component
and then the load your project modal
will open.
3. Tools: Once the user has loaded a project the Tools sidebar button
will render on the side nav bar component
. Then if no tool has previously been downloaded then the package manager
will open and prompt the user to download their first tool (We could use a toast notification
for this but it will have to render for more than seven seconds so that the user is able to read it). If tools
were previously downloaded or just finished downloading then the user will be prompt to select the tool
he desires to use.
4. Sync: Once the user has selected a tool
, the Sync sidebar button
will render on the side nav bar component
. If the project was loaded from local storage or loaded using a door43 project URL a toast notification
will pop up to let the user know that now that they loaded a new project they could sync or save it to their own repo on door 43.
5, 6, 7 Will all render in order after the previous toast was generated.
Create the status bar at the top of the screen
Creating the status bar will be fairly easy. It will obviously its own component holding the directory for the project and app and the status online/offline status. the directory will have to be implemented maybe it should be included in the store somehow (TDB). And the code to display online or offline is already save it a component inside the side nav bar
.
Implement the New T-Pain
plus button
is click that will change the number of verses the user can see and will slide down the to accomodate displaying more verses.dynamically select/upload bible versions
. We shouls create a spike to research what will it take to implement this new feature/functionality and how we can implement it
. Implement the new translationAcademy
targetVerseDisplay component
Implementing the switch button to mark the check as flagged for review
or correct in context
is not as simply as it sounds. in order to make this happen we will have to make sure that this component will check in the store to see if that check was previusly checked and make sure taht when checks are changed the view will change accordingly, i encountered this issue before with retained
and replaced
. Thus, some code will have to chnage in order to account for this with the store.
Propose changes Implementation
This component will not to be re-written but just new code will need to be added
check store.
Comments box Implementation
@EllDoubleYew @klappy @benjore @ihoegen @RoyalSix I dont think saving in the check store in real time is a good idea for any of the components since it may affect the apps performance with unnecessary saving on each character typed or selection made. it is possible that performing the check and then saving maintains a better app performance. we need to figure out another way to save. Savings in the check store in real time sounds like a bad practice and something that could cause a lot of problems in the future.
Comment on this issue a good writeup of what all needs to change both on the backend of core and react components themselves (which ones need to be rewritten?)