about summary refs log tree commit diff
path: root/src/state/models/ui
diff options
context:
space:
mode:
authorEric Bailey <git@esb.lol>2023-11-15 17:55:28 -0600
committerGitHub <noreply@github.com>2023-11-15 15:55:28 -0800
commit22b76423a0a0e5cfb40bb00c22dec628f5a5a4c0 (patch)
tree6aa44409fa109d17f9e9f97b6f12aa51a6507ffb /src/state/models/ui
parentd5ea31920caa2eade6015ad59122f06a8b280ab9 (diff)
downloadvoidsky-22b76423a0a0e5cfb40bb00c22dec628f5a5a4c0.tar.zst
Search page (#1912)
* Desktop web work

* Mobile search

* Dedupe suggestions

* Clean up and reorg

* Cleanup

* Cleanup

* Use Pager

* Delete unused code

* Fix conflicts

* Remove search ui model

* Soft reset

* Fix scrollable results, remove observer

* Use correct ScrollView

* Clean up layout

---------

Co-authored-by: Paul Frazee <pfrazee@gmail.com>
Diffstat (limited to 'src/state/models/ui')
-rw-r--r--src/state/models/ui/search.ts69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/state/models/ui/search.ts b/src/state/models/ui/search.ts
deleted file mode 100644
index 2b2036751..000000000
--- a/src/state/models/ui/search.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import {makeAutoObservable, runInAction} from 'mobx'
-import {searchProfiles, searchPosts} from 'lib/api/search'
-import {PostThreadModel} from '../content/post-thread'
-import {AppBskyActorDefs, AppBskyFeedDefs} from '@atproto/api'
-import {RootStoreModel} from '../root-store'
-
-export class SearchUIModel {
-  isPostsLoading = false
-  isProfilesLoading = false
-  query: string = ''
-  posts: PostThreadModel[] = []
-  profiles: AppBskyActorDefs.ProfileView[] = []
-
-  constructor(public rootStore: RootStoreModel) {
-    makeAutoObservable(this)
-  }
-
-  async fetch(q: string) {
-    this.posts = []
-    this.profiles = []
-    this.query = q
-    if (!q.trim()) {
-      return
-    }
-
-    this.isPostsLoading = true
-    this.isProfilesLoading = true
-
-    const [postsSearch, profilesSearch] = await Promise.all([
-      searchPosts(q).catch(_e => []),
-      searchProfiles(q).catch(_e => []),
-    ])
-
-    let posts: AppBskyFeedDefs.PostView[] = []
-    if (postsSearch?.length) {
-      do {
-        const res = await this.rootStore.agent.app.bsky.feed.getPosts({
-          uris: postsSearch
-            .splice(0, 25)
-            .map(p => `at://${p.user.did}/${p.tid}`),
-        })
-        posts = posts.concat(res.data.posts)
-      } while (postsSearch.length)
-    }
-    runInAction(() => {
-      this.posts = posts.map(post =>
-        PostThreadModel.fromPostView(this.rootStore, post),
-      )
-      this.isPostsLoading = false
-    })
-
-    let profiles: AppBskyActorDefs.ProfileView[] = []
-    if (profilesSearch?.length) {
-      do {
-        const res = await this.rootStore.agent.getProfiles({
-          actors: profilesSearch.splice(0, 25).map(p => p.did),
-        })
-        profiles = profiles.concat(res.data.profiles)
-      } while (profilesSearch.length)
-    }
-
-    this.rootStore.me.follows.hydrateMany(profiles)
-
-    runInAction(() => {
-      this.profiles = profiles
-      this.isProfilesLoading = false
-    })
-  }
-}