navs.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import React from 'react';
  2. import { Link } from 'react-router'; // jshint ignore:line
  3. import Li from 'misago/components/li'; //jshint ignore:line
  4. import misago from 'misago/index'; //jshint ignore:line
  5. // jshint ignore:start
  6. let listUrl = function(baseUrl, list) {
  7. let url = baseUrl;
  8. if (list.component === 'rank') {
  9. url += list.slug;
  10. } else {
  11. url += list.component;
  12. }
  13. return url + '/';
  14. };
  15. let navLinks = function(baseUrl, lists) {
  16. return lists.map(function(list) {
  17. let url = listUrl(baseUrl, list);
  18. return <Li path={url}
  19. key={url}>
  20. <Link to={url}>
  21. {list.name}
  22. </Link>
  23. </Li>;
  24. });
  25. };
  26. // jshint ignore:end
  27. export class TabsNav extends React.Component {
  28. render() {
  29. // jshint ignore:start
  30. return <ul className="nav nav-pills">
  31. {navLinks(this.props.baseUrl, this.props.lists)}
  32. </ul>;
  33. // jshint ignore:end
  34. }
  35. }
  36. export class CompactNav extends React.Component {
  37. render() {
  38. // jshint ignore:start
  39. return <ul className="dropdown-menu" role="menu">
  40. {navLinks(this.props.baseUrl, this.props.lists)}
  41. </ul>;
  42. // jshint ignore:end
  43. }
  44. }