diff --git a/src/css/dialogs-browse-backups.css b/src/css/dialogs-browse-backups.css index 3da3dcf7..966d4ccb 100644 --- a/src/css/dialogs-browse-backups.css +++ b/src/css/dialogs-browse-backups.css @@ -96,6 +96,14 @@ box-sizing: border-box; } +.browse-backups .snapshot-preview { + flex-grow: 0; + flex-shrink: 1; + height: 60px; + width: 60px; + margin-right: 20px; +} + .browse-backups .session-details, .browse-backups .snapshot-details { flex-grow: 1; diff --git a/src/js/controller/dialogs/backups/steps/SessionDetails.js b/src/js/controller/dialogs/backups/steps/SessionDetails.js index 861fea7d..e0857c7b 100644 --- a/src/js/controller/dialogs/backups/steps/SessionDetails.js +++ b/src/js/controller/dialogs/backups/steps/SessionDetails.js @@ -44,12 +44,36 @@ fps: snapshot.fps }; html += pskl.utils.Template.replace(sessionItemTemplate, view); - }); + this.updateSnapshotPreview_(snapshot); + }.bind(this)); } this.container.querySelector('.snapshot-list').innerHTML = html; }.bind(this)); }; + ns.SessionDetails.prototype.updateSnapshotPreview_ = function (snapshot) { + pskl.utils.serialization.Deserializer.deserialize( + JSON.parse(snapshot.serialized), + function (piskel) { + var selector = '.snapshot-item[data-snapshot-id="' + snapshot.id + '"] .snapshot-preview'; + var previewContainer = this.container.querySelector(selector); + if (!previewContainer) { + return; + } + var image = this.getFirstFrameAsImage_(piskel); + previewContainer.appendChild(image); + }.bind(this) + ); + }; + + ns.SessionDetails.prototype.getFirstFrameAsImage_ = function (piskel) { + var frame = pskl.utils.LayerUtils.mergeFrameAt(piskel.getLayers(), 0); + var wZoom = 60 / piskel.width; + var hZoom = 60 / piskel.height; + var zoom = Math.min(hZoom, wZoom); + return pskl.utils.FrameUtils.toImage(frame, zoom); + }; + ns.SessionDetails.prototype.onBackClick_ = function () { this.backupsController.back(this); }; diff --git a/src/templates/dialogs/browse-backups.html b/src/templates/dialogs/browse-backups.html index 2042a2c3..4181097b 100644 --- a/src/templates/dialogs/browse-backups.html +++ b/src/templates/dialogs/browse-backups.html @@ -61,7 +61,8 @@