- Updated Shortcut components to include icon rendering and a command prefix for better user experience.
- Modified shortcut trigger patterns to use '/' instead of '#' for consistency across the application.
- Added new icon selection feature in ShortcutModalContent for improved customization.
- Updated localization files to include new icon-related strings.
Signed-off-by: Innei <tukon479@gmail.com>
Added AutoLinkPlugin and TabIndentationPlugin to the LexicalRichEditor for improved user experience. Introduced ExitCodeBoundaryPlugin to manage caret behavior when exiting code contexts and TripleBacktickTogglePlugin for toggling code blocks. Updated node imports and types to support these new features, enhancing the editor's capabilities.
Signed-off-by: Innei <tukon479@gmail.com>
Updated the ChatInput and LexicalRichEditor components to streamline the logic for determining if the editor is empty. The isEmpty state now directly utilizes the $getRoot().isEmpty() method, enhancing code clarity and maintainability. Removed unnecessary text content checks in favor of a more efficient approach.
Signed-off-by: Innei <tukon479@gmail.com>
Updated the ChatInput and EditableMessage components to set a fixed height for the LexicalRichEditor, improving the layout consistency. Additionally, refactored the AITaskModal to manage prompt state outside of react-hook-form, allowing for better control over the prompt length and submission handling.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced `[text-autospace:auto]` with `autospace-normal` class in ListItem, EntryTitle, and ArticleLayout components to standardize text spacing.
- Added a new utility class `autospace-normal` in tailwind.css to ensure consistent text rendering across the application.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the import path for the AIShortcutButton component to the new location.
- Introduced a more flexible gradient handling function that adapts based on the dark/light mode.
- Removed the old AIShortcutButton component file as it is no longer needed.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the prompt input field with additional padding for better usability.
- Added size prop to the Switch component, allowing for small and medium sizes.
- Adjusted styles for the Switch component to accommodate the new size options, ensuring consistent appearance across different sizes.
Signed-off-by: Innei <tukon479@gmail.com>
* feat: add image-only view setting and related UI updates
- Introduced a new setting for image-only view mode.
- Updated components to conditionally render based on the new setting.
- Added translations for the new feature in multiple languages.
* fix: changelog
- Renamed CSS class from `h-entry-header` to `h-top-header` for clarity and consistency.
- Introduced `h-top-header-with-border-b` for enhanced layout in `EntryListHeader`.
- Updated `RelativeTime` component to accept a `postfix` prop, allowing for more flexible date formatting.
- Adjusted instances of `RelativeTime` to utilize the new `postfix` prop for improved display.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced EntryPreviewCard and FeedPreviewCard components for enhanced hover previews.
- Implemented prefetching of entry details and feed information on hover.
- Updated AnimatedMarkdown to utilize the new hover preview components for better user interaction.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated `AnimatePresence` and `m` from `motion/react` into the `AIChainOfThought` component to improve the display of reasoning titles with smooth transitions.
- Updated the `ToolInvocationComponent` to accept a `variant` prop, allowing for tighter spacing when necessary.
- Refined the `ShinyText` component's styles for better visual effects and consistency across components.
These changes aim to enhance the user experience by providing smoother animations and improved layout flexibility in the AI chat interface.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated the `ShinyText` component to support children and customizable shimmer width, improving flexibility in usage.
- Refactored styles for the `ShinyText` component to enhance the shine animation effect.
- Integrated the `ShinyText` component into the `AIChainOfThought` and `WelcomeScreen` components, ensuring consistent visual styling across the AI chat interface.
These changes aim to improve the visual appeal and maintainability of the components within the AI chat module.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new `CustomRangePicker` component within the `ContextMenuContent` to allow users to select custom date ranges.
- Enhanced the `DateTimePicker` to support range selection mode, enabling users to pick start and end dates.
- Integrated relative date options into the context menu, improving the flexibility of date mentions in the AI chat interface.
- Updated localization to ensure new date range options are translatable.
These changes aim to enhance user experience by providing more options for date selection in the AI chat context menu.
Signed-off-by: Innei <tukon479@gmail.com>
- Integrated `ShinyText` into `AIChainOfThought` for improved visual feedback during reasoning.
- Updated `AIMessageParts` to conditionally render reasoning parts only if text is present, enhancing logic clarity.
- Introduced `useDeferredValue` for low-priority rendering of display parts, optimizing performance.
These changes aim to improve the user experience by providing clearer visual cues and more efficient rendering in the AI chat interface.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new `AIInnerReasoningPart` component to encapsulate the rendering logic for individual reasoning parts, enhancing modularity.
- Updated `AIChainOfThought` to utilize the new component and manage collapse state more effectively using a ref.
- Simplified the extraction of headings from reasoning text, improving readability and maintainability of the code.
These changes aim to enhance the user experience by providing clearer feedback during AI reasoning processes and improving the overall structure of the components.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded various dependencies in package.json files, including @electron-forge, @sentry/react, and @better-auth.
- Updated devDependencies and fixed version mismatches in internal components and utilities.
- Enhanced settings sync queue to spread object properties for better payload handling.
Signed-off-by: Innei <tukon479@gmail.com>
- Updated various components to improve layout consistency and responsiveness, including AIDisplayAnalyticsPart, AIReasoningPart, and ToolInvocationComponent.
- Introduced max-width constraints to ensure proper rendering across different screen sizes.
- Enhanced the TokenUsagePill component by integrating TooltipPortal for better tooltip management and improved styling for token usage display.
- Implemented useLayoutEffect in ChatInterface to manage bottom panel height dynamically, improving user experience during chat interactions.
These changes aim to streamline the user interface and enhance the overall functionality of the AI chat components.
Signed-off-by: Innei <tukon479@gmail.com>
- 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>
- 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>
- Introduced a new higher-order component, withAppErrorBoundary, to wrap components with error boundary functionality.
- Created EntryNotFoundErrorFallback component to display a user-friendly message when an entry is not found.
- Updated error handling in EntryContent to utilize the new EntryNotFound error type.
- Added EntryContentFallback component to manage entry prefetching and loading states, enhancing user experience during data retrieval.
These changes improve error management and user feedback for entry-related issues.
Signed-off-by: Innei <tukon479@gmail.com>
* init
Signed-off-by: Innei <tukon479@gmail.com>
* feat(ai): add showSplineButton setting and update UI components
- Introduced a new setting `showSplineButton` to control the visibility of the AI assistant indicator.
- Updated the `createDefaultSettings` function to include the new setting with a default value of true.
- Modified the `AISplineButton` component to conditionally render based on the `showSplineButton` setting.
- Adjusted the modal content width in the `useDialog` hook for better layout.
- Enhanced the settings tab to define the new `showSplineButton` item with appropriate labels and descriptions.
- Updated localization files to include translations for the new setting.
These changes improve user control over the AI assistant's visibility and enhance the overall UI experience.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(ai): implement AISmartSidebar with CSS animations
- Added AISmartSidebar component to replace motion/react animations with CSS animations for improved performance and visual effects.
- Introduced corresponding AISmartSidebar.css file to define animations and styles for the sidebar elements.
- Updated AISplineButton to conditionally render AISmartSidebar based on visibility settings.
- Refactored AIEntryLayout to use the new AIIndicator component, enhancing the integration of the sidebar.
These changes enhance the user experience by providing smoother animations and better control over the AI assistant's visibility.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(ui): update icon usage and improve layout spacing
- Replaced icons in the EntryMoreActions and MoreActions components for consistency.
- Adjusted padding and margin in various components, including AIEntryHeader and SubscriptionColumn, to enhance layout and visual appeal.
- Added a new label 'View' to the ai-block-constants for better clarity.
These changes improve the overall user interface and maintain consistency across components.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(ui): enhance ChatHeader and EntryListHeader layouts
- Updated the ChatHeaderLayout to conditionally render styles based on the floating state, improving visual consistency.
- Adjusted the EntryListHeader component to set a fixed height, ensuring uniformity in layout across different views.
These changes improve the overall user interface and maintain a consistent layout experience.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(ui): update ChatHeader and ChatMoreDropdown components
- Replaced GlassButton with ActionButton in ChatHeader for improved consistency and styling.
- Simplified the rendering of TaskReportDropdown and ChatMoreDropdown components.
- Adjusted layout styles in WelcomeScreen for better alignment.
- Enhanced ChatInterface to improve input positioning when no messages are present.
These changes enhance the user interface and maintain a consistent look across components.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(ai): adjust AI chat layout width for improved styling
- Updated the AI chat component to set a custom layout width of 65rem, enhancing the overall appearance and usability of the chat interface.
This change aims to provide a more consistent and visually appealing layout for the AI chat experience.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(ui): adjust spacing in EntryListHeader component
- Increased the gap between items in the EntryListHeader from 1 to 2 for improved layout and visual consistency.
This change enhances the overall user interface by providing better spacing in the header layout.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
* feat(feed): a masonry view for all feed (wip)
* fix: adjust color and icons
* feat: all masonry
* feat: item details
* fix: styles
* fix: styles
* fix: default tab to be -1
* fix: selectable view
* fix: safe area
* fix: remove safe area
* fix: styles
* fix: styles
* fix: navigation
* fix: aspect-ratio
* fix: hooks
* fix: styles
* chore: comment
* fix: splash issue
* fix: style
* fix: style
* fix: style
* fix: style
* fix: close entry
* fix: styles
* fix: folder in all
* fix: styles
* fix: styles
* fix: styles
* refactor(desktop): enhance entry data handling in AllItem component
- Updated the AllItem component to destructure additional properties (content, description) from the entry state for improved data accessibility.
- Modified the rendering logic to display title, content, or description in the UI, enhancing user experience by providing more context.
This refactor aims to streamline data management and improve the presentation of entry information.
* refactor(desktop): improve entry display order in AllItem component
- Adjusted the rendering logic in the AllItem component to prioritize displaying the entry title before the description and content. This change enhances the clarity and relevance of the information presented to users.
This update aims to further refine the user experience by ensuring the most important entry information is highlighted first.
* feat: enhance AllItem component with keyword highlighting
- Added support for highlighting keywords in the title using a new `title_keyword` property in the ExtraModel.
- Introduced random card and highlight styles for visual differentiation.
- Updated the rendering logic to display highlighted keywords within the title.
This improves the user experience by making important keywords more prominent in the item display.
* refactor(AllItem): update media rendering logic to include Audios
- Modified the rendering conditions in the AllItem component to include Audios in the media display alongside Articles, Notifications, and Social Media.
- Removed the previously defined separate rendering block for Audios to streamline the component structure.
This update enhances the media display functionality by integrating Audios into the existing media rendering logic.
* fix: height calc
* feat(AllMasonry): add refetch and scroll handling functionality
- Introduced a `refetch` prop to the `AllMasonry` component for improved data fetching capabilities.
- Implemented a `handleScrollTo` function to facilitate scrolling to specific items within the masonry layout.
- Updated the component structure to accommodate these new features, enhancing user interaction and experience.
This update enhances the functionality of the AllMasonry component by allowing for better data management and item navigation.
* feat(AllItem): enhance title rendering and entry read tracking
- Updated the title rendering logic to improve keyword highlighting with case-insensitive matching.
- Integrated the `unreadSyncService` to mark entries as read when hovered, enhancing user interaction.
- Refactored highlight styles to support new underline and background options for better visual distinction.
This update improves the user experience by providing clearer title visibility and tracking read status effectively.
* refactor(AllItem): streamline hover behavior and enhance title keyword matching
- Refactored hover handling to utilize a timer for showing previews, improving performance and user experience.
- Updated title keyword matching logic to ensure proper escaping of special characters, enhancing accuracy in highlighting.
- Cleaned up unused underline-wavy styles for better code maintainability.
This update optimizes the interaction flow and improves the visual representation of keywords in titles.
* feat(timeline): filter views based on AI feature flag
- Introduced a check for the AI feature to conditionally filter out the 'All' view from the timeline list.
- Updated the logic to create view IDs based on the filtered views, enhancing the timeline's adaptability to feature availability.
This update improves the timeline's functionality by ensuring that the view options align with the current feature set.
* refactor(AllItem): simplify highlight styles and improve text decoration handling
- Removed unnecessary text-decoration-skip-ink styles from highlight class names for cleaner code.
- Added inline style to ensure consistent text decoration behavior in highlighted keywords.
This update enhances code maintainability and ensures proper rendering of highlighted text.
* fix(EntryColumnGrid): add refetch prop and update comments in AllItem
- Added the `refetch` prop to the `EntryColumnGrid` component for improved data handling.
- Updated comment in `AllItem` from "Social Media" to "Common views" for better clarity.
- Enhanced the no content display in `AllItem` for improved user experience.
This update improves functionality and clarity in the entry column components.
* refactor(AllItem): clean up media handling and improve preview logic
- Removed unused `firstMedia` variable and adjusted media cover logic for clarity.
- Updated aspect ratio handling to ensure default values are set correctly.
- Enhanced the no media available display for better user experience.
- Refactored preview display logic to improve readability and maintainability.
This update streamlines the media handling in the AllItem component and enhances the user interface.
* fix: index key
* refactor(AllItem): optimize title keyword highlighting logic
- Simplified the keyword highlighting logic in the AllItem component by extracting the regex pattern into a separate variable.
- Improved readability and maintainability of the code by reducing redundancy in the title rendering function.
This update enhances the performance and clarity of the title rendering process.
* fix: button width
* fix: first screen navigation
* fix: video hovering autoplay
* feat(timeline-tabs): implement customizable timeline tabs settings
- Added a new `TimelineTabsSettingsModal` component for managing visible and hidden timeline tabs.
- Introduced drag-and-drop functionality for reordering tabs and customizing their visibility.
- Updated `SubscriptionTabButton` to accept a shortcut prop for improved keyboard navigation.
- Enhanced global shortcuts handling to allow bypassing input restrictions for specific actions.
These changes provide users with greater flexibility in managing their timeline tabs, improving the overall user experience.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: clean up error handling in AllMasonry component and update UnreadSyncService to use new API method
- Removed console log from error handling in the AllMasonry component to streamline the code.
- Updated the UnreadSyncService to utilize the new `markAllAsRead` API method, improving the readability and structure of the request handling.
These changes enhance code clarity and maintainability across the affected components.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: optimize rendering performance in AllMasonry component
- Introduced `startTransition` for setting width in the ResizeObserver to improve rendering performance during layout updates.
- Updated the `LoadingSkeleton` component's class names for better styling consistency.
- Simplified key generation in the `SkeletonGrid` component by using `null` instead of `crypto.randomUUID()`.
These changes enhance the efficiency and maintainability of the AllMasonry component and its related elements.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor: simplify icon rendering in TimelineTabsSettingsModal
- Removed conditional rendering for the icon in the TabItem component, directly displaying the icon for improved clarity and performance.
- This change streamlines the code and enhances the maintainability of the TimelineTabsSettingsModal component.
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
- Removed the `tooltipDefaultOpen` prop from the `ActionButton` component to simplify the API.
- Refactored the tooltip structure for improved readability and maintainability, ensuring consistent rendering of tooltip content.
These changes enhance the clarity and efficiency of the `ActionButton` component's tooltip functionality.
Signed-off-by: Innei <tukon479@gmail.com>
- Replaced the Accordion component with the new Collapse components in ToolInvocationComponent and DiscoverImport for improved UI consistency and functionality.
- Updated related styles and structure to accommodate the new Collapse implementation.
- Removed the deprecated Accordion component files to streamline the codebase.
These changes aim to enhance the user experience by providing a more modern and flexible collapsing interface.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced a new frontend for tracking AI token usage with real-time analytics and user-friendly visualizations.
- Added components for usage analysis, including detailed usage modals, progress rings, and various charts to display usage patterns and efficiency.
- Integrated localization support for new UI elements and analytics features.
- Removed the deprecated token usage settings page to streamline the user interface.
These changes aim to empower users with actionable insights into their AI usage, enhancing overall user experience and engagement.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(ai-task): implement AI task management components and queries
Add AITaskModal for creating and editing AI tasks, ScheduleConfig for scheduling options, and AITaskList for displaying tasks. Introduce query hooks for task management and define types for scheduling.
* feat: add TaskSchedulingSection for managing AI tasks
* chore: implement task creation limit and error handling in AIChatContextBar
* fix: lint
* refactor: simplify default form data handling and improve readability
* feat(ai-task): add AITaskModalHeader component for improved task title management
* refactor: streamline task scheduling UI
* refactor(ai-chat): update modal title and close capability for task scheduling
* feat(input): add TimeSelect component for custom time picking
* feat: integrate TimeSelect component for improved time selection
* feat: add DateTimePicker component for enhanced date and time selection
Signed-off-by: Innei <tukon479@gmail.com>
* feat(ai-task): implement TaskItem component for displaying individual AI tasks with status and actions
Signed-off-by: Innei <tukon479@gmail.com>
* feat: update client-sdk version and implement reusable ItemActions component for AI task and MCP service management
- Updated '@follow-app/client-sdk' to version 0.3.46 in pnpm-lock.yaml and pnpm-workspace.yaml.
- Introduced a new ItemActions component for handling action buttons and toggle switches in AI task and MCP service items.
- Refactored TaskItem, MCPServiceItem, and ShortcutItem components to utilize the new ItemActions component for improved code reuse and maintainability.
- Enhanced TokenUsageSection to display reset date in a more user-friendly format.
- Updated MCPService interface to include an 'enabled' property for better state management.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(ai-settings): remove unused export for MCPServicesSection
Signed-off-by: Innei <tukon479@gmail.com>
* fix: update task status logic to reflect correct scheduling states
* chore: update button styling for schedule action in AIChatContextBar
* feat: enhance task modal with internationalization support
Added translation keys for task-related actions and messages in English, Japanese, and Chinese. Updated the AITaskModal component to utilize these translations for improved user experience.
---------
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Innei <tukon479@gmail.com>
- Replaced instances of 'softSpring' with 'smooth' for improved animation consistency across components, including VideoPlayer, BoostModalContent, and SourceContentView.
- Updated transition settings in modal and panel components to utilize 'snappy' for a more responsive feel.
- Removed deprecated spring presets from the constants file to streamline the animation configuration.
These changes enhance the overall user experience by providing smoother and more cohesive animations throughout the application.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced CollapseCssGroup and CollapseCss components for managing collapsible sections in the integration settings.
- Refactored integration filtering logic to streamline the display of configured integrations.
- Enhanced UI to provide better visual feedback and organization of integration settings.
- Updated the integration section to utilize the new collapsible components, improving user experience and interaction.
These changes collectively enhance the usability and organization of the integration settings interface.
Signed-off-by: Innei <tukon479@gmail.com>
- Introduced UserChatMessage and UserMessageParts components to handle user messages distinctly, allowing for better editing and interaction.
- Updated AIChatMessage to streamline message rendering and improve markdown formatting.
- Enhanced ToolInvocationComponent with accordion functionality for better organization of tool call details.
- Adjusted layout properties across various components to ensure responsiveness and visual consistency.
These changes collectively enhance the usability and clarity of the AI chat interface, providing a more intuitive experience for users.
Signed-off-by: Innei <tukon479@gmail.com>
- Upgraded '@follow-app/client-sdk' to version 0.3.39, reflecting the latest changes in AI model management.
- Introduced a new AIModelIndicator component for displaying and selecting AI models.
- Enhanced ChatInput to include the AIModelIndicator, improving user interaction with AI models.
- Updated floating panel dimensions for better usability.
- Added useAIModel hook to manage AI model state and configuration.
These changes collectively improve the user experience by providing a more intuitive interface for managing AI models and enhancing the overall functionality of the AI chat feature.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(ai): implement MCP service integration for enhanced AI capabilities
- Added functionality to manage MCP services, including adding, updating, removing, and connecting to services.
- Introduced UI components for MCP service management, allowing users to enable MCP services and discover service endpoints.
- Updated AI settings to include MCP service configurations and integrated translations for new UI elements.
- Enhanced error handling and user feedback for service connection and discovery processes.
These changes collectively extend the AI capabilities by integrating external services through secure OAuth connections, improving the overall user experience.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(mcp): update MCP service integration and enhance settings management
- Upgraded '@follow-app/client-sdk' to version 0.3.38, reflecting the latest changes in MCP service management.
- Removed deprecated MCP service functions and streamlined the integration process for better performance.
- Introduced new UI components for managing MCP connections, including transport type selection and header configuration.
- Enhanced error handling and user feedback for service connection and discovery processes.
- Updated translations for new UI elements related to MCP services.
These changes collectively improve the user experience by providing a more robust and intuitive interface for managing external services through secure OAuth connections.
Signed-off-by: Innei <tukon479@gmail.com>
* feat(ai-chat): enhance ToolInvocationComponent with error handling and UI updates
- Added error handling to ToolInvocationComponent, displaying error messages and visual indicators when tool execution fails.
- Updated the UI to reflect tool status, changing icons and text based on success or failure.
- Improved styling for the back button in ChatInterfaceContent for a more consistent appearance.
These changes improve user feedback and interaction within the AI chat interface, enhancing overall usability.
Signed-off-by: Innei <tukon479@gmail.com>
* refactor(ai): streamline MCPServiceItem layout for improved readability
- Removed redundant resource and prompt counts from the MCPServiceItem component to simplify the display.
- Adjusted the layout to enhance the presentation of service details, including tools, creation date, and last used date.
These changes improve the clarity and usability of the MCP service information within the AI settings interface.
Signed-off-by: Innei <tukon479@gmail.com>
* chore: update deps
Signed-off-by: Innei <tukon479@gmail.com>
---------
Signed-off-by: Innei <tukon479@gmail.com>
- Changed default column count from 1 to 2 in VirtualGridImpl for improved layout responsiveness.
- Updated breakpoint values in masonry utility to reflect new column count logic, enhancing layout consistency across different screen sizes.
- Updated AIEntryLayout to include smoother animations for entry transitions.
- Added feedId and entryId to entry title metadata for better context handling.
- Refactored EntryTimeline component to accept additional className prop for styling flexibility.
- Improved EntryContent component structure by replacing motion div with a standard div for better performance.
- Enhanced entry read history and layout components for improved user experience.
These changes collectively enhance the visual appeal and functionality of the entry content layout, providing a more seamless user experience.
Signed-off-by: Innei <tukon479@gmail.com>
- 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>