diff --git a/screeens/Search/index.jsx b/screeens/Search/index.jsx
index d819e35..db8303f 100644
--- a/screeens/Search/index.jsx
+++ b/screeens/Search/index.jsx
@@ -1,4 +1,4 @@
-import { View, Text, FlatList, Image as NativeImage } from "react-native";
+import { View, Text, Image as NativeImage, ScrollView } from "react-native";
import React, { useState, useEffect, useRef } from "react";
import { useTailwind } from "tailwind-rn";
import { useSafeAreaInsets } from "react-native-safe-area-context";
@@ -8,17 +8,17 @@ import Empty from "../../components/Empty";
import Toast from "react-native-toast-message";
import baseRequest from "../../utils/baseRequest";
import { generateSignature } from "../../utils/crypto";
+import MyDivider from "../../components/MyDivider/index";
export default function Search({ navigation, route }) {
- const blurhash = "LcKUTa%gOYWBYRt6xuoJo~s8V@fk";
-
const tailwind = useTailwind();
const insets = useSafeAreaInsets();
const searchRef = useRef(null);
const [search, setSearch] = useState("");
- const [result, setResult] = useState([]);
+ const [streamers, setStreamers] = useState([]);
+ const [zones, setZones] = useState([]);
const [isloading, setIsloading] = useState(false);
const updateSearch = (search) => {
setSearch(search);
@@ -34,7 +34,8 @@ export default function Search({ navigation, route }) {
//搜索框文本变化时进行搜索
useEffect(() => {
if (!search) {
- setResult([]);
+ setStreamers([]);
+ setZones([]);
return;
}
const isNumeric = (str) => {
@@ -82,7 +83,11 @@ export default function Search({ navigation, route }) {
return;
}
if (!ignore) {
- setResult(data.data.list);
+ const zonesData = data.data.list.filter(
+ (item) => item.zones.length > 0
+ );
+ setStreamers(data.data.list);
+ setZones(zonesData);
}
setIsloading(false);
} catch (error) {
@@ -96,8 +101,157 @@ export default function Search({ navigation, route }) {
};
}, [search]);
- //搜索项组件
- const renderItem = ({ item }) => {
+ //空间组件
+ const ZoneItem = ({ item }) => {
+ return (
+
+ navigation.navigate("SpaceIntroduce", { mid: item?.mid })
+ }
+ containerStyle={tailwind("p-0 bg-[#07050A]")}
+ >
+
+
+
+
+
+
+ {item?.name}
+
+
+
+
+ {item?.user_id}
+
+
+
+
+ {item.zones[0].profile}
+
+
+
+ {zones.length === 1 && (
+
+
+ Ta的动态·
+ {item.zones[0].zone_moment_count > 99
+ ? "99+"
+ : item.zones[0].zone_moment_count}
+ {item.zones[0].image_count > 0 &&
+ ` | 图片·${
+ item.zones[0].image_count > 99
+ ? "99+"
+ : item.zones[0].image_count
+ }`}
+ {item.zones[0].video_count > 0 &&
+ ` | 视频·${
+ item.zones[0].video_count > 99
+ ? "99+"
+ : item.zones[0].video_count
+ }`}
+
+
+
+
+
+
+
+
+
+
+
+
+ {item.album.images.map((_item, index) => {
+ if (index > 1) return;
+ return (
+
+
+
+ );
+ })}
+
+
+
+ )}
+
+
+ );
+ };
+
+ //主播组件
+ const StreamerItem = ({ item }) => {
return (
@@ -105,7 +259,6 @@ export default function Search({ navigation, route }) {
mid: item.mid,
})
}
- bottomDivider
containerStyle={tailwind("p-0 bg-[#07050A]")}
>
@@ -113,7 +266,6 @@ export default function Search({ navigation, route }) {
-
- }
- />
-
+
+ {zones.length > 0 && (
+
+ 空间
+
+ )}
+ {zones?.map((item, index) => (
+
+ ))}
+ {zones.length > 0 && }
+ {streamers.length > 0 && (
+
+ 用户
+
+ )}
+ {streamers?.map((item, index) => (
+
+ ))}
+ {zones.length === 0 && streamers.length === 0 && (
+
+ )}
+
);
}