LoggingStartPage.tsx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import React, { PureComponent } from 'react';
  2. import classNames from 'classnames';
  3. import LoggingCheatSheet from './LoggingCheatSheet';
  4. const TAB_MENU_ITEMS = [
  5. {
  6. text: 'Start',
  7. id: 'start',
  8. icon: 'fa fa-rocket',
  9. },
  10. ];
  11. export default class LoggingStartPage extends PureComponent<any, { active: string }> {
  12. state = {
  13. active: 'start',
  14. };
  15. onClickTab = active => {
  16. this.setState({ active });
  17. };
  18. render() {
  19. const { active } = this.state;
  20. const customCss = '';
  21. return (
  22. <div style={{ margin: '45px 0', border: '1px solid #ddd', borderRadius: 5 }}>
  23. <div className="page-header-canvas">
  24. <div className="page-container">
  25. <div className="page-header">
  26. <nav>
  27. <ul className={`gf-tabs ${customCss}`}>
  28. {TAB_MENU_ITEMS.map((tab, idx) => {
  29. const tabClasses = classNames({
  30. 'gf-tabs-link': true,
  31. active: tab.id === active,
  32. });
  33. return (
  34. <li className="gf-tabs-item" key={tab.id}>
  35. <a className={tabClasses} onClick={() => this.onClickTab(tab.id)}>
  36. <i className={tab.icon} />
  37. {tab.text}
  38. </a>
  39. </li>
  40. );
  41. })}
  42. </ul>
  43. </nav>
  44. </div>
  45. </div>
  46. </div>
  47. <div className="page-container page-body">
  48. {active === 'start' && <LoggingCheatSheet onClickExample={this.props.onClickExample} />}
  49. </div>
  50. </div>
  51. );
  52. }
  53. }