summaryrefslogtreecommitdiffstats
path: root/ui/src/utils.ts
diff options
context:
space:
mode:
authorDessalines <tyhou13@gmx.com>2020-04-30 11:45:12 -0400
committerDessalines <tyhou13@gmx.com>2020-04-30 11:45:12 -0400
commit38cdfdf7e0ee1db1e315c150a1b375f9245a95db (patch)
tree83abb732e3ed162dae634009ce43e064b97299a8 /ui/src/utils.ts
parentee4f923f60fc732f9d57cebbeeb6879479886291 (diff)
Changing federated community and user links and searching.
- Search: !community@instance, @user@instance - Representation: community@instance, user@instance
Diffstat (limited to 'ui/src/utils.ts')
-rw-r--r--ui/src/utils.ts28
1 files changed, 22 insertions, 6 deletions
diff --git a/ui/src/utils.ts b/ui/src/utils.ts
index 480b41c7..277da987 100644
--- a/ui/src/utils.ts
+++ b/ui/src/utils.ts
@@ -501,7 +501,10 @@ export function setupTribute(): Tribute {
{
trigger: '@',
selectTemplate: (item: any) => {
- return `[/u/${item.original.key}](/u/${item.original.key})`;
+ let link = item.original.local
+ ? `[@${item.original.key}](/u/${item.original.key})`
+ : `[@${item.original.key}](/user/${item.original.id})`;
+ return link;
},
values: (text: string, cb: any) => {
userSearch(text, (users: any) => cb(users));
@@ -514,9 +517,12 @@ export function setupTribute(): Tribute {
// Communities
{
- trigger: '#',
+ trigger: '!',
selectTemplate: (item: any) => {
- return `[/c/${item.original.key}](/c/${item.original.key})`;
+ let link = item.original.local
+ ? `[!${item.original.key}](/c/${item.original.key})`
+ : `[!${item.original.key}](/community/${item.original.id})`;
+ return link;
},
values: (text: string, cb: any) => {
communitySearch(text, (communities: any) => cb(communities));
@@ -559,7 +565,12 @@ function userSearch(text: string, cb: any) {
if (res.op == UserOperation.Search) {
let data = res.data as SearchResponse;
let users = data.users.map(u => {
- return { key: u.name };
+ let name_ = u.local ? u.name : `${u.name}@${hostname(u.actor_id)}`;
+ return {
+ key: name_,
+ local: u.local,
+ id: u.id,
+ };
});
cb(users);
this.userSub.unsubscribe();
@@ -590,8 +601,13 @@ function communitySearch(text: string, cb: any) {
let res = wsJsonToRes(msg);
if (res.op == UserOperation.Search) {
let data = res.data as SearchResponse;
- let communities = data.communities.map(u => {
- return { key: u.name };
+ let communities = data.communities.map(c => {
+ let name_ = c.local ? c.name : `${c.name}@${hostname(c.actor_id)}`;
+ return {
+ key: name_,
+ local: c.local,
+ id: c.id,
+ };
});
cb(communities);
this.communitySub.unsubscribe();