* 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>
- 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>