refactor: rename show image references to blur images
Closes: https://github.com/damus-io/damus/pull/1745 Reviewed-by: William Casarin <jb55@jb55.com> Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
committed by
William Casarin
parent
3c11ba53ce
commit
dfcef0ba95
@@ -107,8 +107,8 @@ class UserSettingsStore: ObservableObject {
|
|||||||
@Setting(key: "left_handed", default_value: false)
|
@Setting(key: "left_handed", default_value: false)
|
||||||
var left_handed: Bool
|
var left_handed: Bool
|
||||||
|
|
||||||
@Setting(key: "always_show_images", default_value: false)
|
@Setting(key: "blur_images", default_value: true)
|
||||||
var always_show_images: Bool
|
var blur_images: Bool
|
||||||
|
|
||||||
@Setting(key: "media_previews", default_value: true)
|
@Setting(key: "media_previews", default_value: true)
|
||||||
var media_previews: Bool
|
var media_previews: Bool
|
||||||
|
|||||||
@@ -39,10 +39,10 @@ struct DMView: View {
|
|||||||
Spacer(minLength: UIScreen.main.bounds.width * 0.2)
|
Spacer(minLength: UIScreen.main.bounds.width * 0.2)
|
||||||
}
|
}
|
||||||
|
|
||||||
let should_show_img = should_show_images(settings: damus_state.settings, contacts: damus_state.contacts, ev: event, our_pubkey: damus_state.pubkey)
|
let should_blur_img = should_blur_images(settings: damus_state.settings, contacts: damus_state.contacts, ev: event, our_pubkey: damus_state.pubkey)
|
||||||
|
|
||||||
VStack(alignment: .trailing) {
|
VStack(alignment: .trailing) {
|
||||||
NoteContentView(damus_state: damus_state, event: event, show_images: should_show_img, size: .normal, options: dm_options)
|
NoteContentView(damus_state: damus_state, event: event, blur_images: should_blur_img, size: .normal, options: dm_options)
|
||||||
.fixedSize(horizontal: false, vertical: true)
|
.fixedSize(horizontal: false, vertical: true)
|
||||||
.padding([.top, .leading, .trailing], 10)
|
.padding([.top, .leading, .trailing], 10)
|
||||||
.padding([.bottom], 25)
|
.padding([.bottom], 25)
|
||||||
|
|||||||
@@ -54,21 +54,21 @@ struct EventView: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// blame the porn bots for this code
|
// blame the porn bots for this code
|
||||||
func should_show_images(settings: UserSettingsStore, contacts: Contacts, ev: NostrEvent, our_pubkey: Pubkey, booster_pubkey: Pubkey? = nil) -> Bool {
|
func should_blur_images(settings: UserSettingsStore, contacts: Contacts, ev: NostrEvent, our_pubkey: Pubkey, booster_pubkey: Pubkey? = nil) -> Bool {
|
||||||
if settings.always_show_images {
|
if !settings.blur_images {
|
||||||
return true
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
if ev.pubkey == our_pubkey {
|
if ev.pubkey == our_pubkey {
|
||||||
return true
|
return false
|
||||||
}
|
}
|
||||||
if contacts.is_in_friendosphere(ev.pubkey) {
|
if contacts.is_in_friendosphere(ev.pubkey) {
|
||||||
return true
|
return false
|
||||||
}
|
}
|
||||||
if let boost_key = booster_pubkey, contacts.is_in_friendosphere(boost_key) {
|
if let boost_key = booster_pubkey, contacts.is_in_friendosphere(boost_key) {
|
||||||
return true
|
return false
|
||||||
}
|
}
|
||||||
return false
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func format_relative_time(_ created_at: UInt32) -> String
|
func format_relative_time(_ created_at: UInt32) -> String
|
||||||
|
|||||||
@@ -11,19 +11,19 @@ struct EventBody: View {
|
|||||||
let damus_state: DamusState
|
let damus_state: DamusState
|
||||||
let event: NostrEvent
|
let event: NostrEvent
|
||||||
let size: EventViewKind
|
let size: EventViewKind
|
||||||
let should_show_img: Bool
|
let should_blur_img: Bool
|
||||||
let options: EventViewOptions
|
let options: EventViewOptions
|
||||||
|
|
||||||
init(damus_state: DamusState, event: NostrEvent, size: EventViewKind, should_show_img: Bool? = nil, options: EventViewOptions) {
|
init(damus_state: DamusState, event: NostrEvent, size: EventViewKind, should_blur_img: Bool? = nil, options: EventViewOptions) {
|
||||||
self.damus_state = damus_state
|
self.damus_state = damus_state
|
||||||
self.event = event
|
self.event = event
|
||||||
self.size = size
|
self.size = size
|
||||||
self.options = options
|
self.options = options
|
||||||
self.should_show_img = should_show_img ?? should_show_images(settings: damus_state.settings, contacts: damus_state.contacts, ev: event, our_pubkey: damus_state.pubkey)
|
self.should_blur_img = should_blur_img ?? should_blur_images(settings: damus_state.settings, contacts: damus_state.contacts, ev: event, our_pubkey: damus_state.pubkey)
|
||||||
}
|
}
|
||||||
|
|
||||||
var note_content: some View {
|
var note_content: some View {
|
||||||
NoteContentView(damus_state: damus_state, event: event, show_images: should_show_img, size: size, options: options)
|
NoteContentView(damus_state: damus_state, event: event, blur_images: should_blur_img, size: size, options: options)
|
||||||
.frame(maxWidth: .infinity, alignment: .leading)
|
.frame(maxWidth: .infinity, alignment: .leading)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ struct LongformView: View {
|
|||||||
EventShell(state: state, event: event.event, options: options) {
|
EventShell(state: state, event: event.event, options: options) {
|
||||||
SelectableText(attributedString: AttributedString(stringLiteral: event.title ?? "Untitled"), size: .title)
|
SelectableText(attributedString: AttributedString(stringLiteral: event.title ?? "Untitled"), size: .title)
|
||||||
|
|
||||||
NoteContentView(damus_state: state, event: event.event, show_images: true, size: .selected, options: options)
|
NoteContentView(damus_state: state, event: event.event, blur_images: false, size: .selected, options: options)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,11 +45,11 @@ struct TextEvent: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func EvBody(options: EventViewOptions) -> some View {
|
func EvBody(options: EventViewOptions) -> some View {
|
||||||
let show_imgs = should_show_images(settings: damus.settings, contacts: damus.contacts, ev: event, our_pubkey: damus.pubkey)
|
let blur_imgs = should_blur_images(settings: damus.settings, contacts: damus.contacts, ev: event, our_pubkey: damus.pubkey)
|
||||||
return NoteContentView(
|
return NoteContentView(
|
||||||
damus_state: damus,
|
damus_state: damus,
|
||||||
event: event,
|
event: event,
|
||||||
show_images: show_imgs,
|
blur_images: blur_imgs,
|
||||||
size: .normal,
|
size: .normal,
|
||||||
options: options
|
options: options
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ struct NoteContentView: View {
|
|||||||
|
|
||||||
let damus_state: DamusState
|
let damus_state: DamusState
|
||||||
let event: NostrEvent
|
let event: NostrEvent
|
||||||
@State var show_images: Bool
|
@State var blur_images: Bool
|
||||||
@State var load_media: Bool = false
|
@State var load_media: Bool = false
|
||||||
let size: EventViewKind
|
let size: EventViewKind
|
||||||
let preview_height: CGFloat?
|
let preview_height: CGFloat?
|
||||||
@@ -40,10 +40,10 @@ struct NoteContentView: View {
|
|||||||
return self.artifacts_model.state.artifacts ?? .separated(.just_content(event.get_content(damus_state.keypair)))
|
return self.artifacts_model.state.artifacts ?? .separated(.just_content(event.get_content(damus_state.keypair)))
|
||||||
}
|
}
|
||||||
|
|
||||||
init(damus_state: DamusState, event: NostrEvent, show_images: Bool, size: EventViewKind, options: EventViewOptions) {
|
init(damus_state: DamusState, event: NostrEvent, blur_images: Bool, size: EventViewKind, options: EventViewOptions) {
|
||||||
self.damus_state = damus_state
|
self.damus_state = damus_state
|
||||||
self.event = event
|
self.event = event
|
||||||
self.show_images = show_images
|
self.blur_images = blur_images
|
||||||
self.size = size
|
self.size = size
|
||||||
self.options = options
|
self.options = options
|
||||||
self.preview_height = lookup_cached_preview_size(previews: damus_state.previews, evid: event.id)
|
self.preview_height = lookup_cached_preview_size(previews: damus_state.previews, evid: event.id)
|
||||||
@@ -62,7 +62,7 @@ struct NoteContentView: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var preview: LinkViewRepresentable? {
|
var preview: LinkViewRepresentable? {
|
||||||
guard show_images,
|
guard blur_images,
|
||||||
case .loaded(let preview) = preview_model.state,
|
case .loaded(let preview) = preview_model.state,
|
||||||
case .value(let cached) = preview else {
|
case .value(let cached) = preview else {
|
||||||
return nil
|
return nil
|
||||||
@@ -93,7 +93,7 @@ struct NoteContentView: View {
|
|||||||
|
|
||||||
func previewView(links: [URL]) -> some View {
|
func previewView(links: [URL]) -> some View {
|
||||||
Group {
|
Group {
|
||||||
if let preview = self.preview, show_images {
|
if let preview = self.preview, blur_images {
|
||||||
if let preview_height {
|
if let preview_height {
|
||||||
preview
|
preview
|
||||||
.frame(height: preview_height)
|
.frame(height: preview_height)
|
||||||
@@ -137,14 +137,14 @@ struct NoteContentView: View {
|
|||||||
if artifacts.media.count > 0 {
|
if artifacts.media.count > 0 {
|
||||||
if !damus_state.settings.media_previews && !load_media {
|
if !damus_state.settings.media_previews && !load_media {
|
||||||
loadMediaButton(artifacts: artifacts)
|
loadMediaButton(artifacts: artifacts)
|
||||||
} else if show_images || (show_images && !damus_state.settings.media_previews && load_media) {
|
} else if !blur_images || (!blur_images && !damus_state.settings.media_previews && load_media) {
|
||||||
ImageCarousel(state: damus_state, evid: event.id, urls: artifacts.media)
|
ImageCarousel(state: damus_state, evid: event.id, urls: artifacts.media)
|
||||||
} else if !show_images || (!show_images && !damus_state.settings.media_previews && load_media) {
|
} else if blur_images || (blur_images && !damus_state.settings.media_previews && load_media) {
|
||||||
ZStack {
|
ZStack {
|
||||||
ImageCarousel(state: damus_state, evid: event.id, urls: artifacts.media)
|
ImageCarousel(state: damus_state, evid: event.id, urls: artifacts.media)
|
||||||
Blur()
|
Blur()
|
||||||
.onTapGesture {
|
.onTapGesture {
|
||||||
show_images = true
|
blur_images = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -661,17 +661,17 @@ struct NoteContentView_Previews: PreviewProvider {
|
|||||||
|
|
||||||
Group {
|
Group {
|
||||||
VStack {
|
VStack {
|
||||||
NoteContentView(damus_state: state, event: test_note, show_images: true, size: .normal, options: [])
|
NoteContentView(damus_state: state, event: test_note, blur_images: false, size: .normal, options: [])
|
||||||
}
|
}
|
||||||
.previewDisplayName("Short note")
|
.previewDisplayName("Short note")
|
||||||
|
|
||||||
VStack {
|
VStack {
|
||||||
NoteContentView(damus_state: state, event: test_encoded_note_with_image!, show_images: true, size: .normal, options: [])
|
NoteContentView(damus_state: state, event: test_encoded_note_with_image!, blur_images: false, size: .normal, options: [])
|
||||||
}
|
}
|
||||||
.previewDisplayName("Note with image")
|
.previewDisplayName("Note with image")
|
||||||
|
|
||||||
VStack {
|
VStack {
|
||||||
NoteContentView(damus_state: state2, event: test_longform_event.event, show_images: true, size: .normal, options: [.wide])
|
NoteContentView(damus_state: state2, event: test_longform_event.event, blur_images: false, size: .normal, options: [.wide])
|
||||||
.border(Color.red)
|
.border(Color.red)
|
||||||
}
|
}
|
||||||
.previewDisplayName("Long-form note")
|
.previewDisplayName("Long-form note")
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ struct AppearanceSettingsView: View {
|
|||||||
// MARK: - Images
|
// MARK: - Images
|
||||||
Section(NSLocalizedString("Images", comment: "Section title for images configuration.")) {
|
Section(NSLocalizedString("Images", comment: "Section title for images configuration.")) {
|
||||||
self.EnableAnimationsToggle
|
self.EnableAnimationsToggle
|
||||||
Toggle(NSLocalizedString("Always show images", comment: "Setting to always show and never blur images"), isOn: $settings.always_show_images)
|
Toggle(NSLocalizedString("Blur images", comment: "Setting to blur images"), isOn: $settings.blur_images)
|
||||||
.toggleStyle(.switch)
|
.toggleStyle(.switch)
|
||||||
|
|
||||||
Toggle(NSLocalizedString("Media previews", comment: "Setting to show media"), isOn: $settings.media_previews)
|
Toggle(NSLocalizedString("Media previews", comment: "Setting to show media"), isOn: $settings.media_previews)
|
||||||
|
|||||||
Reference in New Issue
Block a user