signal-desktop/ts/components/Lightbox.md

109 lines
2.1 KiB
Markdown
Raw Normal View History

## Image
2019-06-26 19:33:13 +00:00
```jsx
const noop = () => {};
<div style={{ position: 'relative', width: '100%', height: 500 }}>
<Lightbox
2018-04-25 22:15:57 +00:00
objectURL="https://placekitten.com/800/600"
contentType="image/jpeg"
onSave={noop}
i18n={util.i18n}
/>
</div>;
2018-04-15 04:27:30 +00:00
```
## Image with caption
2019-06-26 19:33:13 +00:00
```jsx
const noop = () => {};
<div style={{ position: 'relative', width: '100%', height: 500 }}>
<Lightbox
objectURL="https://placekitten.com/800/600"
caption="This is the user-provided caption. We show it overlaid on the image. If it's really long, then it wraps, but it doesn't get too close to the edges of the image."
contentType="image/jpeg"
onSave={noop}
i18n={util.i18n}
/>
</div>;
```
2019-06-26 19:33:13 +00:00
## Image with timer
```jsx
const noop = () => {};
<div style={{ position: 'relative', width: '100%', height: 500 }}>
<Lightbox
objectURL="https://placekitten.com/800/600"
contentType="image/jpeg"
timerExpiresAt={Date.now() + 10 * 1000}
timerDuration={30 * 1000}
onSave={null}
close={() => console.log('close')}
i18n={util.i18n}
/>
</div>;
```
## Image (unsupported format)
2019-06-26 19:33:13 +00:00
```jsx
const noop = () => {};
<div style={{ position: 'relative', width: '100%', height: 500 }}>
<Lightbox
objectURL="foo.tif"
contentType="image/tiff"
onSave={noop}
i18n={util.i18n}
/>
</div>;
```
## Video (supported format)
2019-06-26 19:33:13 +00:00
```jsx
const noop = () => {};
<div style={{ position: 'relative', width: '100%', height: 500 }}>
<Lightbox
objectURL="fixtures/pixabay-Soap-Bubble-7141.mp4"
contentType="video/mp4"
onSave={noop}
i18n={util.i18n}
/>
</div>;
```
## Video (unsupported format)
2019-06-26 19:33:13 +00:00
```jsx
const noop = () => {};
<div style={{ position: 'relative', width: '100%', height: 500 }}>
<Lightbox
objectURL="foo.mov"
contentType="video/quicktime"
onSave={noop}
i18n={util.i18n}
/>
</div>;
```
## Unsupported file format
2019-06-26 19:33:13 +00:00
```jsx
const noop = () => {};
<div style={{ position: 'relative', width: '100%', height: 600 }}>
<Lightbox
objectURL="tsconfig.json"
contentType="application/json"
onSave={noop}
i18n={util.i18n}
/>
</div>;
```