-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Amp Img #1101
Amp Img #1101
Changes from 15 commits
206e4b8
2df0125
aafe6c3
4e18239
8b5da7b
5c6a973
ed6791f
da39b3d
3dc4bbf
5121fbc
fec261b
a79ff57
766a0e5
921929a
58c0ec8
39db323
bc0d448
aba7527
a849328
0b2f529
13e46dc
d981939
ff2bd2a
3ef1341
baa6570
a166b7c
db7df3b
a7303a6
89002af
7e291e3
8399629
974b8ec
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,23 @@ | ||||||
# Image component | ||||||
|
||||||
## Usage | ||||||
|
||||||
Importing the standard Image component, which renders an `<img />` tag. | ||||||
|
||||||
```jsx | ||||||
import { Img } from '../components/Image'; | ||||||
|
||||||
const WrappingContainer = ({ alt, height, src, width }) => ( | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
(makes it consistent with the other below) |
||||||
<Img alt={alt} src={src} height={height} width={width} /> | ||||||
); | ||||||
``` | ||||||
|
||||||
Importing an Amp Image component, which renders an `<amp-img />` tag. | ||||||
|
||||||
```jsx | ||||||
import { AmpImg } from '../components/Image'; | ||||||
|
||||||
const WrappingContainer = ({ alt, height, src, width }) => ( | ||||||
<AmpImg alt={alt} src={src} height={height} width={width} /> | ||||||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
); | ||||||
``` | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Needs the rest of the README structure (guess I could have raised an issue for that!), e.g. https://github.com/BBC-News/psammead/tree/latest/packages/components/psammead-paragraph There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The CoC and other links will need to change when we move it to Psammead. I've added a note to the description in this Issue: BBC-archive/psammead#203 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
// Jest Snapshot v1, https://goo.gl/fbAQLP | ||
|
||
exports[`Image - AmpImg should render image with custom dimensions correctly 1`] = ` | ||
.c0 { | ||
display: block; | ||
width: 100%; | ||
} | ||
|
||
<amp-img | ||
alt="By Elisa Decker, from her series \\"Sidewalk\\"" | ||
className="-amp-img c0" | ||
height={547} | ||
src="https://ichef.bbci.co.uk/news/445/cpsprodpb/164BB/production/_104032319_03270dcc-9dda-4bd4-96a0-db89f6b915ae.jpg" | ||
width={445} | ||
/> | ||
`; | ||
|
||
exports[`Image - AmpImg should render landscape image correctly 1`] = ` | ||
.c0 { | ||
display: block; | ||
width: 100%; | ||
} | ||
|
||
<amp-img | ||
alt="Student sitting an exam" | ||
className="-amp-img c0" | ||
height={576} | ||
src="https://ichef.bbci.co.uk/news/1024/cpsprodpb/7098/production/_104842882_students.jpg" | ||
width={1024} | ||
/> | ||
`; | ||
|
||
exports[`Image - AmpImg should render portrait image correctly 1`] = ` | ||
.c0 { | ||
display: block; | ||
width: 100%; | ||
} | ||
|
||
<amp-img | ||
alt="Map of the UK displaying Syrian refugees and asylum seekers per 10000 population. Ranges from 0 to 17." | ||
className="-amp-img c0" | ||
height={1138} | ||
src="https://ichef.bbci.co.uk/news/640/cpsprodpb/439A/production/_100960371_syrians_and_asylum_v2-nc.png" | ||
width={640} | ||
/> | ||
`; | ||
|
||
exports[`Image - AmpImg should render square image correctly 1`] = ` | ||
.c0 { | ||
display: block; | ||
width: 100%; | ||
} | ||
|
||
<amp-img | ||
alt="Tracks through the snow" | ||
className="-amp-img c0" | ||
height={1024} | ||
src="https://ichef.bbci.co.uk/news/1024/cpsprodpb/114FE/production/_104801907_79010.jpg" | ||
width={1024} | ||
/> | ||
`; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import 'styled-components'; | ||
import { StyledImg } from '.'; | ||
|
||
const AmpImg = StyledImg.withComponent('amp-img'); | ||
ChrisBAshton marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
export default AmpImg; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
import AmpImg from './index.amp'; | ||
import stories from './testHelpers/stories'; | ||
|
||
stories(AmpImg, 'Image - AmpImg'); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import AmpImg from './index.amp'; | ||
import snapshotTests from './testHelpers/snapshotTests'; | ||
|
||
describe('Image - AmpImg', () => { | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
|
||
snapshotTests(AmpImg); | ||
}); |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,8 +1,23 @@ | ||||||
import React from 'react'; | ||||||
import styled from 'styled-components'; | ||||||
import { number, string } from 'prop-types'; | ||||||
|
||||||
const Image = styled.img` | ||||||
export const StyledImg = styled.img` | ||||||
display: block; | ||||||
width: 100%; | ||||||
`; | ||||||
|
||||||
export const Img = ({ alt, height, src, width }) => ( | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should this file not also be exporting AmpImg? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes I think that's what we agreed 👍 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes, this is fixed now. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
(ordering consistency) |
||||||
<StyledImg alt={alt} src={src} height={height} width={width} /> | ||||||
); | ||||||
|
||||||
Img.propTypes = { | ||||||
alt: string.isRequired, | ||||||
height: number.isRequired, | ||||||
src: string.isRequired, | ||||||
ChrisBAshton marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||
width: number.isRequired, | ||||||
}; | ||||||
|
||||||
const Image = Img; | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can just |
||||||
|
||||||
export default Image; |
Original file line number | Diff line number | Diff line change | ||||
---|---|---|---|---|---|---|
@@ -1,12 +1,4 @@ | ||||||
import React from 'react'; | ||||||
import { storiesOf } from '@storybook/react'; // eslint-disable-line import/no-extraneous-dependencies | ||||||
import Image from './index'; | ||||||
import { Img } from './index'; | ||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||
import stories from './testHelpers/stories'; | ||||||
|
||||||
const imageAlt = | ||||||
'Map of the UK displaying Syrian refugees and asylum seekers per 10000 population. Ranges from 0 to 17.'; | ||||||
const imageSrc = | ||||||
'https://ichef.bbci.co.uk/news/640/cpsprodpb/439A/production/_100960371_syrians_and_asylum_v2-nc.png'; | ||||||
|
||||||
storiesOf('Image', module).add('default', () => ( | ||||||
<Image alt={imageAlt} src={imageSrc} /> | ||||||
)); | ||||||
stories(Img, 'Image - Img'); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,10 @@ | ||
import React from 'react'; | ||
import { shouldMatchSnapshot } from '../../../helpers/tests/testHelpers'; | ||
import Image from './index'; | ||
import Image, { Img } from './index'; | ||
import snapshotTests from './testHelpers/snapshotTests'; | ||
|
||
const imageAlt = | ||
'Map of the UK displaying Syrian refugees and asylum seekers per 10000 population. Ranges from 0 to 17.'; | ||
const imageSrc = | ||
'https://ichef.bbci.co.uk/news/640/cpsprodpb/439A/production/_100960371_syrians_and_asylum_v2-nc.png'; | ||
describe("Image - imported as '{ Img }'", () => { | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
|
||
snapshotTests(Img); | ||
}); | ||
|
||
describe('Image', () => { | ||
shouldMatchSnapshot( | ||
'should render correctly', | ||
<Image alt={imageAlt} src={imageSrc} />, | ||
); | ||
describe("Image - imported as default 'Image'", () => { | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
|
||
snapshotTests(Image); | ||
}); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
export const landscape = { | ||
alt: 'Student sitting an exam', | ||
src: | ||
'https://ichef.bbci.co.uk/news/1024/cpsprodpb/7098/production/_104842882_students.jpg', | ||
width: 1024, | ||
height: 576, | ||
}; | ||
|
||
export const portrait = { | ||
alt: | ||
'Map of the UK displaying Syrian refugees and asylum seekers per 10000 population. Ranges from 0 to 17.', | ||
src: | ||
'https://ichef.bbci.co.uk/news/640/cpsprodpb/439A/production/_100960371_syrians_and_asylum_v2-nc.png', | ||
width: 640, | ||
height: 1138, | ||
}; | ||
|
||
export const square = { | ||
alt: 'Tracks through the snow', | ||
src: | ||
'https://ichef.bbci.co.uk/news/1024/cpsprodpb/114FE/production/_104801907_79010.jpg', | ||
width: 1024, | ||
height: 1024, | ||
}; | ||
|
||
export const custom = { | ||
alt: 'By Elisa Decker, from her series "Sidewalk"', | ||
src: | ||
'https://ichef.bbci.co.uk/news/445/cpsprodpb/164BB/production/_104032319_03270dcc-9dda-4bd4-96a0-db89f6b915ae.jpg', | ||
|
||
width: 445, | ||
height: 547, | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
import React from 'react'; | ||
import { shouldMatchSnapshot } from '../../../../helpers/tests/testHelpers'; | ||
import { custom, landscape, portrait, square } from './fixtureData'; | ||
|
||
const snapshotTests = Component => { | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Function There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Function There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Function
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
|
||
shouldMatchSnapshot( | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring.
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. |
||
'should render landscape image correctly', | ||
<Component | ||
alt={landscape.alt} | ||
src={landscape.src} | ||
height={landscape.height} | ||
width={landscape.width} | ||
/>, | ||
); | ||
shouldMatchSnapshot( | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring.
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. |
||
'should render portrait image correctly', | ||
<Component | ||
alt={portrait.alt} | ||
src={portrait.src} | ||
height={portrait.height} | ||
width={portrait.width} | ||
/>, | ||
); | ||
shouldMatchSnapshot( | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring.
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. |
||
'should render square image correctly', | ||
<Component | ||
alt={square.alt} | ||
src={square.src} | ||
height={square.height} | ||
width={square.width} | ||
/>, | ||
); | ||
shouldMatchSnapshot( | ||
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring.
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
sareh marked this conversation as resolved.
Show resolved
Hide resolved
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similar blocks of code found in 4 locations. Consider refactoring. |
||
'should render image with custom dimensions correctly', | ||
<Component | ||
alt={custom.alt} | ||
src={custom.src} | ||
height={custom.height} | ||
width={custom.width} | ||
/>, | ||
); | ||
}; | ||
|
||
export default snapshotTests; |
This comment was marked as resolved.
Sorry, something went wrong.