Add Neon/Synthwave style and 4 paywall themes
- Add 4 distinct paywall themes (Celestial, Garden, Neon, Minimal) with preview/switcher in debug settings - Add Neon voting layout with synthwave equalizer bar design - Upgrade Neon entry style with grid background, cyan/magenta gradients, scanline effects, and mini equalizer visualization - Add PaywallPreviewSettingsView for testing different paywall styles - Use consistent synthwave color palette (cyan #00FFD0, magenta #FF00CC) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -587,6 +587,27 @@ struct VotingLayoutPickerCompact: View {
|
||||
.offset(orbitOffset(index: index, total: 5, radius: 16))
|
||||
}
|
||||
}
|
||||
case .neon:
|
||||
// Equalizer bars
|
||||
ZStack {
|
||||
RoundedRectangle(cornerRadius: 4)
|
||||
.fill(Color.black)
|
||||
.frame(width: 36, height: 36)
|
||||
HStack(spacing: 2) {
|
||||
ForEach(0..<5, id: \.self) { index in
|
||||
let heights: [CGFloat] = [24, 18, 14, 10, 8]
|
||||
RoundedRectangle(cornerRadius: 1)
|
||||
.fill(
|
||||
LinearGradient(
|
||||
colors: [Color(red: 0, green: 1, blue: 0.82), Color(red: 1, green: 0, blue: 0.8)],
|
||||
startPoint: .top,
|
||||
endPoint: .bottom
|
||||
)
|
||||
)
|
||||
.frame(width: 4, height: heights[index])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -151,6 +151,30 @@ struct VotingLayoutPickerView: View {
|
||||
.offset(orbitOffset(index: index, total: 5, radius: 16))
|
||||
}
|
||||
}
|
||||
case .neon:
|
||||
// Equalizer bars
|
||||
ZStack {
|
||||
// Grid background hint
|
||||
RoundedRectangle(cornerRadius: 4)
|
||||
.fill(Color.black)
|
||||
.frame(width: 36, height: 36)
|
||||
|
||||
// Equalizer bars
|
||||
HStack(spacing: 2) {
|
||||
ForEach(0..<5, id: \.self) { index in
|
||||
let heights: [CGFloat] = [24, 18, 14, 10, 8]
|
||||
RoundedRectangle(cornerRadius: 1)
|
||||
.fill(
|
||||
LinearGradient(
|
||||
colors: [Color(red: 0, green: 1, blue: 0.82), Color(red: 1, green: 0, blue: 0.8)],
|
||||
startPoint: .top,
|
||||
endPoint: .bottom
|
||||
)
|
||||
)
|
||||
.frame(width: 4, height: heights[index])
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user