feat: plugin discover add error handle and add description

and fix avatar not show problem
pull/105/head
moonrailgun 2 years ago
parent 065f7d44c8
commit f766d33bb3

@ -37,10 +37,12 @@ const Root = styled.div`
} }
.body { .body {
flex: 1;
display: flex; display: flex;
flex-direction: column;
padding: 0 16px 16px; padding: 0 16px 16px;
overflow: hidden; overflow: hidden;
flex: 1; width: 100%;
.name { .name {
font-weight: 600; font-weight: 600;
@ -48,6 +50,8 @@ const Root = styled.div`
.desc { .desc {
opacity: 0.8; opacity: 0.8;
overflow: auto;
font-size: 0.9rem;
} }
} }
@ -110,14 +114,16 @@ export const DiscoverServerCard: React.FC<DiscoverServerCardProps> = React.memo(
<Avatar <Avatar
shape="square" shape="square"
size={40} size={40}
src={groupBasicInfo.icon} src={groupBasicInfo.avatar}
name={groupBasicInfo.name} name={groupBasicInfo.name}
/> />
</div> </div>
</div> </div>
<div className="body"> <div className="body">
<div className="name">{groupBasicInfo.name}</div> <div className="name">{groupBasicInfo.name}</div>
<div className="desc"></div> <div className="desc">
<pre>{groupBasicInfo.description}</pre>
</div>
</div> </div>
<div className="footer"> <div className="footer">
<div> <div>

@ -1,6 +1,6 @@
import React from 'react'; import React from 'react';
import { useAsync } from '@capital/common'; import { useAsync } from '@capital/common';
import { LoadingSpinner } from '@capital/component'; import { LoadingSpinner, ErrorView } from '@capital/component';
import { request } from '../request'; import { request } from '../request';
import styled from 'styled-components'; import styled from 'styled-components';
import { DiscoverServerCard } from './DiscoverServerCard'; import { DiscoverServerCard } from './DiscoverServerCard';
@ -31,9 +31,11 @@ const DiscoverServerList = styled.div`
`; `;
export const DiscoverPanel: React.FC = React.memo(() => { export const DiscoverPanel: React.FC = React.memo(() => {
const { loading, value: list = [] } = useAsync(async (): Promise< const {
DiscoverServerItem[] error,
> => { loading,
value: list = [],
} = useAsync(async (): Promise<DiscoverServerItem[]> => {
const { data } = await request.get('all'); const { data } = await request.get('all');
return data.list ?? []; return data.list ?? [];
@ -43,6 +45,10 @@ export const DiscoverPanel: React.FC = React.memo(() => {
return <LoadingSpinner />; return <LoadingSpinner />;
} }
if (error) {
return <ErrorView error={error} />;
}
return ( return (
<Root> <Root>
<DiscoverServerHeader>{Translate.discoverHeader}</DiscoverServerHeader> <DiscoverServerHeader>{Translate.discoverHeader}</DiscoverServerHeader>

Loading…
Cancel
Save