- Fixes ascending/descending sort order for newest/oldest links
- Automatically sets sort to 'newest' when creating a link
- Updates Chinese translation for A-Z/Z-A sort labels
- Shows current sort option in dropdown button
- Reduces tooltip delay for better responsiveness
- Removes unused Button import in QRCode component
- Updates shortLink copy function to use .value for reactive reference
- Adds i18n translation support in Editor component
The copy function was trying to access the shortLink directly instead of its value, which would fail in Vue's reactive system. This fix ensures proper reactivity handling when copying links.
- Extracts dropdown sort menu into separate DashboardLinksSort component
- Fixes incorrect sort order for newest/oldest links
- Adds internationalization support for sort options
- Updates QR code download button size for consistency
- Adds helpful tooltip about sort limitation for loaded links
The sort logic was reversed where newest/oldest were concerned, this fixes
that while making the sorting feature more maintainable through component
extraction.
- Extracts language switcher into separate component
- Updates locale display to use country flag emojis
- Improves header responsiveness and spacing
- Removes embedded i18n logic for better separation of concerns
- Adjusts menu items alignment and margins for better visual balance
Reduces the preview link time-to-live from 24 hours to 5 minutes for improved security. Updates related user-facing message in the dashboard editor to reflect this change.
Implemented multi-language support for the application:
- Added @nuxtjs/i18n plugin configuration
- Created locale files for English (en-US) and Chinese (zh-CN)
- Updated components to use translation keys
- Added language switcher in header
- Configured VSCode i18n-ally settings
- Prepared translation infrastructure for future language expansions
Adds viewport meta tag with mobile-specific settings to improve responsive behavior
- Disables user scaling for better mobile experience
- Adjusts filter component padding and text styles
- Removes redundant font-normal class
Replaces desktop-only popover components with responsive alternatives:
- Adds drawer component for mobile view using vaul-vue
- Extracts shared templates for reusability
- Adjusts layout and height based on viewport size
- Maintains desktop popover behavior on larger screens
Improves mobile user experience while preserving desktop functionality
Enhances dropdown performance by implementing virtual scrolling with VList from virtua/vue library. This optimization improves rendering efficiency for large link lists by only rendering visible items.
Adds URL search params synchronization for dashboard filters and date range
- Stores selected date range in URL for restoration on page reload
- Removes old Filter component in favor of new implementation
- Preserves filter state across page navigation
This change improves user experience by maintaining dashboard state through browser navigation and page reloads.
Refactors time-based filtering by combining startAt/endAt into a single time object
Adds support for additional filter types in stats API queries
Implements deep watching for both time and filter changes
Improves code organization and maintainability while enabling more flexible data filtering
- Changes fallback image path from sink.png to icon.png
- Adds lazy loading attribute to improve performance
- Fixes v-slot syntax in metrics list component
- Updates "No more" text to "No more links" for clarity
Integrates @number-flow/vue for smoother counter animations
Improves visibility state with opacity and blur adjustments
Removes unused static increment comments
Improves reliability of link loading functionality:
- Adds error state and handling for failed API requests
- Implements retry mechanism with user-facing error message
- Prevents infinite loading when errors occur
- Defers search API call to mounted hook
These changes enhance user experience by providing clear feedback and recovery options when link loading fails.
Substitutes the existing search component with a lazy-loading version to improve performance and loading times.
Enhances user experience by ensuring that search functionality loads only when needed.
Merges the case sensitivity feature description into the customizable slug feature section for better organization and clarity. This consolidation simplifies the feature list while maintaining all functionality information
Eliminated redundant entries in iconMaps to streamline the mapping process and enhance readability. This consolidation reduces clutter and ensures a more efficient and maintainable codebase.
Enhances navigation by redirecting the main dashboard to the analysis page and updating the navigation link to directly access the analysis section. This change streamlines user access to the primary dashboard functionality.