Skip to content

Commit a7c94fa

Browse files
committed
refactor(SLB-458): improve expiry state
1 parent 001bcb8 commit a7c94fa

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

packages/composer/amazeelabs/silverback_preview_link/silverback_preview_link.module

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ function silverback_preview_link_theme(array $existing, string $type, string $th
4949
'template' => 'preview-link',
5050
'variables' => [
5151
'title' => NULL,
52+
'preview_link_has_expired' => FALSE,
5253
'preview_url' => NULL,
5354
'preview_qr_code_url' => NULL,
5455
'expiry_description' => NULL,

packages/composer/amazeelabs/silverback_preview_link/src/Form/PreviewLinkForm.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ public function buildForm(array $form, FormStateInterface $form_state, RouteMatc
152152
$displayQRCode = TRUE;
153153
$qrCodeUrlString = NULL;
154154
$actionsDescription = NULL;
155+
$previewLinkHasExpired = $remainingSeconds === 0;
155156

156157
if ($isNewToken) {
157158
$expiryDescription = $this->t('Expires @lifetime after creation.', [
@@ -160,8 +161,8 @@ public function buildForm(array $form, FormStateInterface $form_state, RouteMatc
160161
$qrCode = (new QRCode)->render($externalPreviewUrlString);
161162
}
162163
else {
163-
if ($remainingSeconds === 0) {
164-
$expiryDescription = $this->t('Live preview link</a> for <em>@entity_label</em> has expired, reset link expiry or generate a new one.', [
164+
if ($previewLinkHasExpired) {
165+
$expiryDescription = $this->t('⌛ <strong>Live preview link</a> for <em>@entity_label</em> has expired</strong>, reset link expiry or generate a new one.', [
165166
':url' => $externalPreviewUrlString,
166167
'@entity_label' => $host->label(),
167168
]);
@@ -186,6 +187,7 @@ public function buildForm(array $form, FormStateInterface $form_state, RouteMatc
186187
'#theme' => 'preview_link',
187188
'#title' => $this->t('Preview link'),
188189
'#weight' => -9999,
190+
'#preview_link_has_expired' => $previewLinkHasExpired,
189191
'#preview_url' => $externalPreviewUrlString,
190192
'#preview_qr_code_url' => $qrCodeUrlString,
191193
'#expiry_description' => $expiryDescription,

packages/composer/amazeelabs/silverback_preview_link/templates/preview-link.html.twig

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div class="preview-link">
22
<h2 class="preview-link__title hidden">{{ title }}</h2>
3-
{% if preview_url is not empty %}
3+
{% if preview_url is not empty and not preview_link_has_expired %}
44
<div class="preview-link__copy js-form-item form-item js-form-type-textfield form-type--textfield">
55
<input id="preview-link__copy--text"
66
disabled
@@ -16,7 +16,10 @@
1616
</div>
1717
</div>
1818
{% endif %}
19-
{% if preview_qr_code_url is not empty %}
19+
{% if preview_link_has_expired %}
20+
<iframe src="https://giphy.com/embed/CZGcUfnAy3ayJw2eZX" width="480" height="398" style="" frameBorder="0" class="giphy-embed" allowFullScreen></iframe>
21+
{% endif %}
22+
{% if preview_qr_code_url is not empty and not preview_link_has_expired %}
2023
<div class="preview-link__qr">
2124
<p>{{ 'Scan the QR Code to open the preview on another device.' }}</p>
2225
<div class="preview-link__qr--wrapper" style="display: flex; align-items: center; justify-content: center;">

0 commit comments

Comments
 (0)