From 9e21d94dd99bfdbeefa24d35588aac84e552fb07 Mon Sep 17 00:00:00 2001 From: Jascha Date: Sat, 23 May 2026 13:59:38 -0700 Subject: [PATCH] fix(snd): replace legacy blue cloud on expired-link screen with Vault hero MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit app/ui/notFound.js (rendered when a share link has expired or 404s) was still using assets/notFound.svg -- a Mozilla Firefox Send-era illustration: saturated blue, soft cloud-with-strike-through glyph, decorative. Same off-brand carryover that downloadCompleted.js had before PR #18 fixed it. Replacement uses the existing Vault visual vocabulary, mirroring the download-complete hero from PR #18 so the encrypt/decrypt/expired moments visually rhyme: - Three nested squares (concentric, hairline outer pair). - Inner square in `--snd-mute` (not danger -- expired is not a destructive condition, it's an absent one). - Diagonal slash from corner to corner of the inner square, in mute. - EXPIRED tag eyebrow above the headline. - A `>`-prefixed mono caption -- "share no longer available · file removed from server" -- echoing the Vault comment-line motif. assets/notFound.svg is no longer referenced. Leaving the file in place for now; webpack still emits it but no template loads it. The `assets` import is also dropped since it's no longer used. --- app/ui/notFound.js | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/app/ui/notFound.js b/app/ui/notFound.js index b44bd731..a3108666 100644 --- a/app/ui/notFound.js +++ b/app/ui/notFound.js @@ -1,5 +1,4 @@ const html = require('choo/html'); -const assets = require('../../common/assets'); const modal = require('./modal'); module.exports = function(state, emit) { @@ -7,25 +6,29 @@ module.exports = function(state, emit) { return html`
${state.modal && modal(state, emit)} -
-

+
+ +

EXPIRED

+

${state.translate('expiredTitle')}

- - - -

+

+ > share no longer available · file removed from server +

+

${state.translate('trySendDescription')}

-

- ${state.translate(btnText)} +

+ + ${state.translate(btnText)} +