react-gosuslugi
Version: 
react-gosuslugi collection of common React UI components
119 lines (97 loc) • 3.38 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
  value: true
});
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _moment = require('moment');
var _moment2 = _interopRequireDefault(_moment);
var _reactRouterDom = require('react-router-dom');
var _Icon = require('../Icon');
var _Icon2 = _interopRequireDefault(_Icon);
var _Caption = require('../Caption');
var _Caption2 = _interopRequireDefault(_Caption);
var _Button = require('../Button');
var _Button2 = _interopRequireDefault(_Button);
require('./News.sass');
var _Col = require('../Col');
var _Col2 = _interopRequireDefault(_Col);
var _Container = require('../Container');
var _Container2 = _interopRequireDefault(_Container);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// import PropTypes from 'prop-types'
var News = function News(_ref) {
  var posts = _ref.posts;
  if (!posts) {
    return null;
  }
  return _react2.default.createElement(
    'section',
    { className: 'news-wrapper' },
    _react2.default.createElement(
      _Container2.default,
      null,
      _react2.default.createElement(
        _Col2.default,
        { xs: 6, sm: 12, md: 24, lg: 24 },
        _react2.default.createElement(
          _Caption2.default,
          null,
          '\u0418\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u043E\u043D\u043D\u044B\u0435 \u043C\u0430\u0442\u0435\u0440\u0438\u0430\u043B\u044B'
        ),
        _react2.default.createElement(
          'div',
          { className: 'titleWrapper' },
          _react2.default.createElement(
            _reactRouterDom.Link,
            { to: '/', className: 'titleWrapper' },
            _react2.default.createElement(
              _Button2.default,
              { bsStyle: 'arrow-left', bsSize: 'lg' },
              '\u041D\u0430 \u0433\u043B\u0430\u0432\u043D\u0443\u044E'
            )
          )
        ),
        posts && _react2.default.createElement(
          'div',
          { className: 'news-wrapper' },
          posts.map(function (news) {
            return _react2.default.createElement(
              _reactRouterDom.Link,
              { key: news.id, to: '/posts/' + news.id, className: 'news' },
              _react2.default.createElement(
                'span',
                { className: 'news__date' },
                _react2.default.createElement(
                  'span',
                  { className: 'date__clock-wrapper' },
                  _react2.default.createElement(_Icon2.default, { type: 'clock' })
                ),
                (0, _moment2.default)(news.created_at).format("DD MMMM YYYY")
              ),
              _react2.default.createElement(
                'h4',
                { className: 'news__caption ' + (!news.description && 'news__caption_padding') },
                news.caption
              ),
              news.description && _react2.default.createElement(
                'p',
                { className: 'news__text' },
                news.description
              )
            );
          })
        )
      )
    )
  );
};
News.propTypes = {
  // posts: PropTypes.shape({
  //   id: PropTypes.number,
  //   created_at: PropTypes.string,
  //   caption: PropTypes.string,
  //   description: PropTypes.string
  // }).isRequired
};
exports.default = News;