This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import React, { useState } from "react"; | |
| import { useQuery, UseQueryResult } from "react-query"; | |
| type Repo = { | |
| id: number, | |
| name: string, | |
| url: string, | |
| }; | |
| export const RepoList = () => { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { useRouter } from 'next/router'; | |
| import { useProfile } from '../../hooks/useProfile'; | |
| import { useBlogPost } from '../../hooks/useBlogPost'; | |
| import { BlogPost } from '../../components/BlogPost'; | |
| import { BlogPostSkeleton } from '../../components/BlogPostSkeleton'; | |
| import { BlogPostFallback } from '../../components/BlogPostFallback'; | |
| export default function BlogPostPage() { | |
| const { query } = useRouter(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { useRouter } from 'next/router'; | |
| import { useProfile } from '../../hooks/useProfile'; | |
| import { useBlogPost } from '../../hooks/useBlogPost'; | |
| import { BlogPost } from '../../components/BlogPost'; | |
| import { BlogPostSkeleton } from '../../components/BlogPostSkeleton'; | |
| import { BlogPostFallback } from '../../components/BlogPostFallback'; | |
| export default function BlogPostPage() { | |
| const { query } = useRouter(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { useRouter } from 'next/router'; | |
| import { useBlogPost } from '../../hooks/useBlogPost'; | |
| import { BlogPost } from '../../components/BlogPost'; | |
| import { BlogPostSkeleton } from '../../components/BlogPostSkeleton'; | |
| import { BlogPostFallback } from '../../components/BlogPostFallback'; | |
| export default function BlogPostPage() { | |
| const { query } = useRouter(); | |
| const { data: blogPost, error: blogPostError } = useBlogPost(query.id); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { useRouter } from 'next/router'; | |
| import { useBlogPost } from '../../hooks/useBlogPost'; | |
| import { BlogPost } from '../../components/BlogPost'; | |
| import { BlogPostSkeleton } from '../../components/BlogPostSkeleton'; | |
| import { BlogPostFallback } from '../../components/BlogPostFallback'; | |
| export default function BlogPostPage() { | |
| const { query } = useRouter(); | |
| const { data: blogPost, error: blogPostError } = useBlogPost( |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { useRouter } from 'next/router'; | |
| import { useProfile } from '../../hooks/useProfile'; | |
| import { useBlogPost } from '../../hooks/useBlogPost'; | |
| import { BlogPost } from '../../components/BlogPost'; | |
| import { BlogPostSkeleton } from '../../components/BlogPostSkeleton'; | |
| import { BlogPostFallback } from '../../components/BlogPostFallback'; | |
| export default function BlogPostPage() { | |
| const { query } = useRouter(); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import useSWR from 'swr'; | |
| import { fetcher } from '../utils/fetcher'; | |
| import type { TUserProfile } from '../types'; | |
| export const useProfile = (id?: string) => | |
| useSWR<TUserProfile>(() => { | |
| if (id) { | |
| return `/api/users/${id}`; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| test('renders balances correctly', async () => { | |
| render(<App />); | |
| await waitFor(() => expect(screen.getByTestId('loading-skeleton')).not.toBeInTheDocument()); | |
| expect(screen.getByLabelText(/Total/)).toHaveTextContent('$100.00'); | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| test('renders balances correctly', () => { | |
| render(<App />); | |
| expect(screen.getByLabelText(/Total/)).toHaveTextContent('$100.00'); | |
| }); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| const Balance = ({balance}: {balance: string}) => ( | |
| <div> | |
| <span id="total">Total: </span> | |
| <span aria-labelledby="total">{balance}</span> | |
| </div> | |
| ); |
NewerOlder