44 Commits
Author SHA1 Message Date
DIYgodandClaude Opus 5.5 2af0fd860e fix(ssr): keep entry images in the natural tab order and silent
Every entry image on the share pages had tabIndex 1, so the first Tab
presses went through all images before the header, the Follow button
and the links, and the images had no alt text, so screen readers read
their URLs. The placeholder's aspect ratio was also inverted. Make only
clickable images focusable in the normal order, give the illustrations
an empty alt and use width over height.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 04:13:46 +08:00
DIYgodandClaude Opus 5.5 2bd1b03c90 fix(ssr): answer 404 for missing share pages and show why they failed
Share pages only recognized not found errors from ofetch, but the API
client throws FollowAPIError, so missing feeds, lists and profiles were
served with status 200 and indexed as soft 404s. In the browser the feed
page then kept spinning and the list page stayed blank, also when the
API failed for another reason.

Treat API 404s as not found and pass other API statuses on, and show
the not found page or a translated retry view on the feed and list
pages, sharing the profile page's view.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 04:12:17 +08:00
DIYgodandClaude Opus 5.5 cd2074c724 fix(ssr): render shared list entries with their own feeds
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 00:04:33 +08:00
DIYgod 110960a6f0 fix(ssr): restore shared user profiles 2026-07-25 15:06:20 +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 1571396fb6 fix: upgrade sdk packages and align app types (#4950) 2026-04-02 09:03:57 +00:00
Stephen Zhou 2d0fa19e14 feat: read secure image setting from server 2025-11-20 17:09:15 +08:00
DIYgod e59f98e85d feat: subscription limit warning 2025-11-12 11:45:12 +08:00
Innei e1e43bfd4a style: update header and login card styles for improved UI
- Enhanced header button styles for better visual consistency.
- Increased width of the card in the forget password and reset password pages for improved layout.
- Removed unnecessary button component from the card title for a cleaner design.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-31 15:28:04 +08:00
DIYgod d0a7ca9db1 fix: types 2025-10-29 21:28:17 +08:00
DIYgod 8757e5a2ef fix: prettier tailwindcss classname sorting 2025-10-21 16:49:19 +08:00
Innei 49ef017af5 fix(ssr): jsx transformer error
Signed-off-by: Innei <tukon479@gmail.com>
2025-09-20 15:15:58 +08:00
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 a9d70a9900 refactor(legal): remove legal package and update references
- Deleted the `@follow/legal` package and its associated files, including privacy and terms of service documents.
- Updated various components to remove dependencies on the legal package, replacing modal presentations with direct links to external privacy and terms pages.
- Adjusted configuration files and routes to reflect the removal of legal utilities, ensuring a cleaner codebase.

These changes streamline the project by eliminating unnecessary dependencies and improving the user experience with direct access to legal documents.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-24 01:46:30 +08:00
Innei 3cd4eebddd feat(footer): add PoweredByFooter component for enhanced branding
- Introduced a new PoweredByFooter component to display copyright information and social media links.
- Updated layout and styling for better responsiveness and visual appeal.
- Removed the old PoweredByFooter implementation from the internal components.

These changes collectively enhance the user experience by providing a consistent branding element across the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 23:18:59 +08:00
Innei da24b8a37f refactor(header): improve header layout and styling
- Updated header component styles for better responsiveness and visual appeal.
- Changed border radius and padding for the header elements to enhance the overall design.
- Adjusted margin and width properties to ensure consistent layout across different screen sizes.

These changes collectively enhance the user experience by providing a more polished and adaptable header design.

Signed-off-by: Innei <tukon479@gmail.com>
2025-08-12 21:43:46 +08:00
DIYgod 912866fabe feat: ssr layout 2025-07-10 18:59:26 +08:00
30bb37c7b9 feat: referral (#3761)
Co-authored-by: DIYgod <i@diygod.me>
Co-authored-by: Innei <tukon479@gmail.com>
2025-07-10 09:47:11 +08:00
lawvs 140cfa9ddc fix: types 2025-07-07 15:34:59 +08:00
Innei db53bdb468 fix: ssr server move to esm (#3994)
* chore: fix prettier error

* refactor: migrate to ES modules and update global constants handling

- Changed the global constants definition to use Object.assign for better clarity.
- Replaced usage of `isDev` with `__DEV__` throughout the codebase for consistency.
- Updated imports to use ES module syntax, including dynamic imports where necessary.
- Removed the deprecated `env.ts` file and adjusted related logic in the build scripts.
- Ensured compatibility with ES module format in various files, including Vite and API client configurations.

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

* refactor(api): migrate handler to ES module syntax

- Updated the API handler to use ES module export syntax.
- Removed commented-out configuration for Node.js runtime.

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

* feat(404): enhance 404 page with animations and improve accessibility

- Replaced `motion` components with `m` shorthand for better readability.
- Introduced animation controls for various elements on the 404 page to enhance user experience.
- Updated the glitch text array for consistency.
- Adjusted layout and styling for improved visual presentation.
- Removed unused `framer-lazy-feature` file and updated `MotionProvider` to use `domMax` for performance optimization.

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

* feat(og): replace Folo text with SVG logo in OGCanvas component

- Updated the OGCanvas component to replace the static "Folo" text with a new LogoText SVG component for improved branding.
- Added the LogoText function that defines the SVG structure for the logo.

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

* refactor(tsdown): update font imports to use dynamic loading

- Modified font imports in `tsdown.config.ts` to utilize dynamic loading with `then` for improved performance and error handling.
- Introduced a no-operation function to handle the promise resolution of font imports.

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

* refactor(404): replace Jotai provider with RootProviders for improved context management

- Updated the 404 component to use `RootProviders` instead of the Jotai store provider for better context handling.
- Simplified the component structure while maintaining functionality.

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-24 13:16:20 +08:00
Innei fd7f57e3cd fix: update header shadow style and clean up user query logic
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-19 14:33:20 +08:00
Innei 4953caf5de feat(header): re-design share header
- Introduced enhanced scroll state management to adjust header elevation and compactness based on scroll position.
- Updated the layout of the header and container components for better responsiveness and visual appeal.
- Improved logo and social media links sections with animations and transitions for a more dynamic user experience.

These changes aim to provide a more intuitive and visually appealing header that adapts to user interactions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-17 20:53:12 +08:00
Stephen Zhou 1ad0312674 fix: remove coop & coep header, use localStorage for web for now 2025-06-13 23:42:40 +08:00
0-o0 3578188e02 fix(ssr):can't follow system theme switch issuse (#3917) 2025-06-13 22:59:48 +08:00
Innei cf72753b59 feta: redesign image previewer, fixed #3884
- Removed unused response header configuration from Vite render config.
- Simplified the media preview component structure by removing unnecessary state and props.
- Enhanced the image loading experience with a new DOMImageViewer for better zoom functionality.
- Updated FeedIcon component to utilize the replaceImgUrlIfNeed utility for image URLs.
- Adjusted styles and properties for improved UI consistency and performance.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-13 21:52:54 +08:00
Stephen Zhou 784a95cff1 refactor(desktop): use database and store from shared package (#3897) 2025-06-11 11:36:25 +08:00
Innei 6981be9480 feat(ssr): implement custom 404 page and enhance error handling
- Replaced the existing NotFound component with a new 404 page featuring animations and improved user experience.
- Updated routing to utilize the new 404 component for better error handling.
- Introduced a NotFoundError class and a callNotFound function to streamline error management across the application.
- Refactored metadata fetching to handle not found scenarios gracefully.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-05 00:18:16 +08:00
Innei a165c1a5e5 feat: update social media icon styles and enhance hotkey configuration
- Updated icon class names for social media links to include color styles for better visibility in light and dark modes.
- Added a new hotkey configuration option in the Vite setup to improve user experience with customizable shortcuts.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-25 00:53:16 +08:00
Innei 596694c610 refactor: improve user avatar display and login layout
- Updated UserAvatar component to include text truncation for better name display.
- Adjusted layout in Login component for improved spacing and alignment.
- Replaced heading with paragraph for success message and refined button styles.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-19 21:38:45 +08:00
Innei 2f492c8245 style(desktop): update FeedIcon component styling and enhance MagneticHoverEffect interactions
Signed-off-by: Innei <tukon479@gmail.com>
2025-05-08 16:15:25 +08:00
DIYgod 7079022e2f fix(ssr): styles 2025-05-08 12:24:56 +08:00
DIYgod 9a90b2cb4d feat(ssr): optimize ssr header 2025-05-07 21:22:49 +08:00
DIYgod df1ed5ba92 feat(ssr): optimize entries styles 2025-05-07 17:03:12 +08:00
Innei efc2e9713b refactor: upgrade react 19 and react native 0.79 (#3661)
* update

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

* chore: update Babel and Metro configurations

- Added `unstable_transformImportMeta` option to Babel preset for improved JSX handling.
- Disabled `unstable_enablePackageExports` in Metro configuration for better package resolution.

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

* chore: add react-native-ios-utilities patch and update dependencies

- Introduced a patch for `react-native-ios-utilities` to enhance functionality.
- Updated `expo`, `react-native`, and `react-native-reanimated` versions in the example app for improved compatibility.
- Added `react-native-ios-utilities` to the project dependencies in `package.json`.

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

* update

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

* chore: auto-fix linting and formatting issues

* refactor: improve route parameter handling and entry fetching logic

- Updated `useRouteParams` to utilize `useReadonlyRoute` for better state management.
- Enhanced `useEntriesByView` to separate remote and local entry fetching, improving data handling and error management.
- Introduced debouncing for pagination in local entries and added toast notifications for error handling.
- Cleaned up entry ID retrieval to ensure uniqueness and prevent duplicates.

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

* refactor: simplify Masonry component return statement

- Updated the return statement in the Masonry component to use JSX syntax for better readability and consistency.

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

* refactor: update import from RootPortalProvider to RootPortalContext

- Changed the import statement in Sheet.tsx to reflect the updated context provider name for better clarity and consistency in the codebase.

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

* update

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

* refactor: update ref types in component props

- Changed ref prop types from React.RefObject to React.Ref for better type compatibility across various components, enhancing overall code consistency and maintainability.

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

* feat: add Xcode build server configuration and enhance desktop app routing

- Introduced a new configuration file for the Xcode build server to streamline iOS builds.
- Updated Vite configuration to include a new proxy route for sharing functionality.
- Added a new Jotai atom for managing preview state in the application.
- Removed deprecated error fallback component to clean up the codebase.
- Implemented a new render style hook for consistent styling across components.
- Enhanced entry column components with improved error handling and layout adjustments.
- Updated various components to utilize the new render style and improved accessibility.

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

* update

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

* fix: ensure plugins array is initialized and update TypeScript configuration

- Initialized the plugins array in the mobile app configuration to prevent potential runtime errors.
- Updated TypeScript configuration to enhance module resolution and improve code organization with clearer path definitions.

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

* update lint

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

* refactor: update TypeScript types and improve component props

- Added `skipLibCheck` to TypeScript configuration for faster builds.
- Updated prop types in various components to allow for null values in refs, enhancing type safety.
- Refactored several components to ensure better type compatibility and maintainability.

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

* refactor(mobile): improve layout handling in NavigationHeader component

- Added console logs for debugging right and left widths.
- Adjusted layout structure to ensure proper width handling for header elements.
- Updated loading indicator positioning and visibility logic.

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

* refactor(mobile): update Pager and QRCode components to use forwardRef

- Refactored Pager and QRCode components to directly export as functional components with forwardRef.
- Updated type definitions to improve ref handling and ensure better type safety.
- Simplified component structure for improved readability and maintainability.

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

* refactor(ui): enhance FAB components with functional component structure and improved type definitions

- Converted FABBase and FABPortable to functional components using FC type for better type safety.
- Updated props to include optional ref handling, enhancing flexibility in usage.
- Simplified component structure for improved readability and maintainability.

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

* chore(deps): update react-native-ios-utilities patch and refine TypeScript configuration

- Updated the patch for react-native-ios-utilities in pnpm-lock.yaml to reflect a new hash.
- Enhanced TypeScript configuration in tsconfig.json by adding exclusion for node_modules and formatting paths for better readability.
- Cleaned up the react-native-ios-utilities.patch by removing unused exports from the index file.

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

* update

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

---------

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-07 16:30:30 +08:00
Innei 571a991dd4 fix(ssr): load i18n before renderer
- Changed the initialization function to be asynchronous, ensuring all necessary setups are completed before rendering.
- Modified the rendering logic in the Item component to return the memoized content directly.
- Cleaned up the NormalListItem component by removing unnecessary wrapper elements and updating class names for better styling consistency.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-30 22:11:16 +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
Innei a525406600 refactor(ui): update styling for improved visual consistency across components
- Changed background classes to 'bg-material-ultra-thick' in various UI elements including media, buttons, and modals for a cohesive design.
- Standardized text color usage to 'text-text-secondary' and 'text-material-opaque' in entry items and notifications for better readability.
- Enhanced hover effects and transitions for buttons and interactive elements to align with design standards.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-24 20:34:35 +08:00
Innei 1c588f39ac refactor: replace some legacy css color variables
Signed-off-by: Innei <tukon479@gmail.com>
2025-04-22 23:12:25 +08:00
Innei c254486e41 feat: integrate Folo icon across various components
- Replaced instances of APP_NAME with the new Folo icon in PoweredByFooter, FeedColumnMobile, LoginModalContent, SettingModalLayout, TimelineColumnHeader, and Layout components.
- Added Folo icon component to the project.
- Updated localization to include a new entry for copying the logo text SVG.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-19 20:11:47 +08:00
Innei 735fe90a10 chore: migrate from framer-motion to motion library
Signed-off-by: Innei <tukon479@gmail.com>
2025-04-18 00:12:20 +08:00
Innei e5047246b1 feat(desktop): integrate MagneticHoverEffect into NormalList and NormalListItem components
- Replaced standard div elements with MagneticHoverEffect to enhance hover interactions.
- Simplified styling by removing unnecessary hover classes, improving code clarity and visual feedback.

These changes enhance user engagement and visual appeal across the affected components.

Signed-off-by: Innei <tukon479@gmail.com>
2025-04-10 00:01:22 +08:00
Stephen Zhou fa3cce2fa9 build: update lint config (#3234)
* build: update lint config

* update

* update

* update
2025-03-22 12:35:53 +08:00
DIYgod d54535dc45 feat: remove @auth/core 2025-03-13 18:14:40 +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