Folo/apps/mobile
Innei 8fede2f0c4
refactor: update routes from /feeds to /timeline and improve timeline navigation (#2716)
* refactor: update routes from /feeds to /timeline and improve timeline navigation

Signed-off-by: Innei <tukon479@gmail.com>

* refactor: improve timeline selector and list view rendering

- Optimize timeline selector with auto-scrolling and dynamic rendering
- Enhance list switch button with improved styling and title display
- Memoize and optimize timeline-related hooks and components
- Add utility functions for scrolling and visibility detection

Signed-off-by: Innei <tukon479@gmail.com>

* fix: prevent timeline selector error when timelineId is undefined

- Add null check for timelineId before processing timeline selection
- Ensure safe handling of timeline selector when no timeline is selected

Signed-off-by: Innei <tukon479@gmail.com>

* feat: add InboxSwitchButton for timeline navigation

- Implement InboxSwitchButton component for inbox timeline selection
- Add handling for inbox timeline in TimelineSwitchButton
- Support unread indicator and navigation for inbox timelines

Signed-off-by: Innei <tukon479@gmail.com>

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-02-10 22:03:41 +08:00
..
assets
drizzle feat: basic entry data sync (#2597) 2025-01-17 21:12:38 +08:00
native feat(mobile): enhance CORS handling and image loading in WebView 2025-02-08 22:47:47 +08:00
scripts feat: add custom app delegate for tint color configuration (#2579) 2025-01-15 18:03:15 +08:00
src refactor: update routes from /feeds to /timeline and improve timeline navigation (#2716) 2025-02-10 22:03:41 +08:00
web-app fix(mobile): update web-app build script and workspace configuration 2025-02-10 16:54:50 +08:00
.env
.gitignore feat: use expo module to write native component/module (#2675) 2025-02-02 23:55:05 +08:00
README.md docs(mobile): Update README with comprehensive project overview and development details 2025-01-26 21:10:29 +08:00
app.config.ts refactor(rn): discover header to apply blur effect 2025-01-23 16:19:38 +08:00
babel.config.js
drizzle.config.ts
eas.json
global.d.ts feat(rn-settings): impl about page 2025-01-20 22:02:39 +08:00
metro.config.js feat: use expo module to write native component/module (#2675) 2025-02-02 23:55:05 +08:00
nativewind-env.d.ts
package.json chore(mobile): update dependencies and refactor UI components 2025-02-08 22:24:17 +08:00
postcss.config.js chore: bring back tailwind config for dom 2025-01-08 20:59:03 +08:00
shim-env.d.ts
tailwind.config.ts feat: integrate react-native-uikit-colors for improved theming and UI consistency 2025-01-18 16:59:29 +08:00
tailwind.dom.config.ts
tsconfig.json feat: Implement the webview sandbox using a microfront end for rn to implement the full html renderer (#2691) 2025-02-07 23:15:29 +08:00

README.md

Follow Mobile App 📱

This is the mobile client for Follow, built with Expo. Follow organizes content into one timeline, keeping you updated on what matters, noise-free.

Features

  • Customized information hub for content discovery
  • AI-powered features like translation and summary
  • Dynamic content support (articles, videos, images, audio)
  • $POWER integration for creator economy
  • Cross-platform support (iOS & Android [WIP])
  • Modern UI design with native feel

Getting Started

  1. Enable Corepack (if not already enabled)

    corepack enable
    
  2. Install dependencies

    pnpm install
    
  3. Start the development server

    pnpm run dev
    

You can run the app on:

  • iOS Simulator (pnpm run ios)
  • iOS Device (pnpm run ios:device)
  • Android Emulator (pnpm run android)
  • Development build for full native feature testing

Project Structure

src/
├── modules/         # Feature-specific modules
│   ├── discover/    # Discovery feed features
│   └── ...
├── screens/         # App screens using file-based routing
└── ...

Development

  • Built with Expo SDK [>=52]
  • Uses Expo Router for navigation
  • Styling with NativeWind
  • State management with Jotai and Zustand
  • API integration with Tanstack Query
  • Full TypeScript support

Useful Resources

Need Help?

  • Join our Discord
  • Follow us on Twitter
  • Contact the mobile development team

License

This project is licensed under the GNU General Public License version 3. See the main project repository for full license details.