{"push_id":2443815095,"size":12,"distinct_size":12,"ref":"refs/heads/master","head":"e96388735c8b29fec501311bf8f27ed654c6d939","before":"99bfbb0e214f45ba4d939201bbcf1fb1090ee699","commits":[{"sha":"fb639c6934709a22b60642417b5f9ce42b858147","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Starting from scratch.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/fb639c6934709a22b60642417b5f9ce42b858147"},{"sha":"81d929866d2e40d89f375d5cb0d7c733cd2fb0eb","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Reimplementation with Flutter - list of hard-coded text.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/81d929866d2e40d89f375d5cb0d7c733cd2fb0eb"},{"sha":"15beee920c762768a3bb5289dea64dcb9eb9bb2e","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Basic add memory screen; save button non-functional.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/15beee920c762768a3bb5289dea64dcb9eb9bb2e"},{"sha":"c8ac224b55db477220dca47c73a133b7f1b5e586","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Date and tags added to memories.\n\nBoth are just strings; no concept of a datetime yet. The Add Memory page also has a place for date and tags now, but the Save button still doesn't do anything. The format of the main memories list looks quite bad now; there isn't enough spacing between the column of date/tags and the memory text.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/c8ac224b55db477220dca47c73a133b7f1b5e586"},{"sha":"b4fccaa6c35e34b8e7e9ae0eb1bcc973978f8709","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"AddMemory UI improvements.\n\nThe TextField for the memory text now accepts input with any number of lines. There appears to be an error, though, where the Save button covers the current line of text that you're typing.\nPadding was added around the Memory Text above the TextField.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/b4fccaa6c35e34b8e7e9ae0eb1bcc973978f8709"},{"sha":"6d5c0426c7ff09828eba8a96749c88e7b522bab7","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"More padding added to AddMemory page.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/6d5c0426c7ff09828eba8a96749c88e7b522bab7"},{"sha":"c606b433192c2ee891296cda7a9c26025c45b4e9","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Adding memories works!\n\nA ListView.Builder is used instead of just the ListView so that when new MemoryWidgets are added, the display updates accordingly.\nThe Memory class was renamed to MemoryWidget and a new Memory class (which isn't a widget) was created. Decoupling this makes it so we can change the attributes of a Memory, which we do while constructing it in AddMemory (see below). Once a Memory is finished, it can be wrapped with MemoryWidget to add on the display information.\nThe AddMemory page creates an empty Memory (if editing a memory, the values from the memory being edited are used instead) which is updated whenever the TextFields (date, tags, text) are updated. When Save is pressed, a MemoryWidget is created from this Memory and added to the list.\nMemoryListState now defines methods for adding new memories and updating (i.e. overwriting) existing ones. Defining these methods in a State lets us call setState whenever the list of memories is updated so that the UI will be refreshed.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/c606b433192c2ee891296cda7a9c26025c45b4e9"},{"sha":"782935e6e41090d4e055579b791a2d54bf7dd1fd","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"MemoryDetail screen added.\n\nTapping on a row in the MemoryList will go to a detail screen for that memory. This has the date as the title and shows the full memory text; no other functionality (delete / edit) is implemented yet.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/782935e6e41090d4e055579b791a2d54bf7dd1fd"},{"sha":"16679067bd45dae5a5ba6cfb600ee091bfb7aaa4","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Using Flux to store the memories.\n\nEspecially when implementing the edit page, I had to pass a reference to the MemoryListState through several classes. This approach seemed suboptimal, and at some point (despite getting no errors) the MemoryList page didn't show any of the memories. To alleviate issues with needing access to the memories in multiple locations, memory_store now defines a Store which manages the list of Memory's. It defines the actions that can be used to add or update a Memory (the Memory class itself was also moved to memory_store).\n\nMemoryListState listens to MemoryStore and updates its view accordingly. The AddMemory page is working now with Flux, but the EditMemory page isn't complete yet.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/16679067bd45dae5a5ba6cfb600ee091bfb7aaa4"},{"sha":"3b61cc2bcf03da86bc1eadc17206bfc19c26266a","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Edit page is functional.\n\nThe Edit page now correctly sets the initial values of the text fields to be the current values for the memory being edited. Saving an edit navigates back to the MemoryList page, as it did in the old implementation (going back to the MemoryDetail screen might be better, but we'd need to refresh the UI there to show the edit to that memory).","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/3b61cc2bcf03da86bc1eadc17206bfc19c26266a"},{"sha":"b299b796a830315ed3dafbf9e4c53203bf8b315f","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Delete function added - no confirmation.\n\nFrom the MemoryDetail screen one can click the trash IconButton in the AppBar to delete the given memory.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/b299b796a830315ed3dafbf9e4c53203bf8b315f"},{"sha":"e96388735c8b29fec501311bf8f27ed654c6d939","author":{"name":"Nathan Hunt","email":"2b8ca0a424069c555fddfb1aee59e9d2533e52ac@gmail.com"},"message":"Edit FAB moved to AppBar, index update fix.\n\nEditing memories isn't that common, so I moved the FAB to be an IconButton in the AppBar instead; this makes it less obtrusive.\nThere was also a bug (a race condition?) because a top-level MemoryStore was instantiated directly in main.dart in addition to the MemoryStore that MemoryListState listened to. This seems to have created two instances which both handled all actions. Depending on the timing of their action handling, their state could get out of sync. AddEditMemoryState now also uses the StoreWatcherMixin and listens to the MemoryStore properly by its token, so there's only one store and actions are taken exactly once.","distinct":true,"url":"https://api.github.com/repos/neighthan/memory_app/commits/e96388735c8b29fec501311bf8f27ed654c6d939"}]}
{"actor":{"display_login":"neighthan"}}