Fix styling for mail and generating images, add copy button, add images
This commit is contained in:
parent
6e121234f1
commit
9a1287c35b
|
@ -29,7 +29,7 @@ h1 {
|
||||||
}
|
}
|
||||||
|
|
||||||
&__content {
|
&__content {
|
||||||
height: 70vh;
|
height: 50vh;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
padding: 1rem 2rem;
|
padding: 1rem 2rem;
|
||||||
color: $black-color;
|
color: $black-color;
|
||||||
|
|
|
@ -5,7 +5,7 @@ import { Explainers } from './explainers';
|
||||||
import { ParsedAnswers } from './parse-answers';
|
import { ParsedAnswers } from './parse-answers';
|
||||||
import { v } from './verbs';
|
import { v } from './verbs';
|
||||||
import './email-content.scss';
|
import './email-content.scss';
|
||||||
import { Fragment } from 'react';
|
import { Fragment, useState } from 'react';
|
||||||
|
|
||||||
declare var PLUGIN_NAME: string;
|
declare var PLUGIN_NAME: string;
|
||||||
declare var PLUGIN_URL: string;
|
declare var PLUGIN_URL: string;
|
||||||
|
@ -28,18 +28,26 @@ export default function EmailContent({
|
||||||
.reduce((a, b) => a.concat(b), [])
|
.reduce((a, b) => a.concat(b), [])
|
||||||
)
|
)
|
||||||
).map((explainer_key) => Explainers[explainer_key]);
|
).map((explainer_key) => Explainers[explainer_key]);
|
||||||
|
const [copied, setCopy] = useState<boolean>(false);
|
||||||
|
|
||||||
|
function copyTextToClipboard() {
|
||||||
|
// Should be changed in the future to Clipboard API (https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/write#browser_compatibility)
|
||||||
|
let r = document.createRange();
|
||||||
|
r.selectNode(document.querySelector('.mail-container__content'));
|
||||||
|
window.getSelection().addRange(r);
|
||||||
|
document.execCommand('copy');
|
||||||
|
window.getSelection().removeAllRanges();
|
||||||
|
setCopy(true);
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<div className="generator-container">
|
<div className="generator-container">
|
||||||
<h1>Treść maila</h1>
|
<h1>Treść maila</h1>
|
||||||
<div className="mail-container">
|
<div className="mail-container">
|
||||||
<div className="mail-container__header">
|
<div className="mail-container__header">
|
||||||
<div className="mail-container__header--control">
|
<div className="mail-container__header--control"></div>
|
||||||
<button>Kopiuj</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* <pre>{JSON.stringify(answers, null, 3)}</pre> */}
|
|
||||||
<article className="mail-container__content">
|
<article className="mail-container__content">
|
||||||
<p>Dzień dobry,</p>
|
<p>Dzień dobry,</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -69,6 +77,11 @@ export default function EmailContent({
|
||||||
</p>
|
</p>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="buttons-container">
|
||||||
|
<button className="sv_next_btn" onClick={() => copyTextToClipboard()}>
|
||||||
|
{copied ? 'Skopiowano!' : 'Kopiuj'}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</Fragment>
|
</Fragment>
|
||||||
);
|
);
|
||||||
|
|
|
@ -11,10 +11,16 @@ h2 {
|
||||||
}
|
}
|
||||||
|
|
||||||
.images {
|
.images {
|
||||||
display: flex;
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr 1fr;
|
||||||
|
width: 100%;
|
||||||
grid-gap: 1rem;
|
grid-gap: 1rem;
|
||||||
flex-wrap: wrap;
|
margin: 2rem 0 1rem;
|
||||||
margin: 2rem 0;
|
max-height: 45vh;
|
||||||
|
overflow-y: scroll;
|
||||||
|
overflow-x: clip;
|
||||||
|
z-index: 1;
|
||||||
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.generator-container {
|
.generator-container {
|
||||||
|
@ -39,18 +45,16 @@ h2 {
|
||||||
}
|
}
|
||||||
|
|
||||||
.browser {
|
.browser {
|
||||||
height: 9.667rem;
|
height: 8.667rem;
|
||||||
width: 16rem;
|
|
||||||
font-weight: 800 !important;
|
font-weight: 800 !important;
|
||||||
// box-shadow: rgba(12, 12, 13, 0.1) 0px 1px 4px 0px;
|
|
||||||
color: $disabled-grey !important;
|
color: $disabled-grey !important;
|
||||||
border: 1px solid $disabled-grey;
|
border: 1px solid $disabled-grey;
|
||||||
background-image: linear-gradient(to bottom, $icd-rentgen-color 20%, #fff 20%, #fff 100%);
|
background-image: linear-gradient(to bottom, $icd-rentgen-color 20%, #fff 20%, #fff 100%);
|
||||||
animation: xray 2s cubic-bezier(0, 1.43, 0.39, 1.43) infinite;
|
animation: xray 2s cubic-bezier(0, 1.43, 0.39, 1.43) infinite;
|
||||||
|
|
||||||
&--filled {
|
&--filled {
|
||||||
background-size: contain;
|
background-size: 100%;
|
||||||
background-position-y: 18px;
|
background-position-y: 19px;
|
||||||
animation: none;
|
animation: none;
|
||||||
|
|
||||||
.browser__header {
|
.browser__header {
|
||||||
|
@ -83,6 +87,9 @@ h2 {
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
padding-left: 0.25rem;
|
padding-left: 0.25rem;
|
||||||
color: #000;
|
color: #000;
|
||||||
|
overflow: visible;
|
||||||
|
word-break: break-all;
|
||||||
|
inline-size: 10rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
&--controls {
|
&--controls {
|
||||||
|
@ -92,6 +99,6 @@ h2 {
|
||||||
}
|
}
|
||||||
|
|
||||||
&__content {
|
&__content {
|
||||||
height: 7.667rem;
|
height: 6.667rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,6 +59,10 @@ export default function ScreenshotGenerator({
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||||
response = await (await pollTask(path)).json();
|
response = await (await pollTask(path)).json();
|
||||||
setImages((response as screenshotTask)?.images);
|
setImages((response as screenshotTask)?.images);
|
||||||
|
document.querySelector('.images').scrollTo({
|
||||||
|
top: document.querySelector('.images').scrollHeight,
|
||||||
|
behavior: 'smooth',
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (response.status === taskState.FINISHED) {
|
if (response.status === taskState.FINISHED) {
|
||||||
|
@ -117,6 +121,7 @@ export default function ScreenshotGenerator({
|
||||||
setTaskId(urlArr[urlArr.length - 1]);
|
setTaskId(urlArr[urlArr.length - 1]);
|
||||||
const response = await subscribeTask(task.url);
|
const response = await subscribeTask(task.url);
|
||||||
setImages(response.images);
|
setImages(response.images);
|
||||||
|
console.log('response.images', response.images);
|
||||||
console.log('output', response);
|
console.log('output', response);
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
|
@ -130,12 +135,10 @@ export default function ScreenshotGenerator({
|
||||||
<Fragment>
|
<Fragment>
|
||||||
<h1>Przygotowujemy zrzuty ekranów</h1>
|
<h1>Przygotowujemy zrzuty ekranów</h1>
|
||||||
<div className="container">
|
<div className="container">
|
||||||
<h2>To może chwilkę zająć</h2>
|
<h2>To może chwilkę zająć...</h2>
|
||||||
<p>
|
<p>
|
||||||
Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolore sint
|
Nasz serwer właśnie odwiedza wskazaną przez Ciebie stronę i przygotowuje
|
||||||
laudantium blanditiis aperiam quos expedita voluptatem iure, nam aliquam
|
zrzuty ekranów narzędzi deweloperskich.
|
||||||
vel minus aliquid incidunt consequatur illo velit dolorem error
|
|
||||||
exercitationem tempora?
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div className="images">
|
<div className="images">
|
||||||
|
@ -150,7 +153,7 @@ export default function ScreenshotGenerator({
|
||||||
>
|
>
|
||||||
<div className="browser__header">
|
<div className="browser__header">
|
||||||
<div className="browser__header--address-bar">
|
<div className="browser__header--address-bar">
|
||||||
{screenshot.url}
|
{screenshot.url.split('-').slice(-2).join('-')}
|
||||||
</div>
|
</div>
|
||||||
<div className="browser__header--controls">· · ·</div>
|
<div className="browser__header--controls">· · ·</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user