Skip to content

Commit

Permalink
Add TODO items
Browse files Browse the repository at this point in the history
  • Loading branch information
jsubloom committed Sep 15, 2023
1 parent 0cfb9ec commit 889f0f8
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 40 deletions.
80 changes: 40 additions & 40 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
Change the status bar color
AppBar needs some padding - amount TBD

packages/mobile's copyWebDist.ts

- Make it so that when you run "yarn start", it also watches for changes from web.
- Right now you will need to re-run "yarn start" (not the end of the world, since hot reloading the "web" part often doesn't work right anymore. I thought I did get it work right at one point though. Need to debug that).
- You can refer to this old code for inspiration:

"watchDist": "chokidar \"dist/\*_/_\" -c \"yarn copy-dist\" --debounce 1000",

"chokidar-cli": "^3.0.0",

How packages/mobile consumes packages/web

- I feel like the right way is to have packages/web be a devDependency.
- For the time being, using "bloom-reader-lite-web": "link:./../shared",
- But eventually you'd want it to be point to an actual package version published in NPM. (This means in theory the Expo mobile app and the Electron app need not be kept synchronized with the same version of [shared] and [web].)
- Either way, if you did that, you can easily modify one constant in scripts/copyWebDist.ts to point to node_modules/bloom-reader-lite-web instead of "../web"
- If using the "link" version rather than pointing to NPM...
The part that gave me trouble was when trying to run "eas build" in a github action (probably in other places too).
It would error out during the "eas build" part with a yarn install error, saying it couldn't find the uuid folder in web's node_modules. I think that's because the [web] package is symlinked.
(Weird aside: "eas build" somehow runs "yarn install" as a substep I guess, but that's weird. "yarn install" is already run on the Github runner. (1) It doesn't error out, and (2) why does it need to run it again, and (3) Why is [web] package relevant at all if devDependencies? )
I tried modifying babel.config.js/metro.config.js and reading/following https://docs.expo.dev/guides/monorepos/#modify-the-metro-config, but I didn't have success yet.

If this yarn preinstall works (allows alpha/beta builds to succeed), then you should refactor build-local.yml to cut out the steps that build shared and web.
Honestly, the yarn install of the mobile app is kinda unnecessary too. I guess what it needs to be able to do is run EAS. The other useful thing is the steps that check if the web-dist folder looks correct and stuff.

Write up how to use Diawi to upload iOS builds in lieu of EAS Cloud.
Optional - you could programmatically upload builds to Daiwi using https://github.com/marketplace/actions/upload-diawi
so that you won't have to do it manually.

Should probably install "expo-updates" package.

Add unit tests

Apple App Store submission:
Fill out the information like description, keywords, screenshots, etc.

Android App Icon - It's slightly cut off (too zoomed in) compared to the native BloomReader version
# UI

- Back button functionality - from Bloom Player, Find on BLORG
- Delete book functionality
- Find on BLORG: Snacks/toasts or other UI affordances for the download progress and to let them know when the download is completed
- Change the status bar color
- AppBar needs some padding - amount TBD
- Android - bloom-reader-against-dark.png logo in AppBar doesn't load (broken image icon appears in its place)
- Android - status bar needs to be moved down
- Android - it seems to me the sample book doesn't always load?
- Drawer needs to be closed
- Drawer menu items need to be implemented
- Bookshelves need to be implemented
- Android App Icon - It's slightly cut off (too zoomed in) compared to the native BloomReader version
- Books in the BookList need their styling to match the original version BloomReader
- I'm sure other things...

# Other

- Add unit tests

- How packages/mobile consumes packages/web

- I feel like the right way is to have packages/web be a devDependency.
- For the time being, using "bloom-reader-lite-web": "link:./../shared",
- But eventually you'd want it to be point to an actual package version published in NPM. (This means in theory the Expo mobile app and the Electron app need not be kept synchronized with the same version of [shared] and [web].)
- Either way, if you did that, you can easily modify one constant in scripts/copyWebDist.ts to point to node_modules/bloom-reader-lite-web instead of "../web"
- If using the "link" version rather than pointing to NPM...
The part that gave me trouble was when trying to run "eas build" in a github action (probably in other places too).
It would error out during the "eas build" part with a yarn install error, saying it couldn't find the uuid folder in web's node_modules. I think that's because the [web] package is symlinked.
(Weird aside: "eas build" somehow runs "yarn install" as a substep I guess, but that's weird. "yarn install" is already run on the Github runner. (1) It doesn't error out, and (2) why does it need to run it again, and (3) Why is [web] package relevant at all if devDependencies? )
I tried modifying babel.config.js/metro.config.js and reading/following https://docs.expo.dev/guides/monorepos/#modify-the-metro-config, but I didn't have success yet.

- Google Play Store submission:

- Needs to be done in its entirety.

- Apple App Store submission:
- Fill out remaining information on AppStoreConnect website like screenshots, etc.
- When ready to do it for real, create a real app with bundle identifier "org.sil.bloomreaderlite" instead of "org.sil.bloomreaderlite.preview"
4 changes: 4 additions & 0 deletions packages/web/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ To debug the web app only on your computer, you can use `yarn dev`. This can be
You can use [MockBackend.ts](https://github.com/BloomBooks/BloomReader-Lite/blob/master/packages/web/src/api/MockBackend.ts) to fake backend responses for development purposes.
I recommend manually copying any mock books you need for development into ./mock-data/Books/

## Styling

The current thought is to make the design more or less consistent with the look of the original Android app (i.e., rely on Material UI). Since we're going to be on both mobile + desktop platforms, and this is a web-technology based app, and it will be hosting BloomLibrary as a substantial part of the app anyway, we're planning to rely on Material-ish designs rather than try to emulate native look and feel on mobile

## Boilerplate info from Vite (React + TS + Vite) template

### React + TypeScript + Vite
Expand Down

0 comments on commit 889f0f8

Please sign in to comment.