Skip to content

Commit

Permalink
🐛 fix blogchain types and data return (#135)
Browse files Browse the repository at this point in the history
* 🐛 fix blogchain types and data return

* add *
  • Loading branch information
sainthiago authored Feb 16, 2024
1 parent bafca17 commit a0ab984
Show file tree
Hide file tree
Showing 8 changed files with 59 additions and 39 deletions.
40 changes: 22 additions & 18 deletions blogchain/src/app/typings.ts
Original file line number Diff line number Diff line change
@@ -1,64 +1,68 @@

export interface USER_POSTS {
metadata_id: string;
media: string;
title: string;
description: string;
minted_timestamp: string;
};
}

export interface USER_POST_DATA {
mb_views_nft_tokens: USER_POSTS[] | never[]
data: { mb_views_nft_tokens: USER_POSTS[] | never[] };
}

export interface BLOG_POST_UNIQUE extends USER_POSTS {
nft_contract_id: string;
minter: string;
nft_contract_id: string;
minter: string;
}

export interface BLOG_POST_DATA {
post: BLOG_POST_UNIQUE | undefined
post: BLOG_POST_UNIQUE | undefined;
isLoading: boolean;
}

export interface QUERY_RESPONSE<T> {
mb_views_nft_tokens: T[] | never[]
data: { mb_views_nft_tokens: T[] | never[] };
isLoading: boolean;
}

export interface QUERY_RESPONSE_METADATA<T> {
mb_views_nft_metadata: T[] | never[]
data: { mb_views_nft_metadata: T[] | never[] };
isLoading: boolean;
}

export interface HOOK_RESPONSE<T> {
posts: T[] | never[]
posts: T[] | never[];
isLoading: boolean;
}

export interface BLOG_POSTS {
posts: USER_POSTS[]
isLoading: boolean
posts: USER_POSTS[];
isLoading: boolean;
}

export interface BLOG_POST {
post: USER_POSTS[] | never[]
isLoading: boolean
data: {
post: USER_POSTS[] | never[];
};
isLoading: boolean;
}

export interface CONTRACTS {
nft_contract_id: string; nft_contract_owner_id: string
nft_contract_id: string;
nft_contract_owner_id: string;
}
export interface LATEST_BLOGS {
contracts:CONTRACTS[]
contracts: CONTRACTS[];
isLoading: boolean;
}

export interface BLOGS {
nft_contracts: { id: string }[] | never[]
data: {
nft_contracts: { id: string }[] | never[];
};
}

