66 Commits

Author SHA1 Message Date
DIYgod 2f392594d5 chore(deps): refresh dependencies and verify affected app flows 2026-09-22 16:20:40 +08:00
DIYgod 1158281f59 chore(deps): update frontend dependencies (#5038)
* chore(deps): update frontend dependencies

* fix(ci): format OTA verification commands
2026-07-10 22:36:12 +08:00
DIYgod 1deddccf62 fix(ci): restore store build compatibility 2026-04-14 16:03:50 +08:00
DIYgod 3f31f505f8 fix: restore frontend ci for better-auth upgrade 2026-03-16 21:35:14 +08:00
Stephen Zhou b8eb83fe63 chore: lint 2025-09-19 22:24:30 +08:00
Innei d4b1333617 refactor: migrate to client sdk (#4480)
* init

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

* refactor: migrate API calls to followClient for improved consistency

- Replaced instances of apiClient with followClient in various modules, including push notifications, analytics, achievements, and wallet management.
- Updated related functions to ensure compatibility with the new API structure.
- This refactor enhances code maintainability and aligns with the new client architecture.

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

* refactor: update API calls to followClient for consistency

- Replaced instances of apiClient with followClient across various modules, including metadata, entries, feeds, lists, and inbox management.
- Adjusted related functions to align with the new API structure, enhancing maintainability and consistency throughout the codebase.

These changes improve the overall architecture by standardizing API interactions.

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

* update

* chore: update dependencies and improve profile settings

- Bumped versions of `@better-auth/expo`, `better-auth`, and `@better-auth/stripe` to 1.3.9 for enhanced functionality.
- Updated `@follow-app/client-sdk` reference in internal shared package.
- Added new fields (`bio`, `website`, `socialLinks`) to the profile settings form and adjusted related types for better user data handling.
- Minor adjustments in user store to accommodate new social links data structure.

These changes improve the profile management experience and ensure compatibility with updated dependencies.

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

* ssr done

* fix type error for action

* chore: update @follow-app/client-sdk to version 0.3.58 and refactor related code

- Updated the version of `@follow-app/client-sdk` to 0.3.58 in `pnpm-lock.yaml` and `pnpm-workspace.yaml`.
- Refactored various components and modules to utilize the updated SDK, including changes in type imports and API calls.
- Removed deprecated `api-fetch` module and replaced it with `followClient` for API interactions.
- Enhanced type safety and consistency across the application by adjusting type definitions and ensuring proper data handling.

These updates improve the overall code quality and maintainability while ensuring compatibility with the latest SDK features.

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

* chore: remove hono

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

* fix action type for mobile

* fix(mobile): exclude all view type

* fix(mobile): exclude all for views

* fix(mobile): html render not work

* feat(mobile): auto show source content support

* fix(mobile): show source content action

* feat: more stable switching timeline back to top

* refactor: simplify entry actions handling and improve context menu integration

- Removed the 'compact' parameter from several components to streamline the entry actions logic.
- Updated the CommandActionButton usage in ActionBar for better context menu interaction.
- Enhanced the ActionBar component to handle mouse position for context menu display.
- Cleaned up imports and adjusted related components to reflect the changes in props and structure.

These modifications aim to improve code clarity and maintainability while ensuring consistent functionality across entry actions.

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

* refactor: streamline ChatInput key handling logic

- Simplified the Enter key handling in the ChatInput component by removing unnecessary conditions.
- Ensured that the handleSend function is called directly when the Enter key is pressed, improving code clarity.

These changes enhance the readability and maintainability of the ChatInput component.

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

* fix: breadcrumb return back prev page logic

- Updated the logic in useNavigateEntry to ensure the final view is determined correctly based on the type of the view parameter.
- Refactored the EntryTitle component to simplify the rendering of recent readers, improving readability and maintainability.
- Adjusted the EntryHeaderBreadcrumb to pass the view parameter during navigation, enhancing functionality.

These changes aim to improve code clarity and ensure consistent behavior across navigation and entry display components.

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

* refactor: enhance navigation by integrating view parameter retrieval

- Updated EntryColumnShortcutHandler to utilize getRouteParams for retrieving the view parameter during navigation.
- Ensured that the view parameter is passed correctly when navigating to the next entry, improving the consistency of navigation behavior.

These changes aim to enhance the clarity and functionality of the entry column navigation logic.

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

* refactor: enhance modal styling and structure

- Updated modal component styles for improved visual consistency, including changes to border radius, padding, and text styles.
- Adjusted shadow properties in the Tailwind CSS configuration for better appearance in both light and dark themes.
- Refined layout and spacing within the modal to enhance user experience.

These changes aim to improve the overall aesthetics and usability of the modal component.

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

* refactor: enhance entry actions handling and toolbar integration

- Updated the HIDE_ACTIONS_IN_ENTRY_CONTEXT_MENU to explicitly define its type for better type safety.
- Introduced HIDE_ACTIONS_IN_ENTRY_TOOLBAR_ACTIONS to consolidate hidden actions for the toolbar.
- Refactored ActionBar to utilize useSortedEntryActions for improved action filtering and rendering.

These changes aim to streamline the entry actions logic and improve the maintainability of the ActionBar component.

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

* chore: remove zen and wider mode

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

* feat: enhance subscription column functionality

- Introduced new components for managing subscription entries, including EntrySubscriptionItem and EntrySubscriptionList, to improve the display and interaction within the subscription column.
- Added hooks for handling entry visibility and data fetching, optimizing performance and user experience.
- Implemented a toolbar for toggling the visibility of the entry list, enhancing user control over the interface.
- Refactored sidebar atoms to support new subscription-related states and actions.

These changes aim to provide a more robust and user-friendly experience in managing subscriptions within the application.

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

* feat: integrate EntriesContext for improved subscription management

- Added EntriesProvider and context to manage subscription entries more effectively across components.
- Refactored EntrySubscriptionList and related components to utilize the new context for data fetching and state management.
- Introduced EntrySubscriptionSkeleton for better loading states in the subscription column.
- Removed the outdated useEntrySubscriptionData hook to streamline data handling.

These changes enhance the overall architecture and performance of the subscription column, providing a more cohesive user experience.

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

* chore: fix lock

* fix: remove duplicated feed id, improve performance

* feat: back to feed first

* feat: replace MediaGallery with inline media rendering in SocialMediaLayout

* release(mobile): release v0.2.8

* chore(mobile): update build ID increment script and configuration

- Added a force flag to the build ID increment script to allow manual increments regardless of branch or staged changes.
- Updated iOS build version in Info.plist from 134 to 135.
- Removed unused changelog CLI configuration file.
- Modified bump.config.ts to disable tagging for mobile releases.

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

* chore: adjust AI chat sidebar and error handling styles

- Added keyboard shortcut support for toggling AI chat in AISmartSidebar.
- Improved styling and transition effects in CollapsibleError for better user experience.
- Updated EntryReadHistory to conditionally render based on user visibility.
- Refactored SourceContentView to simplify rendering logic and improve performance.
- Enhanced Kbd component to support abbreviations for better accessibility.

These changes aim to improve the functionality and usability of the AI chat features and related components.

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

* refactor: implement comprehensive app layout architecture

- Introduced a new layout architecture for the Follow application, leveraging React Router v7's nested routing capabilities.
- Added multiple layout components including MainDestopLayout, TimelineEntryTwoColumnLayout, AIEnhancedTimelineLayout, and SubviewLayout to support various application modes.
- Enhanced the AI chat functionality with a dedicated AIChatLayout, allowing for dynamic panel styles based on user preferences.
- Implemented responsive design features and error handling mechanisms across layouts to improve user experience.
- Refactored existing components to utilize the new layout structure, ensuring a cohesive and maintainable codebase.

These changes establish a robust foundation for the application's UI, enhancing flexibility and user interaction.

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

* chore: update bump configuration for PR creation

- Changed the base branch for the GitHub PR creation command from 'main' to 'mobile-main' to align with the new branching strategy.
- Removed the changelog generation script from package.json to streamline the build process.

These updates ensure proper versioning and integration with the new mobile branch structure.

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

* feat: implement entry context menu functionality

- Added a new hook, useEntryContextMenu, to manage context menu actions for entry items, including copy functionality.
- Integrated the context menu into EntrySubscriptionItem and EntryItemWrapper components, enhancing user interaction with entry items.
- Streamlined context menu handling by consolidating related logic into the new hook, improving code maintainability.

These changes provide a more intuitive context menu experience for users interacting with entries.

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

* feat: enhance media preview functionality with drag context

- Introduced a new context for managing drag state in the media preview component, allowing for improved user interaction during image dragging.
- Updated the image viewer to handle click events more effectively, considering drag state and timing to prevent unintended dismissals.
- Refactored the modal component to ensure the title is correctly rendered, enhancing accessibility.

These changes improve the overall user experience when interacting with media previews, making the interface more intuitive and responsive.

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

* chore: update client SDK version and dependencies

- Bumped the version of '@follow-app/client-sdk' from 0.3.59 to 0.3.60 in both pnpm-lock.yaml and pnpm-workspace.yaml.
- Updated dependencies for '@folo-services/drizzle' from 0.1.26 to 0.1.27, and '@folo-services/shared' from 0.0.24 to 0.0.25, ensuring compatibility with the latest changes.
- Adjusted Vite configuration to use 'join' instead of 'resolve' for path handling, enhancing code clarity and consistency.
- Removed an unused import in VideoPlayer component to streamline the code.

These updates improve dependency management and maintain code quality across the project.

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

* fix: interceptor

* chore: update client SDK version to 0.3.64

- Bumped the version of '@follow-app/client-sdk' from 0.3.63 to 0.3.64 in pnpm-lock.yaml and pnpm-workspace.yaml.
- Adjusted component styles in the header for improved layout consistency.
- Refactored user ID handling in metadata fetching to enhance error handling and clarity.
- Updated API client fetch method to use the native fetch function for better compatibility.
- Added User-Agent header in SSR API headers for improved request handling.

These changes ensure the application is up-to-date with the latest SDK version and improve overall code quality and user experience.

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

* chore: update client SDK path in pnpm configuration

- Changed the '@follow-app/client-sdk' entry in pnpm-lock.yaml and pnpm-workspace.yaml from version 0.3.64 to a local path for development purposes.
- Refactored the fetchEntryContentByStream method in store.ts to simplify its parameters and improve API call handling.

These updates facilitate local development and enhance code clarity in the entry synchronization service.

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

* chore: remove hono

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

* chore: update better-auth and expo dependencies to version 1.3.11

- Updated '@better-auth/expo' and 'better-auth' to version 1.3.11 in mobile and shared packages.
- Updated '@better-auth/stripe' to version 1.3.11 in shared package.
- Adjusted peer dependencies for better-auth to reflect the new version.

This update ensures compatibility with the latest features and fixes in the better-auth library.

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

* refactor: update auth module imports and clean up code

- Changed import path for AuthPlugins from '@follow-app/client-sdk' to '@follow-app/client-sdk/auth'.
- Removed commented-out socialLinks field from the baseAuthPlugins definition for clarity.
- Added a new line for better code readability.

These changes improve the organization and maintainability of the auth module.

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

* fix: restore socialLinks field in baseAuthPlugins definition

- Reintroduced the socialLinks field in the baseAuthPlugins configuration, allowing for JSON type input.
- This change enhances the flexibility of the authentication module by enabling social link integration.

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

* feat: enhance API client and entry list hooks

- Added a request interceptor to the FollowClient to append a timestamp to the URL for cache-busting.
- Simplified the fetch call in the entry list hooks by removing unnecessary parameters, improving code clarity.
- Added a new line in the entry sync services to enhance readability.

These changes improve the functionality and maintainability of the API client and entry list hooks.

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

* fix: add missing type error suppression for authClientContext

- Added a TypeScript error suppression comment for the authClientContext.provide call to prevent type-checking issues.
- This change ensures smoother integration of the authentication client in the application.

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

* fix lint

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

* lint

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: DIYgod <i@diygod.me>
2025-09-17 00:12:54 +08:00
Innei 4f78a8aa48 refactor: ai module and implement rich text (#4282) 2025-07-31 00:16:40 +08:00
Cason Kervis 913b1178c8 fix(path): change path package to pathe (#4038)
* fix(path): change path package to pathe

* fix: handle special chat in filename, fixed
#3342

- Integrated @sindresorhus/slugify to format file names based on titles.
- Updated pnpm-lock.yaml to include new dependencies.
- Minor adjustments in package.json files to ensure consistency.

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

* fix: add eslint rule for use pathe first

* refactor: useWhoami from user store (#4061)

* refactor: useWhoami from user store

* update

* update

* update

* update

* return all

* fix: invalidate entries query after unsubscribe

* feat: implement imperative modal (#4041)

* feat: implement ImperativeModalProvider with modal context and controls

* fix: make onClose prop optional for bottom modal

* chore: add ImperativeModalProvider to context providers

* feat: wrap BottomModal content in KeyboardAvoidingView for better keyboard handling

* chore: add polyfill for Promise.withResolvers

* fix: wrap ImperativeModal in a View and update onClose to accept modal ID

* feat: implement ImperativeModal with context and modal control hooks

* refactor: redesign imperative modal with root-siblings

* fix: wrap BottomModal in a View to resolve rendering issues on Android

* refactor: replace Alert.prompt with modalPrompt for category creation and renaming

* fix(desktop): show login modal when auth fail

* feat: invalidate entry readability cache

* refactor: long press to open text select sheet for ai summary

* feat: new domain folo.is

* fix: enhance auth client with mobile-specific headers (#4064)

* feat(desktop): add missing i18n key (#4066)

* feat: update twitter handle

* docs: use google play badge

* feat: add hideAvatar prop to ProfileSettingForm for conditional avatar display

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

* docs: update images

* feat(ssr): add Google Analytics tracking to index.html

- Integrated Google Tag Manager for enhanced tracking and analytics capabilities.
- Added asynchronous loading of gtag.js and configuration for tracking ID G-DZMBZBW3EC.

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

* chore: Update Japanese Languages (#4078)

* chore: update ja.json

* chore: update 6 ja.json files

chore: update and bump 6 ja.json files.

* chore: update error/ja.json

fix locale/error/ja.json

* chore: auto-fix linting and formatting issues

* chore: update app/ja.json

* chore: update ja.json

* chore: update ja.json

* chore: update ja.json and tested local.

* chore: update ja.json

update settings/ja.json

* feat(i18n): update Japanese locale files with new error messages and dialog options

* chore(vscode): set default formatter for JSON and JSONC files

* Remove JSON and JSONC formatter settings

so sorry, @hyoban 😢

Perhaps my local settings are in. I have restored it to the original. Thanks for your kindness. 
You have always been a great help.

* chore: auto-fix linting and formatting issues

* chore: update ja.json

sync and update settings/ja.json

* chore: update Japanese translations for clarity and consistency

* chore: update some ja.json

* chore(locales): update Japanese translations with new entry actions and settings

* fix: update Japanese translations for user actions and login prompts

* feat(locales): add Japanese translations for login and registration features

* feat(locales): update Japanese translations for RSSHub and related settings

* chore: auto-fix linting and formatting issues

* feat(i18n): update Japanese locale with new toolbar customization and profile link social fields

* feat(locales): update Japanese translations for search results and two-factor authentication

* feat: 日本語ローカライズの更新

---------

Co-authored-by: dai <dai@users.noreply.github.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: Innei <Innei@users.noreply.github.com>

* feat(desktop): real user deletion

* feat(mobile): real user deletion

* feat(settings): add accent color customization and update UI components

- Introduced accent color setting to allow users to customize the app's interface.
- Updated various components to utilize the new accent color, including buttons, sliders, and text elements.
- Added translations for accent color settings in English, Japanese, and Chinese.
- Refactored related styles in Tailwind CSS configuration to support the new accent color feature.

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

* fix: update text styling for feed parameters message

* feat: use insertedBefore for mark above read

* feat(mobile): use insertedBefore for mark above read

* fix: improved lightbox component for iOS (#4089)

* feat: replace Image component with ProxyImage for improved performance and styling

* fix: update Image component style prop

* fix: improved layout in ImageItem component

* feat: integrate animated ref for media preview in EntryPictureItem

* fix: option can not be press when out of screen in the FlatList

* fix: lint

* fix: types

* fix: update lock

* fix: lint

* chore: auto-fix linting and formatting issues

---------

Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: Whitewater <me@waterwater.moe>
Co-authored-by: lawvs <18554747+lawvs@users.noreply.github.com>
Co-authored-by: DIYgod <i@diygod.me>
Co-authored-by: Konv Suu <2583695112@qq.com>
Co-authored-by: dai <dosada@gmail.com>
Co-authored-by: dai <dai@users.noreply.github.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: Innei <Innei@users.noreply.github.com>
2025-07-07 16:55:37 +08:00
Innei 6d76d6b558 chore: update dependencies and improve type safety
- Updated various package dependencies across the project, including @sentry/react, @tanstack/react-query, and others to their latest versions for improved performance and security.
- Enhanced type safety in several components by refining type definitions, particularly in motion-related imports.
- Adjusted transition configurations to utilize new presets for smoother animations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-20 23:32:42 +08:00
Stephen Zhou 018f371654 chore: ignore generated-routes.ts in eslint 2025-06-20 09:27:34 +08:00
Innei e656cfd3a2 chore: update dependencies
- Changed the ESLint rule for "package-json-extend/ensure-package-version" from "warn" to "error" to enforce stricter package version checks.
- Updated various dependencies across multiple package.json files, including:
  - Upgraded @eslint/compat to version 1.2.9
  - Updated @types/node, @types/react, and @types/react-dom to their latest versions.
  - Bumped eslint to version 9.27.0 and lint-staged to version 16.1.0.
  - Updated several other packages such as turbo, tsx, and various Radix UI components to their latest versions.
- Ensured compatibility with the latest versions of dependencies.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-28 22:16:06 +08:00
Innei 4d746522f1 refactor: remove unused files and clean up project structure
- Deleted obsolete configuration files and unused components across various packages.
- Updated package.json files to reflect the removal of dependencies.
- Cleaned up code by removing unnecessary exports and unused imports in multiple modules.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-28 20:58:51 +08:00
Konv Suu 5cde69212c refactor(desktop): move electron actions to entry actions (#3483)
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2025-04-14 16:16:40 +08:00
Stephen Zhou b95237f22e refactor: move locales folder (#3374)
* chore: move locales out

* fix: correct import

* move generate local script
2025-03-31 18:59:29 +08:00
Stephen Zhou 0770bb9fb8 build: fix lint for locales (#3322) 2025-03-28 02:23:53 +00:00
DIYgod 5a6c04af47 chore: pnpm lock 2025-03-14 14:41:18 +08:00
Stephen Zhou f29bedc005 build: update lint to remove patch (#3047) 2025-03-13 02:46:41 +00:00
Stephen Zhou b5272910e2 build: update lint (#3010)
* chore: update deps

* update patch

* disable @eslint-react/naming-convention/use-state

* fix: enable "TAILWIND_MODE"

* update
2025-03-09 21:53:10 +08:00
Innei 3e84f73aec chore: extract ssr as single app
Signed-off-by: Innei <tukon479@gmail.com>
2025-03-03 20:01:18 +08:00
Stephen Zhou 1e748be49e build: fix tailwind config location (#2946) 2025-03-03 10:52:33 +00:00
DIYgod 8b07a9a573 chore: desktop dir (#2924)
* chore: desktop dir

* chore: desktop src and configs

* chore: auto-fix linting and formatting issues

* fix: path

* fix: path

* fix: path

* fix: path

* fix

* fix

* fix

* test

* test

* test

* test

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

* fix

---------

Co-authored-by: DIYgod <8266075+DIYgod@users.noreply.github.com>
2025-03-02 17:19:22 +08:00
Innei a84a4d273a chore: fix types and lint error
Signed-off-by: Innei <tukon479@gmail.com>
2025-02-04 23:35:51 +08:00
Innei e1bf881e85 feat: use expo module to write native component/module (#2675)
* init

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

* test uikit

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

* uitable

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

* test webview

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

* shared webview

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

* refactor(shared-webview): Simplify WebView height management

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

* fix: add url prop

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

* rename

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

* feat: native module

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

* cleanup

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

* fix: export

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

* fix

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

* fix

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-02-02 23:55:05 +08:00
Stephen Zhou 346cd25311 chore: disable typechecked lint rules 2025-01-17 21:32:52 +08:00
Stephen Zhou 44617411a1 chore: update lint 2025-01-16 11:35:51 +08:00
Stephen Zhou 596476d924 chore: introduce eslint-plugin-react-google-translate 2025-01-16 10:59:06 +08:00
Stephen Zhou 4b6a0fca2e feat: mobile app architecture and initial screens (#2144)
* feat: initialize mobile app with Expo setup and configuration

* chore: update deps

* feat: update layout and integrate WebView for follow

* chore: update lock

* chore: lint

* chore: lock file

* feat: login with deeplink

* feat: auth

* feat: add Expo development script and refactor mobile app configuration

- Added a new development script for Expo in package.json.
- Refactored the app.config.ts to configure expo-router with a specified root.
- Removed unused files: _layout.tsx, auth.tsx, and index.tsx from the mobile app directory, streamlining the codebase.

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

* feat: update dependencies and enhance mobile app configuration

- Added new dependencies: nativewind, swiftui-react-native, and tailwindcss to improve styling capabilities.
- Updated react-native-reanimated version to 3.16.5 for better performance.
- Refactored tailwind configuration to use baseTwConfig for consistency across applications.
- Enhanced mobile layout with color scheme toggle functionality and improved button styling.
- Included type definitions for nativewind in shim-env.d.ts.

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

* refactor: streamline color configuration and enhance authentication UI

- Updated tailwind configuration to simplify color definitions, removing unnecessary color mappings and using CSS variables for palette colors.
- Refactored authentication screen to utilize new color scheme and improved styling for better user experience.
- Introduced a function to retrieve current colors based on the system theme, enhancing dynamic styling capabilities.

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

* feat: add tab

- Refactored app.config.ts to use resolved paths for icon assets, improving path management.
- Enhanced RootLayout component by adding additional Stack.Screen elements for better navigation structure.
- Removed unused authentication and index screens to streamline the codebase and improve maintainability.

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

* feat: add new icons and update mobile app configuration

- Introduced multiple new icon components for enhanced UI representation in the mobile app.
- Updated package.json and pnpm-lock.yaml to include new dependencies and ensure proper package management.
- Refactored mobile screens (_layout.tsx, home.tsx, auth.tsx) for improved structure and navigation.

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

* chore: init debug screen

- Added a new Link component in RootLayout for debugging purposes, improving navigation capabilities.
- Adjusted the position of the existing button in RootLayout to enhance UI layout.
- Refactored HeadlessLayout to ensure proper closing of Stack component.
- Updated home screen to include Link and removed unused components for cleaner code.

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

* feat: app route layer

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

* feat: enhance mobile app layout and navigation

- Updated RootLayout to include a new Stack.Screen for "Add Subscription" with customized header styles.
- Refactored TabLayout to improve tab bar styling and adjusted icon sizes for better visual consistency.
- Replaced List component with ScrollView in FeedList, adding header actions for editing and navigation to the add screen.
- Introduced accentColor in the theme for consistent color usage across components.

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

* fix: navigation theme

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

* refactor: update layout components and streamline navigation

- Removed unused headerTintColor from AppRootLayout for cleaner code.
- Simplified TabLayout by removing unnecessary screenOptions, enhancing readability.
- Updated RootLayout to import navigation themes from local theme file, improving theme management.

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

* feat: update dependencies and refactor mobile app components

- Added new dependencies: @follow/constants, jotai, and zustand to enhance state management and component functionality.
- Updated package.json and pnpm-lock.yaml to reflect new dependencies and their versions.
- Removed the Logo component to streamline the codebase.
- Refactored FeedList and TabLayout components to improve layout and navigation, including the addition of themed blur views for better UI consistency.

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

* feat: integrate React Native Bottom Tabs

* refactor: use native bottom tab

* chore: jsx preserve for ts config

* Revert "refactor: use native bottom tab"

This reverts commit e9370470c9.

* feat: enhance tab bar icons in TabLayout

- Updated TabLayout to use different icons based on tab focus state, improving user experience.
- Introduced SafariCuteFi and Setting7CuteFi icons for the "Discover" and "Settings" tabs, respectively.
- Adjusted icon sizes for better visual consistency across the tab bar.

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

* feat: add withFollowAssets plugin for managing asset resources

* feat: add FollowWebView component

* chore: set base path to current directory in vite config

* refactor: rename withFollowAssets.js to with-follow-assets.js and add error handling for missing assets directory

* feat: debug for webview

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

* chore(lint): correct tailwind config for mobile

* fix: share cookie with webview

* fix: redirect to home for webview

* fix: bring cookie inject back

* feat: init db

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

* fix: inject js

* fix: add shared env

* feat: useAuthCookie

* fix: save token

* chore: update icon

* chore: add note

* feat: init auth client

* feat: simple auth flow

* refactor: use cookie-es

* chore: remove unstable_enablePackageExports

* chore: remove auth page

* chore: update dependencies and refactor storage management

- Added '@follow/shared' package to pnpm-lock and package.json.
- Updated 'hono' and 'ofetch' dependencies in package.json.
- Removed 'react-native-mmkv' and its related storage implementation.
- Refactored layout to use 'RootProviders' for better context management.
- Updated API fetch headers to include application name.
- Changed '@electron/node-gyp' resolution method to use git URL.

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

* chore: update dependencies and add subscriptions schema

- Added 'immer' dependency to package.json and pnpm-lock.yaml.
- Updated '@electron/node-gyp' resolution method to use tarball URL.
- Introduced 'subscriptionsTable' schema in the database for managing user subscriptions.

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

* chore: remove unused config

* chore: remove unused code

* chore: signout for debug

* refactor: use kv as auth storage

* chore: remove expo-secure-store, see https://github.com/better-auth/better-auth/issues/928

* fix: logout from native

* feat: react-hook-form

* feat: simple ui

* chore: auto-fix linting and formatting issues

* feat: sn pro font

* chore: auto-fix linting and formatting issues

* feat: enhance database schema and API error handling; improve feed list functionality

* feat: update ThemedBlurView and enhance feed list with new subscription handling

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

* chore: remove login url env

* feat: implement navigation handling in FollowWebView

* feat: make social login work

* chore: update

* feat: update environment variables, add dayjs dependency, enhance database schema integration, and improve subscription handling with transaction support

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

* feat: enhance tab layout and feed list with improved ThemedBlurView integration and dynamic tab height adjustment

- Updated tab bar background and style in TabLayout for better visual consistency.
- Integrated useBottomTabBarHeight in FeedList to dynamically adjust layout based on tab height.
- Enhanced SubscriptionList header background with ThemedBlurView for improved aesthetics.
- Added styles for tab container to maintain consistent appearance across screens.

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

* refactor: move video URL handling to utils

* feat: integrate utility functions for URL handling in FollowWebView

* chore: update lock

* fix: workaround potential null value in remoteSettings.updated

* feat: enhance FeedList layout with dynamic header and tab height adjustments

- Integrated useHeaderHeight to dynamically adjust the ScrollView's content inset based on the header height.
- Updated scrollIndicatorInsets to improve scrolling experience by accounting for safe area insets.
- Ensured consistent layout adjustments for better visual alignment with the tab bar.

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

* chore: update dependencies and configure babel-plugin-module-resolver

- Added babel-plugin-module-resolver version 5.0.2 to package.json for improved module resolution.
- Configured babel.config.js to use module-resolver with custom alias for es-toolkit.
- Updated pnpm-lock.yaml to reflect new dependencies and their resolutions.
- Refactored import statement in utils.ts to use the updated es-toolkit import path.

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

* feat: enhance database integration and add SQL support

- Added support for SQL file imports in the mobile app by configuring babel-plugin-inline-import and updating metro.config.js to recognize .sql file extensions.
- Introduced new database migrations for improved data management, including the addition of a new migration file.
- Updated the drizzle migration logic to include the new migration.
- Enhanced the database initialization process to support the new subscription service.
- Refactored the hydrate function to streamline database hydration and improve performance.

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

* feat: enhance database functionality

- Added expo-clipboard and expo-file-system dependencies to the mobile app for improved file handling and clipboard functionality.
- Implemented a new function to retrieve the SQLite database path using expo-file-system.
- Enhanced the DebugPanel to include options for clearing SQLite data and copying the database file location to the clipboard.
- Updated pnpm-lock.yaml and package.json to reflect the new dependencies and their versions.

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

* feat: implement session token management and enhance DebugPanel

- Removed unused session token handling from apiFetch.
- Updated cookie management functions to include synchronous storage with kv for session tokens.
- Added functionality to get and set session tokens in the DebugPanel, allowing users to view and save session tokens.
- Improved user interface in DebugPanel for better session token management.

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

* fix: handle keyboard

* feat: enhance layout and subscription service functionality

- Added BugCuteReIcon to the RootLayout for improved user interface.
- Updated the upsertMany method in SubscriptionService to handle conflicts during database insertions, ensuring data integrity by using SQL's onConflictDoUpdate.

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

* refactor: update FeedList component with improved pressable interactions and remove unused code

- Deleted unused .gitkeep file in mobile modules directory.
- Enhanced SubscriptionItem to use Pressable for better user interaction feedback.
- Removed redundant text displays for subscription IDs and current view in SubscriptionList.
- Added state management for press interactions to visually indicate button presses.

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

* chore: reduce bundle size

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

* fix: cookie

* fix: cookie name

* fix: update iOS URI for FollowWebView

* chore: eas link

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

* chore: update @better-auth/expo

* chore: format

* chore: fix can not click debug button

* chore: add expo-drizzle-studio-plugin

* chore: turn off typechecked rules in eslint

* chore: pan debug button

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

* fix: dark mode in rn webview

* chore: update

* fix: detect safari in webview

* fix: try fix db init

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

* refactor: adjust layout and improve tab view in FeedList component

- Reduced bottom view tab height from 45 to 35.
- Updated ScrollView content insets for better layout.
- Replaced static tab view with a horizontally scrollable tab view.
- Enhanced tab item styling for better visual feedback on selection.

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

* refactor: simplify FeedList component by removing unused code and optimizing imports

- Removed unused imports and components to streamline the FeedList.
- Consolidated the tab view logic and improved the overall structure.
- Enhanced readability by eliminating redundant code and simplifying the component's layout.

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

* refactor: enhance subscription sorting in useSubscriptionByView hook

- Updated useSubscriptionByView to accept a sorting parameter, defaulting to "alphabet".
- Implemented sorting logic for subscription IDs based on alphabetical order.
- Introduced a new helper function, sortByAlphabet, to compare subscriptions by title.
- Improved the overall functionality of the subscription list in the FeedList component.

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

* refactor: data schemas and improve feed and subscription handling

- Renamed FeedModel to FeedSchema and SubscriptionModel to SubscriptionSchema for consistency.
- Introduced new InboxSchema and ListSchema to enhance data structure.
- Updated FeedService and SubscriptionService to utilize the new schemas.
- Refactored the FeedList component to support grouped and ungrouped subscriptions.
- Removed unused Morph class and related types to clean up the codebase.
- Enhanced sorting logic for subscriptions in the useSubscriptionByView hook.

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

* chore: auto-fix linting and formatting issues

* fix: enhance FeedIcon styling for dark mode compatibility

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

* chore: auto-fix linting and formatting issues

* feat: enhance FeedList component with animated accordion for grouped subscriptions

- Introduced animated accordion functionality in the CategoryGrouped component to improve user experience when viewing grouped subscriptions.
- Replaced static toggle with AnimatedTouchableOpacity for better visual feedback.
- Updated the layout and styling of the CategoryGrouped component for improved aesthetics.
- Adjusted ScrollView in FeedList to include right scroll indicator insets for better layout.

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

* chore: auto-fix linting and formatting issues

* refactor: update database schema and migration files

- Removed obsolete SQL migration files for `bitter_bloodstrike` and `ancient_dexter_bennett`.
- Updated migration scripts to reflect new table structures and relationships.
- Enhanced `migrations.js` to import new migration files.
- Adjusted `_journal.json` and snapshot files to align with the new schema.
- Added error handling and logging in migration processes.
- Improved database initialization with logging capabilities.
- Refactored subscription handling in the store to accommodate new schema changes.

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

* chore: auto-fix linting and formatting issues

* feat: enhance FeedList component with ItemPressable for improved interaction

- Replaced static Pressable components with ItemPressable in CategoryGrouped and SubscriptionItem for better touch handling.
- Updated the layout of CategoryGrouped to include a pressable area for category navigation.
- Added a new utility function, composeEventHandlers, to facilitate event handling in the utils package.

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

* chore: auto-fix linting and formatting issues

* refactor: restructure FeedIcon and enhance list handling in FeedList component

- Removed the FeedIcon component to streamline icon handling.
- Updated FeedList component to include a new ListList section for displaying lists.
- Introduced ListSubscriptionItem for rendering individual list items with fallback support for missing images.
- Enhanced state management in the list store to utilize a record structure for lists and list IDs.
- Improved subscription handling by adding list subscriptions to the subscription store.

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

* chore: auto-fix linting and formatting issues

* feat: enhance FeedList and ViewTab components with new features and styling improvements

- Added a new StarItem component to the FeedList for collections navigation.
- Updated ListList and SubscriptionItem components for improved layout and spacing.
- Enhanced ViewTab with increased horizontal padding and a bottom border for better visual separation.
- Adjusted icon sizes in ViewTab for consistency.

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

* chore: auto-fix linting and formatting issues

* feat: apple sign in, not work yet

* chore: bring type check lint back

* feat: enhance mobile app components and linting configuration

- Added a new ESLint rule for preventing leaked conditional rendering in React.
- Updated the initialization process in main.ts to ensure proper loading of the expo-router.
- Enhanced the FeedList component by integrating the HeaderBlur for improved header styling and added routing functionality in SubscriptionItem for better navigation.
- Modified the Add screen to include a Stack.Screen for improved navigation handling.

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

* chore: enable no-inline-styles

* chore: update

* chore: auto-fix linting and formatting issues

* feat: enhance feed-list functionality with new components and dependencies

- Added react-native-pager-view for improved navigation between feed views.
- Introduced ViewPageCurrentViewContext for managing the current view state in the feed list.
- Updated SubscriptionList to utilize PagerView for dynamic content rendering.
- Enhanced ListList to use the new context for better state management.
- Refactored imports for consistency and clarity.

This update improves the user experience by allowing seamless transitions between different feed types.

* feat: improve ViewTab component with animated tab indicator and dynamic scrolling

- Added animated indicator for the currently selected tab, enhancing visual feedback.
- Implemented dynamic scrolling to the selected tab using ScrollView reference.
- Introduced state management for tab widths and positions to support the animation.
- Updated tab rendering to capture layout dimensions for improved responsiveness.

This update enhances the user experience by providing a smoother and more interactive tab navigation.

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

* fix: lockfile

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

* refactor: video URL transformation

* fix: web dev

* chore: add URL linking functionality to Add screen

* chore: expo update config

* feat: enhance feed-list and configuration with new features and optimizations

- Updated app configuration to support dark mode for splash screen background.
- Refactored feed-list components to utilize Jotai for state management, improving performance and readability.
- Introduced new hooks for managing current view state, enhancing the user experience.
- Implemented animated tab indicators and dynamic scrolling in ViewTab for better navigation feedback.
- Cleaned up imports and improved overall code structure for maintainability.

These changes collectively enhance the functionality and user experience of the feed-list feature in the mobile app.

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

* chore: auto-fix linting and formatting issues

* feat: integrate gesture handling and state management for feed view

- Added Jotai state management for current feed view, allowing dynamic updates.
- Implemented double-tap gesture to switch to the Articles view, enhancing user interaction.
- Wrapped the main provider in GestureHandlerRootView to support gesture handling.
- Updated tab layout to utilize gesture detection for improved navigation experience.

These changes collectively enhance the functionality and interactivity of the feed-list feature in the mobile app.

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

* chore: update prepare script

* chore: prepare for rn web build

* feat: add inbox management and improve list handling in feed view

- Introduced InboxList and InboxItem components to display inboxes within the Articles view.
- Enhanced state management by implementing useInboxSubscription for fetching inbox data.
- Updated ListService and SubscriptionService to use upsertManyInSession for improved session handling.
- Refactored inbox store to utilize createZustandStore for better state management.
- Added inboxIdByView to SubscriptionState for managing inbox subscriptions by view type.

These changes collectively enhance the feed-list feature by integrating inbox management, improving data handling, and optimizing state management in the mobile app.

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

* chore: auto-fix linting and formatting issues

* feat: enhance mobile app with new context menu and unread management

- Added `react-native-context-menu-view` version 1.16.0 to support context menus in the mobile app.
- Implemented new `unread` table schema to track unread counts for subscriptions.
- Updated `FeedList` and `ViewTab` components to display unread counts dynamically.
- Refactored inbox management to improve session handling with `upsertManyInSession`.
- Enhanced state management by integrating unread counts into subscription hooks.

These changes collectively improve user experience by providing context menus and better unread message tracking in the mobile application.

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

* feat: integrate context menu and enhance unread management in feed list

- Added ContextMenu component to ViewTab for marking all items as read.
- Updated FeedList and ViewTab components to utilize context menus for improved user interaction.
- Enhanced unread management by implementing markViewAsRead functionality in UnreadSyncService.
- Refactored subscription getters and hooks to streamline data retrieval by view type.

These changes collectively improve user experience by providing context menus for actions and better management of unread items in the mobile application.

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

* feat: enhance feed list with swipeable actions and performance improvements

- Integrated swipeable functionality in SubscriptionItem for better user interaction, allowing users to unsubscribe or read items directly.
- Refactored styles for accordion icons to improve layout consistency.
- Optimized animated styles in ViewTab for smoother transitions and reduced performance issues.
- Consolidated spring configuration for animation to enhance maintainability.

These changes collectively improve the user experience by providing intuitive swipe actions and enhancing the performance of the feed list in the mobile application.

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

* refactor: proxy creation to use evalCode for improved reusability

* refactor: update Add screen to use router for navigation and handle deep linking

* feat: implement deep linking support and refactor navigation handling in FollowWebView

* fix: use hash router for rn web

* chore: fill submit info

* chore: autoIncrement version

* fix: remove unnecessary width class to prevent unexpected scrolling

* feat: improve login page ui

* fix: disable state

* refactor: enhance ViewTab layout and header background in FeedList

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

* feat: integrate react-native-reanimated and enhance feed list functionality

- Added react-native-reanimated plugin to Babel configuration for improved animation support.
- Updated metro configuration to wrap with reanimated settings.
- Refactored AccordionItem to use withTiming for smoother animations.
- Introduced JotaiPersistSyncStorage for persistent state management in feed list atoms.
- Enhanced SubscriptionList to utilize FlashList for better performance and rendering.
- Implemented sorting functionality in feed list with atom hooks for sort method and order.
- Improved ViewTab component to handle tab scrolling more effectively.

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

* feat: enhance feed list and debug panel functionality

- Added color scheme support in InboxItem for dynamic icon coloring based on theme.
- Updated FlashList padding to improve layout consistency.
- Introduced a new "Reload App" button in the DebugPanel for easier app reloading.

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

* feat: sort

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

* feat: enhance ItemPressable and refactor feed list interaction

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

* fix: padding safe for webview

* chore: update FollowWebView background style

* fix: enable hoverOnlyWhenSupported for rn web build

* feat: subscription management ctx menu

- Added '@follow/hooks' and 'usehooks-ts' as workspace dependencies in pnpm-lock.yaml and package.json.
- Refactored AccordionItem to use withSpring for improved animation performance.
- Introduced SubscriptionItemContextMenu for better context menu handling in feed list.
- Updated subscription model to handle 'isPrivate' as a boolean.
- Enhanced subscription store with new utility functions for managing subscription IDs and added patch functionality.
- Improved reset functionality in subscription store to clear state by view.

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

* refactor: update API URL handling and enhance subscription management

- Replaced direct usage of process.env.EXPO_PUBLIC_API_URL with a new getApiUrl() function across multiple files for improved maintainability.
- Updated SubscriptionItemContextMenu to SubscriptionFeedItemContextMenu for better clarity in context menu handling.
- Implemented a delete method in SubscriptionService to handle subscription removals and associated cleanup for feeds, lists, and inboxes.
- Enhanced the unsubscribe functionality in SubscriptionSyncService to ensure proper state management during subscription deletions.

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

* feat: user management features and list and category ctx menu

- Added a new migration script (m0004) for "majestic_thunderbolt_ross" to the SQLite migrations.
- Updated the journal JSON to include the new migration entry.
- Introduced a new users table schema to manage user data, including fields for id, email, handle, name, image, and isMe.
- Refactored context menu actions in feeds to improve clarity and functionality.
- Removed deprecated feed list components and consolidated related logic for better maintainability.
- Updated RootProviders to ensure proper context management across the application.

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

* feat: enhance Add screen and layout for better user experience

- Updated the AppRootLayout to include modal presentation for the "Add Subscription" screen.
- Refactored the Add screen to improve navigation and user interaction, including a new header with close and search icons.
- Introduced a state for managing the feed URL input, enhancing the user interface with appropriate styles and functionality.
- Added new color handling in the theme to support disabled states and improve accessibility.

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

* style: update input field styling in Add screen for improved dark mode support

- Modified the className of the URL input field in the Add screen to enhance its appearance in dark mode, ensuring better visibility and user experience.

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

* feat: update mobile app configuration and enhance subscription list interaction

- Added application category type to the iOS infoPlist for better app classification.
- Increased hitSlop on the AnimatedTouchableOpacity in the subscription list for improved touch responsiveness.
- Un-commented the DebugButton in the layout to ensure it is always visible for debugging purposes.

These changes aim to enhance the user experience and improve app visibility in app stores.

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
Signed-off-by: Innei <i@innei.in>
Co-authored-by: lawvs <18554747+lawvs@users.noreply.github.com>
Co-authored-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: hyoban <hyoban@users.noreply.github.com>
Co-authored-by: Innei <Innei@users.noreply.github.com>
2024-12-26 00:06:03 +08:00
Stephen Zhou 36f0d00b07 style: use prettier-plugin-tailwindcss and disable sort in lint 2024-12-23 22:19:45 +08:00
Stephen Zhou 1d4a1e5a00 chore: use correct tailwind config for apps server for lint 2024-12-16 19:38:29 +08:00
Stephen Zhou 3365d7afa0 chore: fix lint 2024-12-13 10:56:14 +08:00
Stephen Zhou dbcd56f468 chore: eslint to check package & only run type-aware rules in CI 2024-12-13 10:51:33 +08:00
Stephen Zhou a0293f4a66 chore: update lint 2024-10-19 09:01:59 +08:00
Innei f490d7d62f refactor: power modal
Signed-off-by: Innei <tukon479@gmail.com>
2024-10-10 16:58:08 +08:00
Innei d4a2cf6816 chore: disable no-floating-promises
Signed-off-by: Innei <tukon479@gmail.com>
2024-10-10 16:00:57 +08:00
Stephen Zhou 4b6ee2ad42 chore: update lint 2024-10-10 11:57:10 +08:00
Stephen Zhou 2663c1181c chore: enable eslint rules require type check 2024-10-10 10:51:25 +08:00
Innei e05d2bab75 refactor: vite config and re-optimize chunks
Signed-off-by: Innei <i@innei.in>
2024-10-05 00:37:08 +08:00
Innei 65bfe8f13c chore: add eslint plugin for i18n check 2024-09-28 14:10:36 +08:00
Innei 41d1882dce chore(plugin): add eslint to check no debug code in prod
Signed-off-by: Innei <i@innei.in>
2024-09-24 16:37:46 +08:00
Innei 98e899df09 fix(i18n): i18n key should can nested
Signed-off-by: Innei <i@innei.in>
2024-09-24 12:51:19 +08:00
Innei 5a81dd6786 fix(eslint): json sort key
Signed-off-by: Innei <i@innei.in>
2024-09-22 19:57:10 +08:00
Innei 234471dfdf refactor: move to monorepo (#475)
* init

* fix: electron

Signed-off-by: Innei <i@innei.in>

* update

Signed-off-by: Innei <i@innei.in>

* fix: build

Signed-off-by: Innei <i@innei.in>

* fix: lint

Signed-off-by: Innei <i@innei.in>

* fix: test

Signed-off-by: Innei <i@innei.in>

---------

Signed-off-by: Innei <i@innei.in>
2024-09-18 20:54:48 +08:00
Randy 140d01a521 feat(i18n): Simplified Chinese (partial) (#353)
* i18n: apperance setting page

* invitation, actions, profile setting translation

* translation: words translation

* translation: sidebar

* translation: move translation

* remove namespace

* translation: sidebar context menu

* translation: apperance setting

* translation: general setting

* translaton: actions setting

* translation: shortcusts settings

* translation: invitations setting

* translation: about setting

* translation: article list

* translation: entry content view

* chore: disable  `noImplicitReturns`

Signed-off-by: Innei <i@innei.in>

* fix: fill en source

Signed-off-by: Innei <i@innei.in>

* chore: lint locales key

* feat: hmr fix

Signed-off-by: Innei <i@innei.in>

* use namespace

* translation: make i18n key flat

* translation: update namespace type defination

* translation: shortcut namespace

* translation: feed form

* translation: update words.which

* translation: ai daily tooltip

* translation: date i18n

* translation: fix i18n key typo

* translation: update mark all as read button

* translation: fix about page translation

* translation: update apperance namespace

* translation: fix settings namespace

* translation: fix settings namespace key

* fix lint error

* fix: shortcuts guideline i18n

Signed-off-by: Innei <i@innei.in>

* feat:setting zh-cn

Signed-off-by: Innei <i@innei.in>

* translate

Signed-off-by: Innei <i@innei.in>

* feat: discover

Signed-off-by: Innei <i@innei.in>

---------

Signed-off-by: Innei <i@innei.in>
Co-authored-by: Innei <i@innei.in>
Co-authored-by: Stephen Zhou <hi@hyoban.cc>
2024-09-13 18:32:21 +08:00
Innei 96ff9f660c perf: reduce re-render when ctx menu open
Signed-off-by: Innei <i@innei.in>
2024-09-12 21:51:26 +08:00
Innei 26d01fd835 chore: use prettier to format code (#306) 2024-09-09 15:04:57 +08:00
Innei ca381cebf8 feat: auto claim daily POWER, and update table style
Signed-off-by: Innei <i@innei.in>
2024-09-04 16:26:30 +08:00
Innei 91d0d76efe feat: loading component new design
Signed-off-by: Innei <i@innei.in>
2024-08-25 21:19:19 +08:00
Innei bb7d3127a9 feat: video player (#225)
* init

Signed-off-by: Innei <i@innei.in>

* feat: player

Signed-off-by: Innei <i@innei.in>

* feat: player button

Signed-off-by: Innei <i@innei.in>

* feat: video player done

Signed-off-by: Innei <i@innei.in>

* fix: test global scope

Signed-off-by: Innei <i@innei.in>

* fix: test

Signed-off-by: Innei <i@innei.in>

* update

Signed-off-by: Innei <i@innei.in>

* fix: color in light mode

Signed-off-by: Innei <i@innei.in>

* fix: unify button

Signed-off-by: Innei <i@innei.in>

---------

Signed-off-by: Innei <i@innei.in>
2024-08-18 19:02:03 +08:00
Innei 03ba85a373 feat: guess code language
Signed-off-by: Innei <i@innei.in>
2024-08-12 20:39:34 +08:00
Innei 4263658e32 feat: impl masonry in view mark read and scroll to mark read
Signed-off-by: Innei <i@innei.in>
2024-08-10 23:15:31 +08:00