blob: 74fc6d4d5f5f70bcd136111aaef286ee95cd0dbd (
plain) (
tree)
|
|
import * as _ from 'lodash';
import {colors} from 'material-ui/styles';
import * as React from 'react';
import {Source} from 'ts/types';
import {constants} from 'ts/utils/constants';
interface SourceLinkProps {
source: Source;
baseUrl: string;
version: string;
subPackageName: string;
}
const packagesWithNamespace = [
'connect',
];
export function SourceLink(props: SourceLinkProps) {
const src = props.source;
const url = props.baseUrl;
const pkg = props.subPackageName;
let tagPrefix = pkg;
if (_.includes(packagesWithNamespace, pkg)) {
tagPrefix = `@0xproject/${pkg}`;
}
const sourceCodeUrl = `${url}/blob/${tagPrefix}%40${props.version}/packages/${pkg}/${src.fileName}#L${src.line}`;
return (
<div className="pt2" style={{fontSize: 14}}>
<a
href={sourceCodeUrl}
target="_blank"
className="underline"
style={{color: colors.grey500}}
>
Source
</a>
</div>
);
}
|