opt: member prInfo

Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-03-30 17:16:10 +08:00
parent 9da3a538fb
commit e89bd2fedf

View File

@@ -535,12 +535,15 @@ class UserInfoCard extends StatelessWidget {
], ],
), ),
..._buildLeft(context), ..._buildLeft(context),
if (card.prInfo?.content?.isNotEmpty == true) if (card.prInfo?.content?.isNotEmpty == true) buildPrInfo,
Builder(builder: (context) { const SizedBox(height: 5),
],
);
Widget get buildPrInfo => Builder(builder: (context) {
final isDark = Theme.of(context).brightness == Brightness.dark; final isDark = Theme.of(context).brightness == Brightness.dark;
final textColor = isDark final textColor = isDark
? Color(int.parse( ? Color(int.parse('FF${card.prInfo?.textColorNight?.substring(1)}',
'FF${card.prInfo?.textColorNight?.substring(1)}',
radix: 16)) radix: 16))
: Color(int.parse('FF${card.prInfo?.textColor?.substring(1)}', : Color(int.parse('FF${card.prInfo?.textColor?.substring(1)}',
radix: 16)); radix: 16));
@@ -552,19 +555,16 @@ class UserInfoCard extends StatelessWidget {
}, },
child: Container( child: Container(
margin: const EdgeInsets.only(top: 8), margin: const EdgeInsets.only(top: 8),
padding: padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
color: isDark color: isDark
? Color(int.parse( ? Color(int.parse(
'FF${card.prInfo?.bgColorNight?.substring(1)}', 'FF${card.prInfo?.bgColorNight?.substring(1)}',
radix: 16)) radix: 16))
: Color(int.parse( : Color(int.parse('FF${card.prInfo?.bgColor?.substring(1)}',
'FF${card.prInfo?.bgColor?.substring(1)}',
radix: 16)), radix: 16)),
child: Row( child: Row(
children: [ children: [
if (isDark && if (isDark && card.prInfo?.iconNight?.isNotEmpty == true) ...[
card.prInfo?.iconNight?.isNotEmpty == true) ...[
CachedNetworkImage( CachedNetworkImage(
imageUrl: card.prInfo!.iconNight!, imageUrl: card.prInfo!.iconNight!,
height: 20, height: 20,
@@ -594,10 +594,7 @@ class UserInfoCard extends StatelessWidget {
), ),
), ),
); );
}), });
const SizedBox(height: 5),
],
);
_buildLiveBadge(context) => GestureDetector( _buildLiveBadge(context) => GestureDetector(
onTap: () { onTap: () {
@@ -638,12 +635,17 @@ class UserInfoCard extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
_buildHeader(context), _buildHeader(context),
Row( SafeArea(
top: false,
bottom: false,
child: Row(
children: [ children: [
SizedBox(width: MediaQuery.paddingOf(context).left),
const SizedBox(width: 20), const SizedBox(width: 20),
Padding( Padding(
padding: const EdgeInsets.symmetric(vertical: 10), padding: EdgeInsets.only(
top: 10,
bottom: card.prInfo?.content?.isNotEmpty == true ? 0 : 10,
),
child: Stack( child: Stack(
clipBehavior: Clip.none, clipBehavior: Clip.none,
children: [ children: [
@@ -668,7 +670,8 @@ class UserInfoCard extends StatelessWidget {
bottom: 0, bottom: 0,
child: _buildBadge(context), child: _buildBadge(context),
), ),
if (live is Map && ((live['liveStatus'] as int?) ?? 0) == 1) if (live is Map &&
((live['liveStatus'] as int?) ?? 0) == 1)
Positioned( Positioned(
left: 0, left: 0,
bottom: -5, bottom: -5,
@@ -690,9 +693,10 @@ class UserInfoCard extends StatelessWidget {
), ),
), ),
Expanded(child: _buildRight(context)), Expanded(child: _buildRight(context)),
SizedBox(width: MediaQuery.paddingOf(context).right),
], ],
), ),
),
if (card.prInfo?.content?.isNotEmpty == true) buildPrInfo,
], ],
); );
} }