1
0
Fork 1
mirror of https://github.com/SomboChea/ui synced 2024-06-26 05:04:49 +07:00
verdaccio-ui/src/webui/components/Install/index.js

59 lines
1.7 KiB
JavaScript
Raw Normal View History

2019-03-28 05:39:06 +07:00
/**
* @prettier
*/
import React, { Component } from 'react';
import List from '@material-ui/core/List/index';
import ListItemText from '@material-ui/core/ListItemText/index';
2019-02-03 17:23:33 +07:00
import { DetailContextConsumer } from '../../pages/version/index';
import CopyToClipBoard from '../CopyToClipBoard';
2019-03-28 05:39:06 +07:00
import { Heading, InstallItem, PackageMangerAvatar } from './styles';
// logos of package managers
import npm from './img/npm.svg';
import pnpm from './img/pnpm.svg';
import yarn from './img/yarn.svg';
class Install extends Component {
2019-02-03 17:23:33 +07:00
render() {
return (
<DetailContextConsumer>
2019-03-28 05:39:06 +07:00
{context => {
2019-02-03 17:23:33 +07:00
return this.renderCopyCLI(context);
}}
</DetailContextConsumer>
);
2019-03-28 05:39:06 +07:00
}
2019-02-03 17:23:33 +07:00
2019-03-28 05:39:06 +07:00
renderCopyCLI = ({ packageName }) => {
2019-02-03 17:23:33 +07:00
return (
2019-03-28 05:39:06 +07:00
<>
<List subheader={<Heading variant={'subheading'}>{'Installation'}</Heading>}>{this.renderListItems(packageName)}</List>
</>
2019-02-03 17:23:33 +07:00
);
2019-03-28 05:39:06 +07:00
};
2019-02-03 17:23:33 +07:00
2019-03-28 05:39:06 +07:00
renderListItems = packageName => {
2019-02-03 17:23:33 +07:00
return (
2019-03-28 05:39:06 +07:00
<>
<InstallItem>
<PackageMangerAvatar alt={'npm logo'} src={npm} />
<ListItemText primary={<CopyToClipBoard text={`npm install ${packageName}`} />} secondary={'Install using NPM'} />
</InstallItem>
<InstallItem>
<PackageMangerAvatar alt={'yarn logo'} src={yarn} />
<ListItemText primary={<CopyToClipBoard text={`yarn add ${packageName}`} />} secondary={'Install using Yarn'} />
</InstallItem>
<InstallItem>
<PackageMangerAvatar alt={'pnpm logo'} src={pnpm} />
<ListItemText primary={<CopyToClipBoard text={`pnpm install ${packageName}`} />} secondary={'Install using PNPM'} />
</InstallItem>
</>
2019-02-03 17:23:33 +07:00
);
2019-03-28 05:39:06 +07:00
};
2019-02-03 17:23:33 +07:00
}
export default Install;