diff --git a/iosApp/HoneyDueQLPreview/PreviewViewController.swift b/iosApp/HoneyDueQLPreview/PreviewViewController.swift index f21a3a0..c657ecd 100644 --- a/iosApp/HoneyDueQLPreview/PreviewViewController.swift +++ b/iosApp/HoneyDueQLPreview/PreviewViewController.swift @@ -288,8 +288,14 @@ class PreviewViewController: UIViewController, QLPreviewingController { let expiredAgo = Self.expiredRelativePhraseOrNil(residence.expiresAt) if let expiredAgo { instructionLabel.attributedText = Self.makeExpiredInstructions(sharedBy: residence.sharedBy) + // The down-chevron points at the Share button as a visual + // cue to tap it; in the expired state there's nothing + // useful to share (the server will reject the bundled + // code) so the arrow becomes misleading. Hide it. + arrowImageView.isHidden = true } else { instructionLabel.attributedText = Self.makeResidenceInstructions() + arrowImageView.isHidden = false } // Clear existing details diff --git a/iosApp/HoneyDueTests/Issue7PreviewScreenshotTest.swift b/iosApp/HoneyDueTests/Issue7PreviewScreenshotTest.swift index a92d286..ca692ef 100644 --- a/iosApp/HoneyDueTests/Issue7PreviewScreenshotTest.swift +++ b/iosApp/HoneyDueTests/Issue7PreviewScreenshotTest.swift @@ -277,11 +277,15 @@ private final class MockPreviewViewController: UIViewController { switch state { case .active: instructionLabel.attributedText = makeResidenceInstructions() + arrowImageView.isHidden = false if let expiresAt = residence.expiresAt, !expiresAt.isEmpty { addDetailRow(icon: "clock", text: "Expires \(formatActiveExpiry(expiresAt))") } case .expired(let elapsed): instructionLabel.attributedText = makeExpiredInstructions(sharedBy: residence.sharedBy) + // Arrow points at the Share button — no point telling the + // user to tap it for a dead link. Matches PreviewViewController. + arrowImageView.isHidden = true addDetailRow(icon: "clock", text: "Expired \(relativePhrase(secondsAgo: elapsed))") } } diff --git a/iosApp/HoneyDueTests/__Snapshots__/Issue7PreviewScreenshotTest/test_residence_invite_preview_expired_state.issue7_residence_invite_preview_expired_dark.png b/iosApp/HoneyDueTests/__Snapshots__/Issue7PreviewScreenshotTest/test_residence_invite_preview_expired_state.issue7_residence_invite_preview_expired_dark.png index 36bb8ae..27a3b84 100644 Binary files a/iosApp/HoneyDueTests/__Snapshots__/Issue7PreviewScreenshotTest/test_residence_invite_preview_expired_state.issue7_residence_invite_preview_expired_dark.png and b/iosApp/HoneyDueTests/__Snapshots__/Issue7PreviewScreenshotTest/test_residence_invite_preview_expired_state.issue7_residence_invite_preview_expired_dark.png differ