Implement list of Guilds in frontend

This commit is contained in:
Hammad Jutt
2020-12-20 16:59:29 -07:00
parent 94df414920
commit 704bd38cce
23 changed files with 1293 additions and 128 deletions

View File

@@ -53,3 +53,18 @@ export const PlayerFragment = gql`
}
}
`;
export const GuildFragment = gql`
fragment GuildFragment on Guild {
id
guildname
description
discord_invite_url
join_button_url
logo
moloch_address
name
type
website_url
}
`;

View File

@@ -0,0 +1,23 @@
import gql from 'fake-tag';
import { GetGuildQuery, GetGuildQueryVariables } from './autogen/types';
import { client } from './client';
import { GuildFragment } from './fragments';
const guildQuery = gql`
query GetGuild($guildname: String!) {
Guild(where: { guildname: { _eq: $guildname } }) {
...GuildFragment
}
}
${GuildFragment}
`;
export const getGuild = async (guildname: string | undefined) => {
if (!guildname) return null;
const { data } = await client
.query<GetGuildQuery, GetGuildQueryVariables>(guildQuery, { guildname })
.toPromise();
return data?.Guild[0];
};

View File

@@ -0,0 +1,30 @@
import gql from 'fake-tag';
import { GetGuildsQuery, GetGuildsQueryVariables } from './autogen/types';
import { client } from './client';
import { GuildFragment } from './fragments';
const guildsQuery = gql`
query GetGuilds($limit: Int) {
Guild(limit: $limit) {
...GuildFragment
}
}
${GuildFragment}
`;
export const getGuilds = async (limit = 50) => {
const { data, error } = await client
.query<GetGuildsQuery, GetGuildsQueryVariables>(guildsQuery, { limit })
.toPromise();
if (!data) {
if (error) {
throw error;
}
return [];
}
return data.Guild;
};