export interface BLOGS_RESPONSE {
blogs: { id: string }[]
blogs: { id: string }[];
isLoading: boolean;
}
}
8 changes: 4 additions & 4 deletions blogchain/src/components/create-post.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ export function CreatePostDialog() {
name="contract"
render={({ field }) => (
<FormItem>
<FormLabel>Blog</FormLabel>
<FormLabel>Blog *</FormLabel>
<Select
onValueChange={field.onChange}
defaultValue={field.value}
Expand All @@ -177,7 +177,7 @@ export function CreatePostDialog() {
name="title"
render={({ field }) => (
<FormItem>
<FormLabel>Title</FormLabel>
<FormLabel>Title *</FormLabel>
<FormControl>
<Input {...field} />
</FormControl>
Expand All @@ -188,7 +188,7 @@ export function CreatePostDialog() {
</div>

<div>
<Label>Content</Label>
<Label>Content *</Label>

<div className="markdownEditor">
<SimpleMDE
Expand All @@ -200,7 +200,7 @@ export function CreatePostDialog() {
</div>

<div>
<Label>Image</Label>
<Label>Image *</Label>
{preview && (
<img
src={preview as string}
Expand Down
6 changes: 4 additions & 2 deletions blogchain/src/hooks/useBlogPosts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,12 @@ const useBlogPosts = (contractId: string): BLOG_POSTS => {
queryParams: [contractId],
};

const { data, isLoading } = useGraphQlQuery<USER_POST_DATA, unknown>(queryObj);
const { data, isLoading } = useGraphQlQuery<USER_POST_DATA, unknown>(
queryObj
);

return {
posts: data?.mb_views_nft_tokens ?? [],
posts: data?.data?.mb_views_nft_tokens ?? [],
isLoading,
};
};
Expand Down
15 changes: 11 additions & 4 deletions blogchain/src/hooks/useGetBlogPostMetadata.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import { GET_POST_METADATA } from "@/app/data/queries/posts";
import { useGraphQlQuery } from "@/app/data/useGraphQLQuery";
import { BLOG_POST_DATA, BLOG_POST_UNIQUE, QUERY_RESPONSE } from "@/app/typings";
import {
BLOG_POST_DATA,
BLOG_POST_UNIQUE,
QUERY_RESPONSE,
} from "@/app/typings";

const useGetBlogPostMetadata = (id: string): BLOG_POST_DATA => {
const queryObj = {
Expand All @@ -11,12 +15,15 @@ const useGetBlogPostMetadata = (id: string): BLOG_POST_DATA => {
queryParams: [id],
};

const { data, isLoading } = useGraphQlQuery<QUERY_RESPONSE<BLOG_POST_UNIQUE>, unknown>(queryObj);
const { data, isLoading } = useGraphQlQuery<
QUERY_RESPONSE<BLOG_POST_UNIQUE>,
unknown
>(queryObj);

return {
post: data ? data.mb_views_nft_tokens[0] : undefined,
post: data?.data?.mb_views_nft_tokens[0],
isLoading,
};
};

export { useGetBlogPostMetadata };
export { useGetBlogPostMetadata };
13 changes: 8 additions & 5 deletions blogchain/src/hooks/useLatestBlogs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,11 @@

import { GET_LATEST_UPDATED_BLOGS } from "@/app/data/queries/blogs";
import { useGraphQlQuery } from "@/app/data/useGraphQLQuery";
import { LATEST_BLOGS, QUERY_RESPONSE_METADATA, CONTRACTS } from "@/app/typings";


import {
LATEST_BLOGS,
QUERY_RESPONSE_METADATA,
CONTRACTS,
} from "@/app/typings";

const useLatestBlogs = (): LATEST_BLOGS => {
const queryObj = {
Expand All @@ -14,10 +16,11 @@ const useLatestBlogs = (): LATEST_BLOGS => {
queryOpts: { staleTime: Infinity },
};

const { data, isLoading } = useGraphQlQuery<QUERY_RESPONSE_METADATA<CONTRACTS>>(queryObj);
const { data, isLoading } =
useGraphQlQuery<QUERY_RESPONSE_METADATA<CONTRACTS>>(queryObj);

return {
contracts: data?.mb_views_nft_metadata ?? [],
contracts: data?.data?.mb_views_nft_metadata ?? [],
isLoading,
};
};
Expand Down
7 changes: 4 additions & 3 deletions blogchain/src/hooks/useLatestPosts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { GET_LATEST_POSTS } from "@/app/data/queries/posts";
import { useGraphQlQuery } from "@/app/data/useGraphQLQuery";
import { BLOG_POSTS, USER_POST_DATA } from "@/app/typings";


const useLatestPosts = (): BLOG_POSTS => {
const queryObj = {
queryName: "q_GET_LATEST_POSTS",
Expand All @@ -13,10 +12,12 @@ const useLatestPosts = (): BLOG_POSTS => {
queryOpts: { staleTime: Infinity },
};

const { data, isLoading } = useGraphQlQuery<USER_POST_DATA, unknown>(queryObj);
const { data, isLoading } = useGraphQlQuery<USER_POST_DATA, unknown>(
queryObj
);

return {
posts: data?.mb_views_nft_tokens ?? [],
posts: data?.data?.mb_views_nft_tokens ?? [],
isLoading,
};
};
Expand Down
2 changes: 1 addition & 1 deletion blogchain/src/hooks/useUserBlogs.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const useUserBlogs = (accountId: string): BLOGS_RESPONSE => {
const { data, isLoading } = useGraphQlQuery<BLOGS, unknown>(queryObj);

return {
blogs: data?.nft_contracts ?? [],
blogs: data?.data?.nft_contracts ?? [],
isLoading,
};
};
Expand Down
7 changes: 5 additions & 2 deletions blogchain/src/hooks/useUserPosts.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,13 @@ const useUserPosts = (accountId: string): HOOK_RESPONSE<USER_POSTS> => {
queryParams: [accountId],
};

const { data, isLoading } = useGraphQlQuery<QUERY_RESPONSE<USER_POSTS>, unknown>(queryObj);
const { data, isLoading } = useGraphQlQuery<
QUERY_RESPONSE<USER_POSTS>,
unknown
>(queryObj);

return {
posts: data?.mb_views_nft_tokens ?? [],
posts: data?.data?.mb_views_nft_tokens ?? [],
isLoading,
};
};
Expand Down

0 comments on commit a0ab984

Please sign in to comment.