Commit Graph

640 Commits (e4a1069b43919cd89889bcc96222030bb07ea241)

Author SHA1 Message Date
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
Aryan Goharzad 06e41167d0 Lints some errors and warnings (#76) 2023-01-20 13:43:28 -06:00
Paul Frazee 80f58cf9f3 Fix: ensure all views can scroll to the bottom 2023-01-19 15:21:06 -06:00
Paul Frazee 2972fd8372 Update load latest to match sizing and aesthetic better 2023-01-19 15:10:15 -06:00
Paul Frazee f969e746f7 Clean up the settings page 2023-01-19 11:49:53 -06:00
Paul Frazee ebc2033d18 Handle post deletions by removing from active views (close #37) 2023-01-18 16:45:48 -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 6a01e0529b Prettier profile headers (no standard header) 2023-01-18 12:56:53 -06:00
Paul Frazee a51354e6e6 Update gradients to use a more consistent blue theme 2023-01-18 12:32:48 -06:00
Paul Frazee 77580ab6a4 Rework all typography 2023-01-18 11:15:40 -06:00
Paul Frazee 5da45cd8cd Fix to extraneous home feed polling 2023-01-17 16:49:11 -06:00
Paul Frazee 798622b307 Refer to upvotes as 'likes' in the UI (will change in the protocol soon) 2023-01-17 12:35:47 -06:00
Paul Frazee bf1092ad86 Remove scenes (#36)
* Remove scenes from the main menu

* Remove scenes from the profile view

* Remove 'scenes explainer' from onboarding flow

* Remove scene-related modals

* Remove member/membership code

* Remove all scenes-related items from notifications

* Remove scene-related code from posts feed

* Remove scene-related API helpers

* Update tests
2023-01-17 10:11:30 -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 00b7189d5d Readd the FAB for composing new posts 2023-01-16 17:07:33 -06:00
Paul Frazee 4eabc2d65a Improve error logging 2023-01-02 21:39:15 -06:00
Paul Frazee f6a0e634d7 Implement logging system 2023-01-02 17:38:13 -06:00
Paul Frazee 99cec71ed7 Dont mute posts for a user when viewing their profile 2023-01-02 13:45:27 -06:00
Paul Frazee 5eddbcea16 Various small fixes 2022-12-30 15:32:07 -06:00
Paul Frazee 3d91cf3137 Integrate search into suggested follows 2022-12-30 15:21:09 -06:00
Paul Frazee a7a310a06b Dont autofocus the search input 2022-12-30 15:12:36 -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 b47714fb11 Integrate composer prompt into design system 2022-12-30 12:35:37 -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 0a2c3e6b51 Fixes to text input colors on android 2022-12-20 14:29:50 -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
João Ferreiro 469b05c4be fixing remaining text colors on android 2022-12-19 19:25:58 -06:00
João Ferreiro 982f46376b fixing modal & keyboard interaction on android 2022-12-19 19:23:24 -06:00
Paul Frazee 36dc1c7525 Reduce confusing visual feedback while scrolling 2022-12-18 16:43:18 -06:00
Paul Frazee d7e71e079f Prefetch feed refreshes to speed up 'load more posts' 2022-12-16 15:37:13 -06:00
Paul Frazee 0d54f6e126 Split login screen into component files 2022-12-15 14:06:05 -06:00
Paul Frazee 345ec83f26 Move posts feed to root store (me) and ensure new posts always update the feed 2022-12-13 15:52:18 -06:00
Paul Frazee 9ad9bc5c0e Ensure load more is always visible 2022-12-13 15:36:05 -06:00
Paul Frazee e37ac91bee Reposition 'load latest' based on minimal shell mode 2022-12-13 11:15:18 -06:00
Paul Frazee 1aec0ee156 Hide footer on scroll down (minimal shell mode) 2022-12-12 16:04:14 -06:00
Paul Frazee 470f444eed Improvements to service selection during login 2022-12-12 15:13:45 -06:00
Paul Frazee b2239228e7 Add profile image lightbox 2022-12-12 14:54:56 -06:00
Paul Frazee 8501cf1c7d Add 'loading more' spinner to feeds 2022-12-12 11:22:54 -06:00
Paul Frazee 5fa3c16d0d Fix duplicate 'end of feed' issue 2022-12-12 09:56: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 539bf5d350 Add avatar images and fix some type signatures 2022-12-08 13:45:23 -06:00
Paul Frazee efbef238a8 Cleanup 2022-12-07 16:59:10 -06:00
Paul Frazee 9ce02dff5b Add HorzSwipe gesture and integrate it into the ViewSelector 2022-12-07 15:51:06 -06:00
Paul Frazee 1a11c13fce Better empty state in profiles 2022-12-06 13:09:18 -06:00
Paul Frazee 588aface7c Add build version to menu 2022-12-06 12:40:40 -06:00
Paul Frazee d60de5e214 Implement terms-of-service and privacy-policy links in signup 2022-12-06 11:39:46 -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 7561b19f3d Dismiss keyboard in search on scroll 2022-12-05 15:22:23 -06:00
Paul Frazee 26b2797e2c Increase touch-size of the 'load new posts' button 2022-12-05 13:33:31 -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 9051aecdcb Use a persistent notifications model to improve load times of the notifications view 2022-11-28 14:19:49 -06:00
Paul Frazee 0e6237e58c Fix toast positioning (close #9) 2022-11-28 10:38:16 -06:00
Paul Frazee b978a2f18b Enlarge the 'load more posts' prompt 2022-11-28 09:30:31 -06:00
Paul Frazee 1784a4912d Enlarge the view header, left align the title, and add a compose button 2022-11-28 09:29:35 -06:00
Paul Frazee 67906db720 Fix keyboard issues in search 2022-11-23 13:12:29 -06:00
Paul Frazee 8da3124f3a Fallback to display name in search results 2022-11-22 16:18:10 -06:00
Paul Frazee 903cce20e7 Implement user search 2022-11-22 16:14:58 -06:00
Paul Frazee eaa2105570 Add 'posts & replies' view to profiles 2022-11-22 12:26:53 -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 8e3dc52536 Replace the FAB with a compose prompt at the top of the feed 2022-11-20 11:20:08 -06:00
Paul Frazee 89e7a99292 Fix post thread title 2022-11-17 16:26:00 -06:00
Paul Frazee a3bca154c4 Improve reliability of screen titles 2022-11-17 16:01:29 -06:00
Paul Frazee c6b137a153 Fix: correctly set visible on screens 2022-11-17 13:15:04 -06:00
Paul Frazee eae5ac839c Poll periodically for new posts 2022-11-17 12:33:19 -06:00
Paul Frazee 6fb4b005fd Add tabs explainer and fix 'black screen' during onboard 2022-11-17 11:21:04 -06:00
Paul Frazee 17825cd611 Add placeholder loading states 2022-11-16 13:05:36 -06:00
Paul Frazee 4eb993e885 Better invite code error message 2022-11-15 15:13:55 -06:00
Paul Frazee 3725a2eed1 Add a server instance selector and drop env vars 2022-11-15 15:09:50 -06:00
Paul Frazee 60c72087ff Add current user profile to header and enlarge the header 2022-11-15 13:11:01 -06:00
Paul Frazee ccae52f612 Add compose button to notifications, profile, and search 2022-11-15 13:00:00 -06:00
Paul Frazee e470e3933b Improve empty states 2022-11-15 10:54:43 -06:00
Paul Frazee fb3a43c216 Improve error messages 2022-11-15 10:46:12 -06:00
Paul Frazee a6e2429a13 Improve not found page 2022-11-14 16:27:59 -06:00
Paul Frazee 9170040acb Update all state on profile change 2022-11-14 15:55:38 -06:00
Paul Frazee bc9be64a4e Automatically add the domain to the handle during signin 2022-11-14 14:30:59 -06:00
Paul Frazee 23fd43e306 Fix empty states for scene members and memberships 2022-11-14 14:24:23 -06:00
Paul Frazee 829fa175d0 Fix: scroll all the way down on home feed 2022-11-14 14:18:42 -06:00
Paul Frazee d0234784eb Turn off autocorrect and auto-lowercase login handle 2022-11-14 14:01:01 -06:00
Paul Frazee 2271112317 Add link behaviors to search screen suggestions 2022-11-14 13:52:23 -06:00
Paul Frazee 210082be93 Add staging env 2022-11-11 15:02:19 -06:00
Paul Frazee fe52d19c48 Add UI to remove members from scenes 2022-11-11 13:28:23 -06:00
Paul Frazee 22849fb4fc Implement trending 2022-11-11 13:10:05 -06:00
Paul Frazee cc015d1686 Fixes to onboarding 2022-11-10 17:19:45 -06:00
Paul Frazee 0fc8ef3358 Fixes to account creation 2022-11-10 17:05:26 -06:00
Paul Frazee d3707f30e3 Implement scene invitation and membership controls 2022-11-10 16:30:14 -06:00
Paul Frazee ecf56729b0 More informative empty state for scenes 2022-11-09 17:34:55 -06:00
Paul Frazee 0cdfd089f5 Implement scene member/memberships listings 2022-11-08 16:37:21 -06:00
Paul Frazee 1fbc4cf1f2 Finish the upvote/downvote implementation 2022-11-08 12:14:51 -06:00
Paul Frazee e650d98924 Add search view; factor out SuggestedFollows component; add suggested follows to search 2022-11-07 16:24:06 -06:00
Paul Frazee d228a5f4f5 Add onboarding (WIP) 2022-11-07 15:35:51 -06:00
Paul Frazee b4097e25d6 Reuse service address 2022-11-07 11:45:26 -06:00
Paul Frazee ff9161d8e7 Sizing and spacing fixes based on on-device testing 2022-11-05 16:12:06 -05:00
Paul Frazee 60b1c53d85 Add actor types to the profiles and clean up the UI 2022-11-05 11:58:48 -05:00
Paul Frazee f333a90fab Update to the latest APIs 2022-11-04 17:39:54 -05:00
Paul Frazee 8ae6e67eea Rework the composer to a less buggy solution 2022-11-01 14:25:41 -05:00
Paul Frazee ab134cac93 Add consistent view headers 2022-11-01 11:06:43 -05:00
Paul Frazee fd6a2b1b40 Switch to autogenerated avis for now 2022-10-31 17:23:47 -05:00
Paul Frazee eceef67d46 WIP scene UIs 2022-10-31 12:17:58 -05:00
Paul Frazee 1ab8285ad3 Fix some useEffect() cleanup issues 2022-10-26 14:48:15 -05:00
Paul Frazee 1983512fef Update to latest APIs 2022-10-26 14:34:47 -05:00
Paul Frazee 349cfe7177 Add contacts screen 2022-10-12 18:56:10 -05:00
Paul Frazee 0c0c9eb05c Update api nsids 2022-10-12 15:18:46 -05:00
Paul Frazee d7a75a2062 Home button scrolls to top when on home page 2022-10-11 09:37:01 -05:00
Paul Frazee a1428ca59a Remove the firehose view from home 2022-10-11 09:18:39 -05:00
Paul Frazee f5c4a97eaf Add firehose view to home screen 2022-10-04 14:22:20 -05:00
Paul Frazee 5631c2d2e6 Update to new get*Feed xrpc methods 2022-10-04 12:55:25 -05:00
Paul Frazee 236c908058 Update the view after a post is created 2022-10-04 11:33:32 -05:00
Paul Frazee bf39791f01 Implement a couple missing bits 2022-10-04 10:53:08 -05:00
Paul Frazee e3e4c4366c Add settings page 2022-09-29 11:59:11 -05:00
Paul Frazee cb5a575bc8 Fix feed pagination on user profiles 2022-09-28 17:02:55 -05:00
Paul Frazee ef4b9cf8d9 Add account creation 2022-09-27 14:24:47 -05:00
Paul Frazee dd73fc2183 Add logout and tweak signin screen 2022-09-27 08:59:15 -05:00
Paul Frazee 0208302907 Implement signin flow 2022-09-26 21:03:07 -05:00
Paul Frazee 2e352f383e A few client fixes 2022-09-26 13:38:37 -05:00
Paul Frazee aabde2b401 Replace mock-api with real api 2022-09-22 19:28:25 -05:00
Paul Frazee 69265753bf Refactor profile to use new ViewSelector element which is reusable and now supports swipe gestures 2022-09-06 22:34:31 -05:00
Paul Frazee bb06ef4f6e Rework profile page to include working view selector 2022-09-06 14:26:39 -05:00
Paul Frazee cb310ab1c1 Rewrite the post composer as a modal 2022-09-05 14:16:48 -05:00
Paul Frazee 6835caa760 Add more robust modals controller 2022-09-02 11:51:46 -05:00
Paul Frazee 62a4e9aed1 Add accounts menu to shell 2022-09-02 09:30:21 -05:00
Paul Frazee bb51af5ae9 Implement working screen-state management and remove extraneous loads 2022-09-01 12:00:08 -05:00
Paul Frazee b3b2cfe909 Add composer FAB to home page 2022-08-31 20:09:58 -05:00
Paul Frazee 97f52b6a03 New navigation model (#1)
* Flatten all routing into a single stack

* Replace router with custom implementation

* Add shell header and titles

* Add tab selector

* Add back/forward history menus on longpress

* Fix: don't modify state during render

* Add refresh() to navigation and reroute navigations to the current location to refresh instead of add to history

* Cache screens during navigation to maintain scroll position and improve load-time for renders
2022-08-31 14:36:50 -05:00
Paul Frazee d1470bad66 Add notifications view 2022-07-26 15:45:46 -05:00
Paul Frazee 62eb9f3c93 Add followers and follows list 2022-07-26 12:02:34 -05:00
Paul Frazee adc25ce468 Fix layout in profile view 2022-07-26 10:11:02 -05:00
Paul Frazee 3794eca88e Add state updates after screen changes 2022-07-25 14:21:48 -05:00
Paul Frazee 7f04ac172e Add post composer 2022-07-22 16:06:51 -05:00
Paul Frazee ce83648f9d Add liked-by and reposted-by views 2022-07-22 12:32:52 -05:00
Paul Frazee cc8a170204 Add profile view 2022-07-21 19:55:04 -05:00
Paul Frazee 29ed3d2ecf Add header to PostThread view; update navigation to include stacking so that each tab maintains its own browsing history 2022-07-21 16:43:47 -05:00
Paul Frazee c712cbbfe2 Add WIP post-thread view 2022-07-20 15:00:37 -05:00
Paul Frazee 19c694bc60 Update feed component to use flatlist for lazy-loading scrolling; update feed-view model to match loading needs 2022-07-20 11:07:39 -05:00
Paul Frazee e78143b3dc Add icons 2022-07-19 16:04:45 -05:00
Paul Frazee dc55f58004 Replace mobx-state-tree with mobx and get a basic home feed rendering 2022-07-19 15:37:24 -05:00
Paul Frazee 1d00f3b984 Add mock API and reorg code for clarity 2022-07-18 15:24:37 -05:00