mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Show user membership
This commit is contained in:
		@@ -164,6 +164,7 @@ class UsersHelper {
 | 
				
			|||||||
      canPostTexts: data["can_post_texts"],
 | 
					      canPostTexts: data["can_post_texts"],
 | 
				
			||||||
      isFriendsListPublic: data["friend_list_public"],
 | 
					      isFriendsListPublic: data["friend_list_public"],
 | 
				
			||||||
      numberFriends: data["number_friends"],
 | 
					      numberFriends: data["number_friends"],
 | 
				
			||||||
 | 
					      accountCreationTime: data["account_creation_time"],
 | 
				
			||||||
      likes: data["pageLikes"],
 | 
					      likes: data["pageLikes"],
 | 
				
			||||||
      userLike: data["user_like_page"],
 | 
					      userLike: data["user_like_page"],
 | 
				
			||||||
    );
 | 
					    );
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,6 +14,7 @@ class AdvancedUserInfo extends User implements LikeElement {
 | 
				
			|||||||
  final bool canPostTexts;
 | 
					  final bool canPostTexts;
 | 
				
			||||||
  final bool isFriendsListPublic;
 | 
					  final bool isFriendsListPublic;
 | 
				
			||||||
  final int numberFriends;
 | 
					  final int numberFriends;
 | 
				
			||||||
 | 
					  final int accountCreationTime;
 | 
				
			||||||
  bool userLike;
 | 
					  bool userLike;
 | 
				
			||||||
  int likes;
 | 
					  int likes;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -29,12 +30,14 @@ class AdvancedUserInfo extends User implements LikeElement {
 | 
				
			|||||||
    @required this.canPostTexts,
 | 
					    @required this.canPostTexts,
 | 
				
			||||||
    @required this.isFriendsListPublic,
 | 
					    @required this.isFriendsListPublic,
 | 
				
			||||||
    @required this.numberFriends,
 | 
					    @required this.numberFriends,
 | 
				
			||||||
 | 
					    @required this.accountCreationTime,
 | 
				
			||||||
    @required this.userLike,
 | 
					    @required this.userLike,
 | 
				
			||||||
    @required this.likes,
 | 
					    @required this.likes,
 | 
				
			||||||
  })  : assert(publicNote != null),
 | 
					  })  : assert(publicNote != null),
 | 
				
			||||||
        assert(canPostTexts != null),
 | 
					        assert(canPostTexts != null),
 | 
				
			||||||
        assert(isFriendsListPublic != null),
 | 
					        assert(isFriendsListPublic != null),
 | 
				
			||||||
        assert(numberFriends != null),
 | 
					        assert(numberFriends != null),
 | 
				
			||||||
 | 
					        assert(accountCreationTime != null),
 | 
				
			||||||
        assert(userLike != null),
 | 
					        assert(userLike != null),
 | 
				
			||||||
        assert(likes != null),
 | 
					        assert(likes != null),
 | 
				
			||||||
        super(
 | 
					        super(
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,6 +10,8 @@ import 'package:comunic/ui/widgets/post_create_form_widget.dart';
 | 
				
			|||||||
import 'package:comunic/ui/widgets/posts_list_widget.dart';
 | 
					import 'package:comunic/ui/widgets/posts_list_widget.dart';
 | 
				
			||||||
import 'package:comunic/utils/account_utils.dart';
 | 
					import 'package:comunic/utils/account_utils.dart';
 | 
				
			||||||
import 'package:comunic/utils/conversations_utils.dart';
 | 
					import 'package:comunic/utils/conversations_utils.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/utils/date_utils.dart';
 | 
				
			||||||
 | 
					import 'package:comunic/utils/intl_utils.dart';
 | 
				
			||||||
import 'package:flutter/material.dart';
 | 
					import 'package:flutter/material.dart';
 | 
				
			||||||
import 'package:flutter/rendering.dart';
 | 
					import 'package:flutter/rendering.dart';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -138,7 +140,19 @@ class _UserPageTabletState extends State<UserPageTablet> {
 | 
				
			|||||||
      );
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /// Build user information card
 | 
					  /// Build user information card
 | 
				
			||||||
  Widget _buildAboutCard() => Container();
 | 
					  Widget _buildAboutCard() => _LeftPaneContainer(
 | 
				
			||||||
 | 
					        child: Column(
 | 
				
			||||||
 | 
					          children: <Widget>[
 | 
				
			||||||
 | 
					            // User membership
 | 
				
			||||||
 | 
					            _AboutUserEntry(
 | 
				
			||||||
 | 
					                icon: Icons.access_time,
 | 
				
			||||||
 | 
					                title: tr("Membership"),
 | 
				
			||||||
 | 
					                value: tr("Member for %t%", args: {
 | 
				
			||||||
 | 
					                  "t": diffTimeFromNowToStr(_userInfo.accountCreationTime)
 | 
				
			||||||
 | 
					                })),
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class _LeftPaneContainer extends StatelessWidget {
 | 
					class _LeftPaneContainer extends StatelessWidget {
 | 
				
			||||||
@@ -171,3 +185,42 @@ class _MainCardSpacer extends StatelessWidget {
 | 
				
			|||||||
  Widget build(BuildContext context) =>
 | 
					  Widget build(BuildContext context) =>
 | 
				
			||||||
      visible ? SizedBox(height: 10) : Container();
 | 
					      visible ? SizedBox(height: 10) : Container();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class _AboutUserEntry extends StatelessWidget {
 | 
				
			||||||
 | 
					  final IconData icon;
 | 
				
			||||||
 | 
					  final String title;
 | 
				
			||||||
 | 
					  final String value;
 | 
				
			||||||
 | 
					  final bool visible;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  const _AboutUserEntry({
 | 
				
			||||||
 | 
					    Key key,
 | 
				
			||||||
 | 
					    @required this.icon,
 | 
				
			||||||
 | 
					    @required this.title,
 | 
				
			||||||
 | 
					    @required this.value,
 | 
				
			||||||
 | 
					    this.visible = true,
 | 
				
			||||||
 | 
					  })  : assert(icon != null),
 | 
				
			||||||
 | 
					        assert(title != null),
 | 
				
			||||||
 | 
					        assert(visible != null),
 | 
				
			||||||
 | 
					        super(key: key);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  @override
 | 
				
			||||||
 | 
					  Widget build(BuildContext context) {
 | 
				
			||||||
 | 
					    if (!visible) return Container();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return ListTile(
 | 
				
			||||||
 | 
					      title: RichText(
 | 
				
			||||||
 | 
					        text: TextSpan(
 | 
				
			||||||
 | 
					          children: [
 | 
				
			||||||
 | 
					            WidgetSpan(
 | 
				
			||||||
 | 
					              child: Icon(icon, size: 15),
 | 
				
			||||||
 | 
					              alignment: PlaceholderAlignment.middle,
 | 
				
			||||||
 | 
					            ),
 | 
				
			||||||
 | 
					            TextSpan(text: " $title")
 | 
				
			||||||
 | 
					          ],
 | 
				
			||||||
 | 
					        ),
 | 
				
			||||||
 | 
					      ),
 | 
				
			||||||
 | 
					      subtitle: Text(value),
 | 
				
			||||||
 | 
					      dense: true,
 | 
				
			||||||
 | 
					    );
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user