mirror of
https://github.com/svemagie/indiekit-endpoint-activitypub.git
synced 2026-04-02 15:44:58 +02:00
feat: add FediDB-powered autocomplete for explore and reader lookup
- Add FediDB API client (lib/fedidb.js) with MongoDB caching (24h TTL) for instance search, timeline support checks, and popular accounts - Explore page: instance input now shows autocomplete suggestions from FediDB with software type, MAU count, and timeline support indicator (checkmark/cross) via background pre-check - Reader page: @handle lookup input now shows popular fediverse accounts from FediDB with avatar, name, handle, and follower count - Three new API endpoints: /api/instances, /api/instance-check, /api/popular-accounts - Alpine.js components for both autocomplete UIs with keyboard navigation
This commit is contained in:
11
index.js
11
index.js
@@ -61,7 +61,13 @@ import {
|
||||
import { resolveController } from "./lib/controllers/resolve.js";
|
||||
import { tagTimelineController } from "./lib/controllers/tag-timeline.js";
|
||||
import { apiTimelineController } from "./lib/controllers/api-timeline.js";
|
||||
import { exploreController, exploreApiController } from "./lib/controllers/explore.js";
|
||||
import {
|
||||
exploreController,
|
||||
exploreApiController,
|
||||
instanceSearchApiController,
|
||||
instanceCheckApiController,
|
||||
popularAccountsApiController,
|
||||
} from "./lib/controllers/explore.js";
|
||||
import { followTagController, unfollowTagController } from "./lib/controllers/follow-tag.js";
|
||||
import { publicProfileController } from "./lib/controllers/public-profile.js";
|
||||
import { authorizeInteractionController } from "./lib/controllers/authorize-interaction.js";
|
||||
@@ -227,6 +233,9 @@ export default class ActivityPubEndpoint {
|
||||
router.get("/admin/reader/api/timeline", apiTimelineController(mp));
|
||||
router.get("/admin/reader/explore", exploreController(mp));
|
||||
router.get("/admin/reader/api/explore", exploreApiController(mp));
|
||||
router.get("/admin/reader/api/instances", instanceSearchApiController(mp));
|
||||
router.get("/admin/reader/api/instance-check", instanceCheckApiController(mp));
|
||||
router.get("/admin/reader/api/popular-accounts", popularAccountsApiController(mp));
|
||||
router.post("/admin/reader/follow-tag", followTagController(mp));
|
||||
router.post("/admin/reader/unfollow-tag", unfollowTagController(mp));
|
||||
router.get("/admin/reader/notifications", notificationsController(mp));
|
||||
|
||||
Reference in New Issue
Block a user