aboutsummaryrefslogtreecommitdiffstats
path: root/apps/mobile/app/dashboard/(tabs)/_layout.tsx
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-11-23 11:07:43 +0000
committerGitHub <noreply@github.com>2025-11-23 11:07:43 +0000
commitad66f78dc9ccd2c6c8f0e67ac8a6c33519db5ce7 (patch)
tree3187125a1cb944864e43d11f84dbf115e669e25a /apps/mobile/app/dashboard/(tabs)/_layout.tsx
parentde5ebbc4422b458c685a653b8b8fbaac6e6af5f4 (diff)
downloadkarakeep-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.tsx9
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",