2017-10-12 00:01:37 +03:00
|
|
|
import { observer } from 'mobx-react';
|
2018-01-22 21:30:53 +03:00
|
|
|
import * as React from 'react';
|
|
|
|
import { OpenAPIInfo } from '../../types';
|
2017-11-23 12:38:18 +03:00
|
|
|
import { LogoImgEl, LogoWrap } from './styled.elements';
|
2017-10-12 00:01:37 +03:00
|
|
|
|
|
|
|
const LinkWrap = url => Component => <a href={url}>{Component}</a>;
|
|
|
|
|
|
|
|
@observer
|
2017-11-14 18:46:50 +03:00
|
|
|
export class ApiLogo extends React.Component<{ info: OpenAPIInfo }> {
|
2017-10-12 00:01:37 +03:00
|
|
|
render() {
|
2017-11-14 18:46:50 +03:00
|
|
|
const { info } = this.props;
|
2017-10-12 00:01:37 +03:00
|
|
|
const logoInfo = info['x-logo'];
|
2018-01-22 21:30:53 +03:00
|
|
|
if (!logoInfo || !logoInfo.url) {
|
|
|
|
return null;
|
|
|
|
}
|
2017-10-12 00:01:37 +03:00
|
|
|
|
|
|
|
const logo = (
|
|
|
|
<LogoImgEl src={logoInfo.url} style={{ backgroundColor: logoInfo.backgroundColor }} />
|
|
|
|
);
|
2017-11-23 12:38:18 +03:00
|
|
|
return (
|
|
|
|
<LogoWrap>
|
|
|
|
{info.contact && info.contact.url ? LinkWrap(info.contact.url)(logo) : logo}{' '}
|
|
|
|
</LogoWrap>
|
|
|
|
);
|
2017-10-12 00:01:37 +03:00
|
|
|
}
|
|
|
|
}
|