Commit Graph

94 Commits

Author SHA1 Message Date
Stephen Zhou 5d0ae8fd1c
fix(desktop): move hydrate database to first, drop dataPersist option 2025-07-30 17:52:23 +08:00
Stephen Zhou 336d1fec28
fix: web login redirect 2025-07-29 15:52:06 +08:00
huanfei 0e9273f460
fix: resolve double-click issue for category collapse in user subscriptions (#4254) 2025-07-28 13:12:12 +08:00
DIYgod 093e47cb0a
feat: add fetch cache no-store and header cache-control no-store 2025-07-11 18:19:08 +08:00
DIYgod d7fa7ecaff
feat: ssr login page no client prompt 2025-07-10 19:41:11 +08:00
DIYgod fd42f5ca54
feat: simplify ssr footer 2025-07-10 19:11:14 +08:00
DIYgod 6d4d53b41d
feat: update layout spacing and enhance referral form alignment 2025-07-10 18:59:26 +08:00
DIYgod 912866fabe
feat: ssr layout 2025-07-10 18:59:26 +08:00
lawvs f865d68295 fix: improve token extraction and error handling in TokenModal 2025-07-10 17:06:24 +08:00
Stephen Zhou 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
Innei 8b37c5314f
chore: clean up package dependencies and remove unused i18n generation script
Signed-off-by: Innei <tukon479@gmail.com>
2025-07-09 00:23:51 +08:00
lawvs 140cfa9ddc fix: types 2025-07-07 15:34:59 +08:00
DIYgod d14c8f5c51
feat: new domain folo.is 2025-07-03 13:13:42 +08:00
DIYgod 35fb71cbbe
feat: x-app-platform header 2025-07-01 20:31:44 +08:00
Innei 5375458495
Merge pull request #4044 from RSSNext/sync/main-to-dev-20250630
Sync main branch to dev branch
2025-07-01 13:52:48 +08:00
Stephen Zhou d743200a85
fix: remove duplicated deep link scheme for login redirect 2025-07-01 12:08:01 +08:00
Innei e27a2654d6
fix: handle undefined titles in user group sorting, resolves FOL-2224
Signed-off-by: Innei <tukon479@gmail.com>
2025-07-01 00:16:29 +08:00
Innei 1579b08ace
chore: ignore generated route import
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-24 13:44:23 +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
DIYgod 592769758d
chore: format 2025-06-23 18:36:50 +08:00
Innei 9f0e7522d9
feat: update vite-plugin-route-builder and related configurations
- Renamed the plugin from '@follow/vite-plugin-route-builder' to '@follow-app/vite-plugin-route-builder' for better clarity.
- Added support for synchronous loading of components with the new '.sync.tsx' file extension.
- Enhanced the route generation logic to accommodate custom segment group ordering.
- Updated package dependencies and configurations, including the addition of test scripts and improved documentation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-20 21:52:26 +08:00
Stephen Zhou 018f371654
chore: ignore generated-routes.ts in eslint 2025-06-20 09:27:34 +08:00
Stephen Zhou ab9dd3c116
chore: ignore generated-routes.ts in prettier 2025-06-20 09:25:40 +08:00
Stephen Zhou 20858f6614
chore: do not ignore generated-routes.ts to pass type check 2025-06-20 08:32:40 +08:00
Innei 1d83313872
feat: add vite-plugin-route-builder for dynamic route generation
- Introduced a new plugin to generate React Router routes from a file system-based structure, enhancing routing capabilities similar to Next.js.
- Updated various configurations and components to integrate the new plugin, including automatic route generation during build time.
- Refactored existing router implementations to utilize generated routes, improving maintainability and performance.

Signed-off-by: Innei <i@innei.in>
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-20 01:41:53 +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 bd4a921cdc
feat(share): group un-categorized subscription
- Introduced a constant `UN_CATEGORIZED` to manage uncategorized subscriptions more effectively.
- Updated the logic to assign uncategorized subscriptions to the `UN_CATEGORIZED` category.
- Implemented sorting for uncategorized subscriptions to display them last, improving the organization of subscription groups.

These changes aim to streamline the categorization process and enhance the user experience when viewing subscriptions.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-17 21:36:31 +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
Innei 072f503ba6
refactor(feed): optimize feed display and error handling
- Introduced a constant `SIZE` to manage the number of feeds displayed, improving maintainability.
- Updated the feed count display to use `list.data.feedCount` for accuracy.
- Enhanced error handling in `callNotFound` to specifically manage `FetchError` instances, improving robustness.

These changes aim to streamline feed management and enhance error reporting in the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-17 20:44:37 +08:00
0-o0 cca1a9f268
fix: icon can't follow theme switch correctly (#3922) 2025-06-16 11:38:22 +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
Innei 20d8590c58
fix(auth): add support for dark mode icons in login components
- Introduced `iconDark64` property to `AuthProvider` interface for dark mode icon support.
- Updated `LoginModalContent` and `Login` components to conditionally render dark mode icons based on the current theme.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-12 21:06:15 +08:00
Stephen Zhou 52dd557d3d
refactor(desktop): remove old database and service (#3911) 2025-06-12 15:58:47 +08:00
Stephen Zhou 784a95cff1
refactor(desktop): use database and store from shared package (#3897) 2025-06-11 11:36:25 +08:00
Innei a92bdb89b3
feat(user-profile): integrate user lists and subscriptions in profile page
- Added functionality to fetch and display user-created lists alongside subscriptions.
- Introduced new components for rendering lists and subscriptions with loading states.
- Updated metadata fetching to include lists data for user profiles.
- Refactored user subscriptions query for better data handling.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-09 21:20:22 +08:00
Innei 5a53e6f46e
feat: replace number formatting with formatNumber utility across discover and feed components for improved readability
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-06 14:15:07 +08:00
Innei 1806c12760
feat(ssr): redesign share page
Signed-off-by: Innei <tukon479@gmail.com>
2025-06-05 00:53:57 +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 3a5c66876f
feat: introduce global constants and enhance metadata handling
- Added a new module to define global constants, including the application name.
- Updated the SSR index to initialize global constants on server start.
- Enhanced metadata handling in user metadata to include dynamic descriptions based on user subscriptions.
- Improved the Open Graph and hydration metadata structure for better SEO and user experience.
- Refactored user subscriptions query to group subscriptions by category for better organization.

Signed-off-by: Innei <tukon479@gmail.com>
2025-06-04 23:12:45 +08:00
DIYgod 47e07a4cc3
feat(desktop): copy and paste login token 2025-06-03 20:57:23 +08:00
DIYgod bb029e7144
feat(ssr): fetch more entries by feed api 2025-06-02 10:17:38 +08:00
DIYgod 4ba047ebc9
feat(ssr): use hcaptcha 2025-05-25 12:37:58 +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 4ae8bf21e8
chore: add `Prettify` helper
- Added APP_NAME constant with value "Folo" to global declarations in both desktop and SSR environments.
- Updated type definitions to use Prettify for improved type handling in context menu and component definitions.
- Enhanced the useTitle hook to incorporate APP_NAME in the title template for better context in the application.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-21 16:52:39 +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 55f20398be
fix(ui): update Button component props for consistency in styling
- Changed `className` to `buttonClassName` in Button components for improved prop consistency.
- Ensured uniformity in button styling across the Login and Register forms.

Signed-off-by: Innei <tukon479@gmail.com>
2025-05-10 00:13:29 +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