[resumes][feat] add loading screens for resumes/comments (#342)
parent
c196dcea32
commit
53433787eb
@ -0,0 +1,35 @@
|
|||||||
|
import { Spinner } from '@tih/ui';
|
||||||
|
|
||||||
|
import ResumseListItem from './ResumeListItem';
|
||||||
|
|
||||||
|
import type { Resume } from '~/types/resume';
|
||||||
|
|
||||||
|
type Props = Readonly<{
|
||||||
|
isLoading: boolean;
|
||||||
|
resumes: Array<Resume>;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export default function ResumeListItems({ isLoading, resumes }: Props) {
|
||||||
|
if (isLoading) {
|
||||||
|
return (
|
||||||
|
<div className="col-span-10 pt-4">
|
||||||
|
<Spinner display="block" size="lg" />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="col-span-10 pr-8">
|
||||||
|
<ul role="list">
|
||||||
|
{resumes.map((resumeObj: Resume) => (
|
||||||
|
<li key={resumeObj.id}>
|
||||||
|
<ResumseListItem
|
||||||
|
href={`resumes/${resumeObj.id}`}
|
||||||
|
resumeInfo={resumeObj}
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
import { useSession } from 'next-auth/react';
|
||||||
|
import { Spinner } from '@tih/ui';
|
||||||
|
|
||||||
|
import Comment from './comment/Comment';
|
||||||
|
|
||||||
|
import type { ResumeComment } from '~/types/resume-comments';
|
||||||
|
|
||||||
|
type Props = Readonly<{
|
||||||
|
comments: Array<ResumeComment>;
|
||||||
|
isLoading: boolean;
|
||||||
|
}>;
|
||||||
|
|
||||||
|
export default function CommentListItems({ comments, isLoading }: Props) {
|
||||||
|
const { data: session } = useSession();
|
||||||
|
|
||||||
|
if (isLoading) {
|
||||||
|
return (
|
||||||
|
<div className="col-span-10 pt-4">
|
||||||
|
<Spinner display="block" size="lg" />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="m-2 flow-root h-[calc(100vh-20rem)] w-full flex-col space-y-3 overflow-y-scroll">
|
||||||
|
{comments.map((comment) => (
|
||||||
|
<Comment
|
||||||
|
key={comment.id}
|
||||||
|
comment={comment}
|
||||||
|
userId={session?.user?.id}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
Loading…
Reference in new issue