Commit graph

89 commits

Author SHA1 Message Date
Paul Frazee
7e3f6f0306 Fix all type errors 2023-01-26 11:25:52 -06:00
Paul Frazee
f36c956536 Resolve all remaining lint issues (#88)
* Rework 'navIdx' variables from number arrays to strings to avoid equality-check failures in react hooks

* Resolve all remaining lint issues

* Fix tests

* Use node v18 in gh action test
2023-01-24 13:00:11 -06:00
Aryan Goharzad
3a90114f3a more prettier and lint cleanup (#82)
* more prettier and lint cleanup

* Fixes more lint issues

* lint

* ignore more files

* remove todos

* lint
2023-01-24 11:03:18 -06:00
Paul Frazee
9027882fb4 Account switcher (#85)
* Update the account-create and signin views to use the design system.

Also:
- Add borderDark to the theme
- Start to an account selector in the signin flow

* Dark mode fixes in signin ui

* Track multiple active accounts and provide account-switching UI

* Add test tooling for an in-memory pds

* Add complete integration tests for login and the account switcher
2023-01-24 09:06:27 -06:00
Paul Frazee
aec0f1c3ba Fixes to the followers list view 2023-01-19 16:38:12 -06:00
Paul Frazee
bf03167ca6 Update compose prompt for isual balance and to include image button 2023-01-18 13:57:53 -06:00
Paul Frazee
7328e80825 Fix an issue that caused the shelf menu to show up at random 2023-01-17 21:01:52 -06:00
João Ferreiro
5abcc8e336 Unit Testing (#35)
* add testing lib

* remove coverage folder from git

* finished basic test setup

* fix tests typescript and import paths

* add first snapshot

* testing utils

* rename test files; update script flags; ++tests

* testing utils functions

* testing downloadAndResize wip

* remove download test

* specify unwanted coverage paths;
remove update snapshots flag

* fix strings tests

* testing downloadAndResize method

* increasing testing

* fixing snapshots wip

* fixed shell mobile snapshot

* adding snapshots for the screens

* fix onboard snapshot

* fix typescript issues

* fix TabsSelector snapshot

* Account for testing device's locale in ago() tests

* Remove platform detection on regex

* mocking store state wip

* mocking store state

* increasing test coverage

* increasing test coverage

* increasing test coverage on src/screens

* src/screens (except for profile) above 80% cov

* testing profile screen wip

* increase coverage on Menu and TabsSelector

* mocking profile ui state wip

* mocking profile ui state wip

* fixing mobileshell tests wip

* snapshots using testing-library

* fixing profile tests wip

* removing mobile shell tests

* src/view/com tests wip

* remove unnecessary patch-package

* fixed profile test error

* clear mocks after every test

* fix base mocked store values (getters)

* fix base mocked store values
(hasLoaded, nonReplyFeed)

* profile screen above 80% coverage

* testing custom hooks

* improving composer coverage

* fix tests after merge

* finishing composer coverage

* improving src/com/discover coverage

* improve src/view/com/login coverage
fix SuggestedFollows tests
adding some comments

* fix SuggestedFollows tests

* improve src/view/com/profile coverage
extra minor fixes

* improve src/view/com/notifications coverage

* update coverage ignore patterns

* rename errorMessageTryAgainButton
increase SuggestedFollows converage

* improve src/view/com/posts coverage

* improve src/view/com/onboard coverage

* update snapshot

* improve src/view/com/post coverage

* improve src/view/com/post-thread coverage
rename ErrorMessage tests
test Debug and Log components

* init testing state

* testing root-store

* updating comments

* small fixes

* removed extra console logs

* improve src/state/models coverage
refactor rootStore
rename some spies

* adding cleanup method after tests

* improve src/state/models coverage

* improve src/state/models coverage

* improve src/state/models coverage

* improve src/state/models coverage

* test setInterval in setupState

* Clean up tests and update Home screen state management

* Remove some tests we dont need

* Remove snapshot tests

* Remove any tests that dont demonstrate clear value

* Cleanup

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
2023-01-17 10:06:00 -06:00
Paul Frazee
d262393992 Introduce error boundaries around all screens 2023-01-02 21:49:14 -06:00
Paul Frazee
8f59957fab Fix the status bar coloring 2022-12-30 15:56:54 -06:00
Paul Frazee
62c6da3b9f Integrate settings into design system and some various fixes/tweaks 2022-12-30 15:11:47 -06:00
Paul Frazee
5e07b5bbc3 Integrate the shell into the design system 2022-12-30 12:49:07 -06:00
Paul Frazee
7e31645e9a Add a design system (#34)
* Add theming system

* Add standard Button control and update RadioButtons

* Unify radiobutton with design system

* Update debug screen to have multiple views

* Add ToggleButton

* Update error controls to use design system

* Add typography to <Text> element

* Move DropdownButton into the design system

* Clean out old code

* Move Text into design system

* Add 'inverted' color palette

* Move LoadingPlaceholder into the design system
2022-12-28 14:06:01 -06:00
Paul Frazee
abcfc11fe0 Wrap all <Text> in a helper that ensures black color is applied by default 2022-12-20 12:49:44 -06:00
Paul Frazee
9a99c9c8c8 Hide main menu drawer on click outside 2022-12-13 15:01:14 -06:00
Paul Frazee
e8eb3e131c Use full available screen 2022-12-13 14:58:25 -06:00
Paul Frazee
1aec0ee156 Hide footer on scroll down (minimal shell mode) 2022-12-12 16:04:14 -06:00
Paul Frazee
b2239228e7 Add profile image lightbox 2022-12-12 14:54:56 -06:00
Paul Frazee
03d9fd3179 More aesthetic and perf improvements to the menu drawer 2022-12-12 10:48:36 -06:00
Paul Frazee
9e5940f0ab Improve aesthetic of main menu swipeout (use screen mask) 2022-12-09 11:46:49 -06:00
Paul Frazee
fbf8e5fa14 Add main menu button 2022-12-09 11:22:19 -06:00
Paul Frazee
e73c7cee39 Turn the main menu into a 'drawer' instead of a screen in the history 2022-12-08 15:34:22 -06:00
Paul Frazee
53b8f0d040 Switch to temporary 'fixed tabs' model for default and notifications 2022-12-08 14:21:28 -06:00
Paul Frazee
273e6d2973 Replace reanimated for tabs selector 2022-12-07 17:08:49 -06:00
Paul Frazee
efbef238a8 Cleanup 2022-12-07 16:59:10 -06:00
Paul Frazee
f5d1a5c38d Replace navigational 'back swipe' gesture with new HorzSwipe util 2022-12-07 16:56:14 -06:00
Paul Frazee
474c4f9b5d Rework the 'main menu' to be a screen that's always in history 2022-12-06 10:11:32 -06:00
Paul Frazee
f27e32e54c Ensure the UI always renders, even in bad network conditions (close #6) 2022-12-05 13:25:04 -06:00
Paul Frazee
662a4ef23b Fix 'swipe back to nothing' bug 2022-12-05 10:39:34 -06:00
Paul Frazee
b08afc12fe Make 'backswipe' a little easier to trigger 2022-12-05 10:25:53 -06:00
Paul Frazee
88c868dd80 Improve handling of deleted posts 2022-11-28 16:37:39 -06:00
Paul Frazee
e3fffac97b Increase information density and enlarge some click targets 2022-11-28 09:13:37 -06:00
Paul Frazee
d7b1a2e0ee Scroll to highlighted post in threads 2022-11-22 12:56:56 -06:00
Paul Frazee
d608d67bfe Turn home button into a 'go back to start of nav history' 2022-11-22 12:19:38 -06:00
Paul Frazee
79688cd042 Shrink the footer a bit 2022-11-22 12:02:45 -06:00
Paul Frazee
c2a39d7c1f Refactor: create src/lib to reflect actual sharing of that code 2022-11-22 12:02:31 -06:00
Paul Frazee
c6108fb646 Move search btn into the viewheader 2022-11-20 12:25:11 -06:00
Paul Frazee
a21bcf10dd Add build flags and disable tabs for now 2022-11-20 12:00:40 -06:00
Paul Frazee
0ac6c0ff61 Add long press newtab to footer nav 2022-11-18 11:40:12 -06:00
Paul Frazee
a3bca154c4 Improve reliability of screen titles 2022-11-17 16:01:29 -06:00
Paul Frazee
b2160ae159 Add new tab animation 2022-11-17 15:44:54 -06:00
Paul Frazee
859087f21d Fix loadLatest() on home feed 2022-11-17 13:17:08 -06:00
Paul Frazee
c6b137a153 Fix: correctly set visible on screens 2022-11-17 13:15:04 -06:00
Paul Frazee
6b715224f2 Include tab count and move btn to center 2022-11-17 10:37:30 -06:00
Paul Frazee
58d5cb47b7 Avoid overlap against phone header when tabs selector is open 2022-11-17 10:24:40 -06:00
Paul Frazee
362478f793 Show bold icons in footer based on state 2022-11-16 18:04:21 -06:00
Paul Frazee
361789975f Add a fancy 'drawer' animation to the tabs selector 2022-11-16 17:18:16 -06:00
Paul Frazee
0b7b91d5fd Fix sizing on smaller phones 2022-11-16 14:05:21 -06:00
Paul Frazee
3725a2eed1 Add a server instance selector and drop env vars 2022-11-15 15:09:50 -06:00
Paul Frazee
96dc748733 Make 'back swiping' a little easier 2022-11-14 15:47:56 -06:00