1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
8 |
|
9 | var _templateObject = _taggedTemplateLiteral(['\n ', ' {\n ', '\n }\n position: relative;\n outline: 0;\n border: 2px solid ', ';\n'], ['\n ', ' {\n ', '\n }\n position: relative;\n outline: 0;\n border: 2px solid ', ';\n']),
|
10 | _templateObject2 = _taggedTemplateLiteral(['\n display: block;\n max-width: 100%;\n height: auto;\n'], ['\n display: block;\n max-width: 100%;\n height: auto;\n']),
|
11 | _templateObject3 = _taggedTemplateLiteral(['\n query resource($id: ID!) {\n resource(id: $id) {\n id, path\n }\n }\n'], ['\n query resource($id: ID!) {\n resource(id: $id) {\n id, path\n }\n }\n']);
|
12 |
|
13 | var _graphqlTag = require('graphql-tag');
|
14 |
|
15 | var _graphqlTag2 = _interopRequireDefault(_graphqlTag);
|
16 |
|
17 | var _reactApollo = require('react-apollo');
|
18 |
|
19 | var _styledComponents = require('styled-components');
|
20 |
|
21 | var _styledComponents2 = _interopRequireDefault(_styledComponents);
|
22 |
|
23 | var _react = require('react');
|
24 |
|
25 | var _react2 = _interopRequireDefault(_react);
|
26 |
|
27 | var _media = require('../../library/media');
|
28 |
|
29 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
30 |
|
31 | function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
|
32 |
|
33 | function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
34 |
|
35 | var displayBig = function displayBig() {
|
36 | return function (props) {
|
37 | return props.display === 'big' ? 'width: 120%; left: -10%' : null;
|
38 | };
|
39 | };
|
40 |
|
41 | var Container = _styledComponents2.default.div(_templateObject, (0, _media.mediaQuery)('medium'), displayBig(), function (props) {
|
42 | return props.focus ? props.theme.secondary : 'transparent';
|
43 | });
|
44 |
|
45 | var Image = _styledComponents2.default.img(_templateObject2);
|
46 |
|
47 | var ImageBlock = function ImageBlock(_ref) {
|
48 | var data = _ref.data,
|
49 | graphData = _ref.graphData,
|
50 | other = _objectWithoutProperties(_ref, ['data', 'graphData']);
|
51 |
|
52 | return _react2.default.createElement(
|
53 | Container,
|
54 | _extends({}, data, other),
|
55 | graphData.loading && _react2.default.createElement(
|
56 | 'span',
|
57 | null,
|
58 | 'Loading...'
|
59 | ),
|
60 | graphData.error && _react2.default.createElement(
|
61 | 'span',
|
62 | null,
|
63 | 'Could not fetch the image'
|
64 | ),
|
65 | graphData.resource && _react2.default.createElement(Image, {
|
66 | src: graphData.resource.path + '?w=1280',
|
67 | alt: graphData.resource.description
|
68 | })
|
69 | );
|
70 | };
|
71 |
|
72 | ImageBlock.propTypes = {
|
73 | data: _react.PropTypes.shape().isRequired,
|
74 | graphData: _react.PropTypes.shape({
|
75 | loading: _react.PropTypes.bool,
|
76 | node: _react.PropTypes.object
|
77 | }).isRequired
|
78 | };
|
79 |
|
80 | var ResourceQuery = (0, _graphqlTag2.default)(_templateObject3);
|
81 |
|
82 | exports.default = (0, _reactApollo.graphql)(ResourceQuery, {
|
83 | name: 'graphData',
|
84 | options: function options(_ref2) {
|
85 | var data = _ref2.data;
|
86 | return { variables: { id: data.resource.id } };
|
87 | }
|
88 | })(ImageBlock); |
\ | No newline at end of file |