* Make minimum viable RemoteComment
* Minimum vialbe RemoteIdentification
* Minimum viable remote project, place, and messages
* Create minimum viable records for all remote factories
* Remove factories for local device data
* Minimum viable local taxon, comment, id
* Minimum viable for local observation photo (photo has no primary key)
* Minimum viable LocalUser
* Minimum viable record for LocalObservation
* Allow editing of existing id; remove unused id buttons; closes#230 and closes#231
* Remove unused text component & update IdentificationSection to tailwind css
* Remove unused obsEdit styles; convert styles to tailwind
* Remove unused bottom modal component and obsedit stylesheet
* Add comments to useEffect for opening local observation; convert realm object to JSON
* ObsEdit loads obs from db only when required
* Use observation update API call for observations already on the server
* Change wasSynced to instance method; only upload unsynced evidence
* Move keyboard aware scroll mock to jest.setup
* Await uploading evidence instead of returning a different response
Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
* Fetch taxon details from API v2
* Add basic styling, html renderer, Wikipedia link
* Add testing for TaxonDetails API results
* Code cleanup
* Upgrade accessibility engine
* Add testing for ObsDetails
* Check that data tab renders when user taps it
* Make user profiles dynamic and tappable from ObsDetail
* Add test coverage for user profile
* Test navigation and linking to wikipedia
* Add accessibility roles and test todos
* Add grid view to observation list
* Add accessibility roles to pressables in obslist
* Move realm object creation functions into realm classes
* Make all fields except for uuids optional in realm & update schemaVersion
* Add pre-commit hooks for linting
* Add eslint automatic fix line
* Testing pre-commit hook
* Still testing
* Tweak husky settings and remove lint-staged
* Add a Taxon realm shared by Observation and Identification; add listener for obs list changes
* Create new User realm model for Comments/Identifications
* Remove code comments from models
* Add loading wheel while ObsList is fetching initial data
* Move observations into stack within drawer navigator
* Remove unneeded code
* Look up existing obs using .objectForPrimaryKey method
* More code cleanup (naming, adding primary keys, etc.)
* Merge testing code from main; remove unused imports
* Add more factories and fix ObsCard tests
* Update tests to match updated realm models
* Move ObservationProvider to wrap MyObservationsStackNavigator instead of all navigation
* Remove code comments
* Add primary keys to User and Taxon schemas
* Update realm models to include ObservationPhotos
* Get integration test to pass with new realm schemas