chore: remove AvatarTheme
This commit is contained in:
@@ -62,7 +62,6 @@ class StreamChatThemeData {
|
|||||||
ChannelListViewThemeData? channelListViewTheme,
|
ChannelListViewThemeData? channelListViewTheme,
|
||||||
UserListViewThemeData? userListViewTheme,
|
UserListViewThemeData? userListViewTheme,
|
||||||
MessageSearchListViewThemeData? messageSearchListViewTheme,
|
MessageSearchListViewThemeData? messageSearchListViewTheme,
|
||||||
AvatarThemeData? avatarTheme,
|
|
||||||
}) {
|
}) {
|
||||||
brightness ??= colorTheme?.brightness ?? Brightness.light;
|
brightness ??= colorTheme?.brightness ?? Brightness.light;
|
||||||
final isDark = brightness == Brightness.dark;
|
final isDark = brightness == Brightness.dark;
|
||||||
@@ -90,7 +89,6 @@ class StreamChatThemeData {
|
|||||||
channelListViewTheme: channelListViewTheme,
|
channelListViewTheme: channelListViewTheme,
|
||||||
userListViewTheme: userListViewTheme,
|
userListViewTheme: userListViewTheme,
|
||||||
messageSearchListViewTheme: messageSearchListViewTheme,
|
messageSearchListViewTheme: messageSearchListViewTheme,
|
||||||
avatarTheme: avatarTheme,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
return defaultData.merge(customizedData);
|
return defaultData.merge(customizedData);
|
||||||
@@ -123,7 +121,6 @@ class StreamChatThemeData {
|
|||||||
required this.channelListViewTheme,
|
required this.channelListViewTheme,
|
||||||
required this.userListViewTheme,
|
required this.userListViewTheme,
|
||||||
required this.messageSearchListViewTheme,
|
required this.messageSearchListViewTheme,
|
||||||
required this.avatarTheme,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
/// Create a theme from a Material [Theme]
|
/// Create a theme from a Material [Theme]
|
||||||
@@ -191,9 +188,6 @@ class StreamChatThemeData {
|
|||||||
/// Theme configuration for the [MessageSearchListView] widget.
|
/// Theme configuration for the [MessageSearchListView] widget.
|
||||||
final MessageSearchListViewThemeData messageSearchListViewTheme;
|
final MessageSearchListViewThemeData messageSearchListViewTheme;
|
||||||
|
|
||||||
/// Theme configuration for the [UserAvatar] widget.
|
|
||||||
final AvatarThemeData avatarTheme;
|
|
||||||
|
|
||||||
/// Creates a copy of [StreamChatThemeData] with specified attributes
|
/// Creates a copy of [StreamChatThemeData] with specified attributes
|
||||||
/// overridden.
|
/// overridden.
|
||||||
StreamChatThemeData copyWith({
|
StreamChatThemeData copyWith({
|
||||||
@@ -214,7 +208,6 @@ class StreamChatThemeData {
|
|||||||
ChannelListViewThemeData? channelListViewTheme,
|
ChannelListViewThemeData? channelListViewTheme,
|
||||||
UserListViewThemeData? userListViewTheme,
|
UserListViewThemeData? userListViewTheme,
|
||||||
MessageSearchListViewThemeData? messageSearchListViewTheme,
|
MessageSearchListViewThemeData? messageSearchListViewTheme,
|
||||||
AvatarThemeData? avatarTheme,
|
|
||||||
}) =>
|
}) =>
|
||||||
StreamChatThemeData.raw(
|
StreamChatThemeData.raw(
|
||||||
channelListHeaderTheme:
|
channelListHeaderTheme:
|
||||||
@@ -237,7 +230,6 @@ class StreamChatThemeData {
|
|||||||
userListViewTheme: userListViewTheme ?? this.userListViewTheme,
|
userListViewTheme: userListViewTheme ?? this.userListViewTheme,
|
||||||
messageSearchListViewTheme:
|
messageSearchListViewTheme:
|
||||||
messageSearchListViewTheme ?? this.messageSearchListViewTheme,
|
messageSearchListViewTheme ?? this.messageSearchListViewTheme,
|
||||||
avatarTheme: avatarTheme ?? this.avatarTheme,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
/// Merge themes
|
/// Merge themes
|
||||||
@@ -265,7 +257,6 @@ class StreamChatThemeData {
|
|||||||
userListViewTheme: userListViewTheme.merge(other.userListViewTheme),
|
userListViewTheme: userListViewTheme.merge(other.userListViewTheme),
|
||||||
messageSearchListViewTheme:
|
messageSearchListViewTheme:
|
||||||
messageSearchListViewTheme.merge(other.messageSearchListViewTheme),
|
messageSearchListViewTheme.merge(other.messageSearchListViewTheme),
|
||||||
avatarTheme: avatarTheme.merge(other.avatarTheme),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -496,9 +487,6 @@ class StreamChatThemeData {
|
|||||||
messageSearchListViewTheme: MessageSearchListViewThemeData(
|
messageSearchListViewTheme: MessageSearchListViewThemeData(
|
||||||
backgroundColor: colorTheme.appBg,
|
backgroundColor: colorTheme.appBg,
|
||||||
),
|
),
|
||||||
avatarTheme: AvatarThemeData(
|
|
||||||
borderRadius: BorderRadius.circular(20),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,59 +1,7 @@
|
|||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:stream_chat_flutter/src/stream_chat_theme.dart';
|
|
||||||
import 'package:stream_chat_flutter/src/theme/themes.dart';
|
|
||||||
|
|
||||||
/// Overrides the default style of [UserAvatar] descendants.
|
/// A style that overrides the default appearance of various avatar widgets.
|
||||||
///
|
|
||||||
/// See also:
|
|
||||||
///
|
|
||||||
/// * [AvatarThemeData], which is used to configure this theme.
|
|
||||||
class AvatarTheme extends InheritedTheme {
|
|
||||||
/// Creates an [AvatarTheme].
|
|
||||||
///
|
|
||||||
/// The [data] parameter must not be null.
|
|
||||||
const AvatarTheme({
|
|
||||||
Key? key,
|
|
||||||
required this.data,
|
|
||||||
required Widget child,
|
|
||||||
}) : super(key: key, child: child);
|
|
||||||
|
|
||||||
/// The configuration of this theme.
|
|
||||||
final AvatarThemeData data;
|
|
||||||
|
|
||||||
/// The closest instance of this class that encloses the given context.
|
|
||||||
///
|
|
||||||
/// If there is no enclosing [GalleryHeaderTheme] widget, then
|
|
||||||
/// [StreamChatThemeData.avatarTheme] is used.
|
|
||||||
///
|
|
||||||
/// Typical usage is as follows:
|
|
||||||
///
|
|
||||||
/// ```dart
|
|
||||||
/// final theme = AvatarTheme.of(context);
|
|
||||||
/// ```
|
|
||||||
static AvatarThemeData of(BuildContext context) {
|
|
||||||
final avatarTheme =
|
|
||||||
context.dependOnInheritedWidgetOfExactType<AvatarTheme>();
|
|
||||||
return avatarTheme?.data ?? StreamChatTheme.of(context).avatarTheme;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget wrap(BuildContext context, Widget child) =>
|
|
||||||
AvatarTheme(data: data, child: child);
|
|
||||||
|
|
||||||
@override
|
|
||||||
bool updateShouldNotify(AvatarTheme oldWidget) => data != oldWidget.data;
|
|
||||||
}
|
|
||||||
|
|
||||||
/// A style that overrides the default appearance of [UserAvatar]s when used
|
|
||||||
/// with [AvatarTheme] or with the overall [StreamChatTheme]'s
|
|
||||||
/// [StreamChatThemeData.avatarTheme].
|
|
||||||
///
|
|
||||||
/// See also:
|
|
||||||
///
|
|
||||||
/// * [AvatarTheme], the theme which is configured with this class.
|
|
||||||
/// * [StreamChatThemeData.avatarTheme], which can be used to override
|
|
||||||
/// the default style for [UserAvatar]s below the overall [StreamChatTheme].
|
|
||||||
class AvatarThemeData with Diagnosticable {
|
class AvatarThemeData with Diagnosticable {
|
||||||
/// Creates an [AvatarThemeData].
|
/// Creates an [AvatarThemeData].
|
||||||
const AvatarThemeData({
|
const AvatarThemeData({
|
||||||
|
|||||||
Reference in New Issue
Block a user