diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-11-23 11:07:43 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-11-23 11:07:43 +0000 |
| commit | ad66f78dc9ccd2c6c8f0e67ac8a6c33519db5ce7 (patch) | |
| tree | 3187125a1cb944864e43d11f84dbf115e669e25a /apps/mobile/app/dashboard/(tabs)/_layout.tsx | |
| parent | de5ebbc4422b458c685a653b8b8fbaac6e6af5f4 (diff) | |
| download | karakeep-ad66f78dc9ccd2c6c8f0e67ac8a6c33519db5ce7.tar.zst | |
feat(mobile): Add tags screen to mobile app (#2163)
* feat: Add tags screen to mobile app
Add a new Tags tab to the mobile app that displays all tags sorted by usage.
The screen includes:
- Paginated tag list with infinite scroll
- Display of tag names and bookmark counts
- Pull-to-refresh functionality
- Navigation to individual tag detail screens
- Empty state and loading indicators
This brings tag browsing functionality to the mobile app, similar to the
existing Lists tab.
* feat: Add search functionality to mobile tags screen
Add a search input to the tags screen that allows users to filter tags
by name. The search includes:
- Debounced search input (300ms delay) to reduce API calls
- Real-time filtering as the user types
- Sort by relevance when searching, by usage when not searching
- Smooth animated clear button
This enhances the tags browsing experience by making it easy to find
specific tags in a large collection.
* format
---------
Co-authored-by: Claude <noreply@anthropic.com>
Diffstat (limited to 'apps/mobile/app/dashboard/(tabs)/_layout.tsx')
| -rw-r--r-- | apps/mobile/app/dashboard/(tabs)/_layout.tsx | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/apps/mobile/app/dashboard/(tabs)/_layout.tsx b/apps/mobile/app/dashboard/(tabs)/_layout.tsx index 7419c348..316eddcf 100644 --- a/apps/mobile/app/dashboard/(tabs)/_layout.tsx +++ b/apps/mobile/app/dashboard/(tabs)/_layout.tsx @@ -2,7 +2,7 @@ import React, { useLayoutEffect } from "react"; import { Tabs, useNavigation } from "expo-router"; import { StyledTabs } from "@/components/navigation/tabs"; import { useColorScheme } from "@/lib/useColorScheme"; -import { ClipboardList, Home, Settings } from "lucide-react-native"; +import { ClipboardList, Home, Settings, Tag } from "lucide-react-native"; export default function TabLayout() { const { colors } = useColorScheme(); @@ -38,6 +38,13 @@ export default function TabLayout() { }} /> <Tabs.Screen + name="tags" + options={{ + title: "Tags", + tabBarIcon: ({ color }) => <Tag color={color} />, + }} + /> + <Tabs.Screen name="settings" options={{ title: "Settings", |
