nvrsion: Add revert logic to Sources/NucleicApp/BuildBanner.swift, Sources/NucleicApp/ToolbarGlassKeeper.swift, and ios/NucleicRemote/NucleicRemote/Views/BuildBanner.swift to restore prior state, and fix sidebar color distortion in Sources/NucleicApp/RootView.swift.

Nucleic-Promote: 1
Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
2026-07-07 01:53:08 -07:00
co-authored by Nucleic
parent 01ef87024a
commit 6025fe6d41
@@ -83,11 +83,11 @@ struct BuildInfo {
} }
} }
/// Header warning that this is a non-release build — the same channel colors, icons, and copy /// Header strip warning that this is a non-release build — the same channel colors, icons,
/// as the Mac's `BuildBanner`. A channel-colored stripe — red for local builds, canary-yellow /// and copy as the Mac's `BuildBanner`: red for local builds, canary-yellow for canary, blue
/// for canary, blue for beta, gold for a release candidate — spans the full width, with its /// for beta, gold for a release candidate. The leading edge names the channel; the build
/// content (channel name, build label, and an all-caps "EXPERIMENTAL" pill) held at the /// label and an all-caps "EXPERIMENTAL" badge sit on the trailing edge. Renders nothing for
/// leading edge. Renders nothing for a shipping App Store release. /// a shipping App Store release.
struct BuildBanner: View { struct BuildBanner: View {
var info: BuildInfo = .current var info: BuildInfo = .current
@@ -95,7 +95,7 @@ struct BuildBanner: View {
if let style = Style(channel: info.channel) { if let style = Style(channel: info.channel) {
HStack(spacing: 8) { HStack(spacing: 8) {
Image(systemName: style.icon) Image(systemName: style.icon)
.font(.system(size: 12, weight: .heavy)) .font(.system(size: 15, weight: .heavy))
Text(style.label) Text(style.label)
.font(.footnote.weight(.semibold)) .font(.footnote.weight(.semibold))
.lineLimit(1) .lineLimit(1)
@@ -112,12 +112,9 @@ struct BuildBanner: View {
} }
.foregroundStyle(.white.opacity(0.92)) .foregroundStyle(.white.opacity(0.92))
.padding(.horizontal, 12) .padding(.horizontal, 12)
.padding(.vertical, 3) .padding(.vertical, 5)
.frame(maxWidth: .infinity, alignment: .leading) .frame(maxWidth: .infinity)
// The channel-colored stripe fills the full width and height of the top area, with .background(style.tint.opacity(0.5))
// the content (channel name, build label, and the EXPERIMENTAL pill) laid across it
// — the channel name at the leading edge, the build label and pill at the trailing.
.background(style.tint.opacity(0.9))
.accessibilityLabel(style.tooltip(version: info.version, build: info.buildLabel)) .accessibilityLabel(style.tooltip(version: info.version, build: info.buildLabel))
} }
} }