diff --git a/frontend/components/badge-examples.js b/frontend/components/badge-examples.js
index 3b7cca205d..637d3ea126 100644
--- a/frontend/components/badge-examples.js
+++ b/frontend/components/badge-examples.js
@@ -6,8 +6,9 @@ import resolveBadgeUrl from '../lib/badge-url'
const Badge = ({
title,
- previewUri,
exampleUri,
+ previewUri,
+ urlPattern,
documentation,
baseUri,
longCache,
@@ -15,7 +16,14 @@ const Badge = ({
onClick,
}) => {
const handleClick = onClick
- ? () => onClick({ title, previewUri, exampleUri, documentation })
+ ? () =>
+ onClick({
+ title,
+ exampleUri,
+ previewUri,
+ urlPattern,
+ documentation,
+ })
: undefined
const previewImage = previewUri ? (
@@ -29,7 +37,7 @@ const Badge = ({
'\u00a0'
) // non-breaking space
const resolvedExampleUri = resolveBadgeUrl(
- exampleUri || previewUri,
+ urlPattern || previewUri,
baseUri,
{ longCache: false }
)
@@ -59,8 +67,9 @@ const Badge = ({
}
Badge.propTypes = {
title: PropTypes.string.isRequired,
- previewUri: PropTypes.string,
exampleUri: PropTypes.string,
+ previewUri: PropTypes.string,
+ urlPattern: PropTypes.string,
documentation: PropTypes.string,
baseUri: PropTypes.string,
longCache: PropTypes.bool.isRequired,
@@ -101,8 +110,9 @@ Category.propTypes = {
examples: PropTypes.arrayOf(
PropTypes.shape({
title: PropTypes.string.isRequired,
- previewUri: PropTypes.string,
exampleUri: PropTypes.string,
+ previewUri: PropTypes.string,
+ urlPattern: PropTypes.string,
documentation: PropTypes.string,
})
).isRequired,
diff --git a/frontend/components/markup-modal.js b/frontend/components/markup-modal.js
index 1e7231e73f..9941bd80db 100644
--- a/frontend/components/markup-modal.js
+++ b/frontend/components/markup-modal.js
@@ -10,8 +10,9 @@ export default class MarkupModal extends React.Component {
static propTypes = {
example: PropTypes.shape({
title: PropTypes.string.isRequired,
- previewUri: PropTypes.string,
exampleUri: PropTypes.string,
+ previewUri: PropTypes.string,
+ urlPattern: PropTypes.string,
documentation: PropTypes.string,
link: PropTypes.string,
}),
@@ -20,6 +21,7 @@ export default class MarkupModal extends React.Component {
}
state = {
+ exampleUri: null,
badgeUri: null,
link: null,
style: 'flat',
@@ -38,10 +40,13 @@ export default class MarkupModal extends React.Component {
// Transfer `badgeUri` and `link` into state so they can be edited by the
// user.
- const { exampleUri, previewUri, link } = example
+ const { exampleUri, urlPattern, previewUri, link } = example
this.setState({
+ exampleUri: exampleUri
+ ? resolveBadgeUrl(exampleUri, baseUri || window.location.href)
+ : null,
badgeUri: resolveBadgeUrl(
- exampleUri || previewUri,
+ urlPattern || previewUri,
baseUri || window.location.href
),
link,
@@ -126,6 +131,18 @@ export default class MarkupModal extends React.Component {
/>
+ {this.state.exampleUri && (
+
+ Example
+
+
+
+
+ )}