Skip to content

Conversation

@mixdesign
Copy link

@mixdesign mixdesign commented May 26, 2024

Hey!
Thanks for great lib which we use in our Sajda app for a long time.

Sajda - is a super app for Muslims with more than 3 million MAU and 1.5 million DAU.

We faced with a small limitation in DrawerView. When I would like to set a backgroundEffect to systemDefault, for light mode I can not set it to .extraLight or some other values iOS provides!

So, this PR basically adds this customization for both dark and light modes, without changing the current behavior.

Regards.

@mixdesign mixdesign changed the title Introduce new public properties darkBlurEffectStyle and lightBlurEffe… Customize backgroundEffect blur styles for BackgroundEffectStyle.systemDefault May 26, 2024
}

/// The background blur effect style for light mode.
public var lightBlurEffectStyle: UIBlurEffect.Style = .light {
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, for some reason developers may set a dark style for light mode, but, seems like we shouldn't make a limitation on it, because for some kind of Themes, developers may want to set .light for dark mode and .extraLight for light mode. You know what I mean? :)

@mkko
Copy link
Owner

mkko commented May 27, 2024

Hey, thank you for the great feedback. Also thank you chiming in on this.

I would hope to integrate the whole style using the given trait collection (user interface style, accessibility contrast). I'd be more than happy to add support for these. Unfortunately I don't have time to write a full example, but what would you think about something following:

public var backgroundEffect: (TraitCollection) -> UIVisualEffect?

This would be similar to what UIColor has. UIColor has this great UIColor(dynamicProvider: (UITraitCollection) -> UIColor>) constructor, but unfortunately UIVisualEffect doesn't, at least to my knowledge. With this dynamic provider, we could get rid of the custom BackgroundEffectStyle altogehter.

Generally I would think that people either care about the dark mode or don't. When they don't, they might skip setting the value which would lead to difficult to detect bugs in their apps. Similar to setting only a background color of a label to fixed value but not realizing that the text color is still dnyamic. WDYT?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants