diff --git a/lib/helpers/users_helper.dart b/lib/helpers/users_helper.dart index 5596126..d4b4eef 100644 --- a/lib/helpers/users_helper.dart +++ b/lib/helpers/users_helper.dart @@ -165,6 +165,7 @@ class UsersHelper { isFriendsListPublic: data["friend_list_public"], numberFriends: data["number_friends"], accountCreationTime: data["account_creation_time"], + personalWebsite: data["personnalWebsite"], likes: data["pageLikes"], userLike: data["user_like_page"], ); diff --git a/lib/models/advanced_user_info.dart b/lib/models/advanced_user_info.dart index 0263e8c..ce90de5 100644 --- a/lib/models/advanced_user_info.dart +++ b/lib/models/advanced_user_info.dart @@ -15,6 +15,7 @@ class AdvancedUserInfo extends User implements LikeElement { final bool isFriendsListPublic; final int numberFriends; final int accountCreationTime; + final String personalWebsite; bool userLike; int likes; @@ -31,6 +32,7 @@ class AdvancedUserInfo extends User implements LikeElement { @required this.isFriendsListPublic, @required this.numberFriends, @required this.accountCreationTime, + @required this.personalWebsite, @required this.userLike, @required this.likes, }) : assert(publicNote != null), @@ -38,6 +40,7 @@ class AdvancedUserInfo extends User implements LikeElement { assert(isFriendsListPublic != null), assert(numberFriends != null), assert(accountCreationTime != null), + assert(personalWebsite != null), assert(userLike != null), assert(likes != null), super( @@ -51,6 +54,8 @@ class AdvancedUserInfo extends User implements LikeElement { bool get hasPublicNote => publicNote.isNotEmpty; + bool get hasPersonalWebsite => personalWebsite.isNotEmpty; + @override LikesType get likeType => LikesType.USER; } diff --git a/lib/ui/widgets/tablet_mode/user_page_tablet.dart b/lib/ui/widgets/tablet_mode/user_page_tablet.dart index 876343f..b22a29b 100644 --- a/lib/ui/widgets/tablet_mode/user_page_tablet.dart +++ b/lib/ui/widgets/tablet_mode/user_page_tablet.dart @@ -1,6 +1,7 @@ import 'package:comunic/enums/post_target.dart'; import 'package:comunic/helpers/posts_helper.dart'; import 'package:comunic/models/advanced_user_info.dart'; +import 'package:comunic/models/displayed_content.dart'; import 'package:comunic/models/friend_status.dart'; import 'package:comunic/ui/routes/main_route/main_route.dart'; import 'package:comunic/ui/widgets/FrienshipStatusWidget.dart'; @@ -8,11 +9,11 @@ import 'package:comunic/ui/widgets/account_image_widget.dart'; import 'package:comunic/ui/widgets/like_widget.dart'; import 'package:comunic/ui/widgets/post_create_form_widget.dart'; import 'package:comunic/ui/widgets/posts_list_widget.dart'; +import 'package:comunic/ui/widgets/text_widget.dart'; import 'package:comunic/utils/account_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:comunic/utils/ui_utils.dart'; import 'package:flutter/material.dart'; import 'package:flutter/rendering.dart'; @@ -156,8 +157,18 @@ class _UserPageTabletState extends State { _AboutUserEntry( icon: Icons.note, title: tr("Note"), - value: parseEmojies(_userInfo.publicNote), + value: _userInfo.publicNote, visible: _userInfo.hasPublicNote, + parsed: true, + ), + + // User website + _AboutUserEntry( + icon: Icons.link, + title: tr("Website"), + value: _userInfo.personalWebsite, + visible: _userInfo.hasPersonalWebsite, + parsed: true, ), ], ), @@ -200,6 +211,7 @@ class _AboutUserEntry extends StatelessWidget { final String title; final String value; final bool visible; + final bool parsed; const _AboutUserEntry({ Key key, @@ -207,6 +219,7 @@ class _AboutUserEntry extends StatelessWidget { @required this.title, @required this.value, this.visible = true, + this.parsed = false, }) : assert(icon != null), assert(title != null), assert(visible != null), @@ -228,7 +241,12 @@ class _AboutUserEntry extends StatelessWidget { ], ), ), - subtitle: Text(value), + subtitle: parsed + ? TextWidget( + content: DisplayedString(value), + style: TextStyle(), + ) + : Text(value), dense: true, ); }