浏览代码

event tabs

Viktoriia 18 小时之前
父节点
当前提交
648b7eb4e3

文件差异内容过多而无法显示
+ 2 - 0
assets/icons/friend.svg


+ 2 - 0
src/modules/api/events/events-api.ts

@@ -8,6 +8,8 @@ export interface PostGetEventsListReturn extends ResponseType {
   data: SingleEvent[];
   nm: SingleEvent[];
   community: SingleEvent[];
+  shared_trips: SingleEvent[];
+  local_meetings: SingleEvent[];
 }
 
 export type SingleEvent = {

+ 2 - 2
src/screens/InAppScreens/MapScreen/FilterModal/index.tsx

@@ -44,7 +44,7 @@ import ChevronIcon from 'assets/icons/travels-screens/down-arrow.svg';
 import { getFontSize } from 'src/utils';
 import InfoIcon from 'assets/icons/info-solid.svg';
 import Tooltip from 'react-native-walkthrough-tooltip';
-import FriendsIcon from 'assets/icons/friends.svg';
+import FriendsIcon from 'assets/icons/friend.svg';
 
 const FilterModal = ({
   isFilterVisible,
@@ -794,7 +794,7 @@ const FilterModal = ({
             <FriendsIcon
               fill={isSharing ? Colors.DARK_BLUE : Colors.LIGHT_GRAY}
               width={20}
-              height={20}
+              height={18}
             />
             <Text style={[styles.buttonLabel, !isSharing ? { color: Colors.LIGHT_GRAY } : {}]}>
               Show my friends - {friendsOnTheMapCount ? formatNumber(friendsOnTheMapCount) : null}{' '}

+ 42 - 36
src/screens/InAppScreens/TravelsScreen/EventsScreen/index.tsx

@@ -75,38 +75,38 @@ const EventsScreen = () => {
   const navigation = useNavigation();
   const [searchQuery, setSearchQuery] = useState('');
   const [events, setEvents] = useState<PostGetEventsListReturn>({
-    data: [],
+    local_meetings: [],
     nm: [],
-    community: []
+    shared_trips: []
   } as never);
   const [pastEvents, setPastEvents] = useState<PostGetEventsListReturn>({
-    data: [],
+    local_meetings: [],
     nm: [],
-    community: []
+    shared_tripsv: []
   } as never);
   const [filteredEvents, setFilteredEvents] = useState<PostGetEventsListReturn>({
-    data: [],
+    local_meetings: [],
     nm: [],
-    community: []
+    shared_trips: []
   } as never);
   const [filteredPastEvents, setFilteredPastEvents] = useState<PostGetEventsListReturn>({
-    data: [],
+    local_meetings: [],
     nm: [],
-    community: []
+    shared_trips: []
   } as never);
   const [tooltipStates, setTooltipStates] = useState<Record<number, boolean>>({});
   const date = new Date();
 
   const [expandedStates, setExpandedStates] = useState<Record<string, boolean>>({
     nm: false,
-    community: false,
-    data: false
+    shared_trips: false,
+    local_meetings: false
   });
 
   const scrollViewRefs = useRef<Record<string, FlashList<SingleEvent> | null>>({
     nm: null,
-    community: null,
-    data: null
+    shared_trips: null,
+    local_meetings: null
   });
   const sectionRef = useRef<View>(null);
 
@@ -116,10 +116,10 @@ const EventsScreen = () => {
   const buttonRef = useRef<TouchableOpacity>(null);
 
   const [index, setIndex] = useState<number>(0);
-  const [routes] = useState<{ key: 'nm' | 'community' | 'data'; title: string }[]>([
+  const [routes] = useState<{ key: 'nm' | 'shared_trips' | 'local_meetings'; title: string }[]>([
     { key: 'nm', title: 'NomadMania Events' },
-    { key: 'community', title: 'Community Events' },
-    { key: 'data', title: 'All Events' }
+    { key: 'shared_trips', title: 'Shared Trips' },
+    { key: 'local_meetings', title: 'Local Meetings' }
   ]);
 
   const SEARCH_CONTAINER_HEIGHT = 44;
@@ -214,14 +214,14 @@ const EventsScreen = () => {
   };
 
   useEffect(() => {
-    if (data && data.data) {
+    if (data && data.nm) {
       setEvents(data);
       setFilteredEvents(data);
     }
   }, [data]);
 
   useEffect(() => {
-    if (pastData && pastData.data) {
+    if (pastData && pastData.nm) {
       setPastEvents(pastData);
       setFilteredPastEvents(pastData);
     }
@@ -236,35 +236,41 @@ const EventsScreen = () => {
   const handleSearch = (text: string) => {
     if (text) {
       const searchData =
-        (index === 0 ? events.nm : index === 1 ? events.community : events.data).filter(
-          (item: any) => {
-            const itemData = item.name ? item.name.toLowerCase() : ''.toLowerCase();
-            const textData = text.toLowerCase();
-            return itemData.indexOf(textData) > -1;
-          }
-        ) ?? [];
+        (index === 0
+          ? events.nm
+          : index === 1
+            ? events.shared_trips
+            : events.local_meetings
+        ).filter((item: any) => {
+          const itemData = item.name ? item.name.toLowerCase() : ''.toLowerCase();
+          const textData = text.toLowerCase();
+          return itemData.indexOf(textData) > -1;
+        }) ?? [];
       setFilteredEvents(
         index === 0
           ? { ...events, nm: searchData }
           : index === 1
-            ? { ...events, community: searchData }
-            : { ...events, data: searchData }
+            ? { ...events, shared_trips: searchData }
+            : { ...events, local_meetings: searchData }
       );
 
       const searchPastData =
-        (index === 0 ? pastEvents.nm : index === 1 ? pastEvents.community : pastEvents.data).filter(
-          (item: any) => {
-            const itemData = item.name ? item.name.toLowerCase() : ''.toLowerCase();
-            const textData = text.toLowerCase();
-            return itemData.indexOf(textData) > -1;
-          }
-        ) ?? [];
+        (index === 0
+          ? pastEvents.nm
+          : index === 1
+            ? pastEvents.shared_trips
+            : pastEvents.local_meetings
+        ).filter((item: any) => {
+          const itemData = item.name ? item.name.toLowerCase() : ''.toLowerCase();
+          const textData = text.toLowerCase();
+          return itemData.indexOf(textData) > -1;
+        }) ?? [];
       setFilteredPastEvents(
         index === 0
           ? { ...events, nm: searchPastData }
           : index === 1
-            ? { ...events, community: searchPastData }
-            : { ...events, data: searchPastData }
+            ? { ...events, shared_trips: searchPastData }
+            : { ...events, local_meetings: searchPastData }
       );
 
       setSearchQuery(text);
@@ -444,7 +450,7 @@ const EventsScreen = () => {
   const renderScene = ({
     route
   }: {
-    route: { key: 'nm' | 'community' | 'data'; title: string };
+    route: { key: 'nm' | 'shared_trips' | 'local_meetings'; title: string };
   }) => {
     const isCurrentTabExpanded = expandedStates[route.key];
 

部分文件因为文件数量过多而无法显示