unfoldingWord / translationCore

Repository for the desktop application translationCore
https://www.translationcore.com
Other
36 stars 11 forks source link

SPIKE: What does it take to implement the new design #242

Closed EllDoubleYew closed 7 years ago

EllDoubleYew commented 7 years ago

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?)

EllDoubleYew commented 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 status

Implement the new navigation menu screen_shot_2016-10-21_at_12 04 33_pm

Implement the new "T-Pain" (Which I vote we call "Scriptural Pane Organized Notationally by Group Environment" or S.P.O.N.G.E)

newtpane

Implement the new translationAcademy display area tadisplay

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. mainselection

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. newproposechanges

Implement the new comments box newcomments

mannycolon commented 7 years ago

20161025_135958

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.

img_20161025_141909

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.

mannycolon commented 7 years ago

Create the status bar at the top of the screen status

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.

mannycolon commented 7 years ago

Implement the New T-Pain

newtpane

mannycolon commented 7 years ago

Implement the new translationAcademy tadisplay

mannycolon commented 7 years ago

targetVerseDisplay component mainselection

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.

mannycolon commented 7 years ago

Propose changes Implementation newproposechanges

This component will not to be re-written but just new code will need to be added

Comments box Implementation newcomments

mannycolon commented 7 years ago

@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.