Skip to content

Commit

Permalink
💄(mobile) Hide section if author links are empty
Browse files Browse the repository at this point in the history
  • Loading branch information
rootasjey committed Jun 5, 2020
1 parent f22e59f commit eac065e
Show file tree
Hide file tree
Showing 2 changed files with 89 additions and 68 deletions.
144 changes: 76 additions & 68 deletions lib/screens/author_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -422,89 +422,97 @@ class _AuthorPageState extends State<AuthorPage> {
),
),
),

Divider(height: 50.0,),
],
);
}

Widget links() {
final urls = author.urls;

return SizedBox(
height: 200.0,
child: ListView(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
children: <Widget>[
if (urls.wikipedia.isNotEmpty)
Observer(
builder: (_) {
return customLinkCard(
name: 'Wikipedia',
url: urls.wikipedia,
imageUrl: 'assets/images/wikipedia-${stateColors.iconExt}.png',
);
},
),
if (urls.areLinksEmpty()) {
return Padding(padding: EdgeInsets.zero,);
}

if (urls.website.isNotEmpty)
customLinkCard(
name: 'Website',
url: urls.website,
imageUrl: 'assets/images/world-globe.png',
),
return Column(
children: <Widget>[
Divider(height: 50.0,),

if (urls.amazon.isNotEmpty)
customLinkCard(
name: 'Amazon',
url: urls.amazon,
imageUrl: 'assets/images/amazon.png',
),
SizedBox(
height: 200.0,
child: ListView(
shrinkWrap: true,
scrollDirection: Axis.horizontal,
children: <Widget>[
if (urls.wikipedia.isNotEmpty)
Observer(
builder: (_) {
return customLinkCard(
name: 'Wikipedia',
url: urls.wikipedia,
imageUrl: 'assets/images/wikipedia-${stateColors.iconExt}.png',
);
},
),

if (urls.facebook.isNotEmpty)
customLinkCard(
name: 'Facebook',
url: urls.facebook,
imageUrl: 'assets/images/facebook.png',
),
if (urls.website.isNotEmpty)
customLinkCard(
name: 'Website',
url: urls.website,
imageUrl: 'assets/images/world-globe.png',
),

if (urls.netflix.isNotEmpty)
customLinkCard(
name: 'Netflix',
url: urls.netflix,
imageUrl: 'assets/images/netflix.png',
),
if (urls.amazon.isNotEmpty)
customLinkCard(
name: 'Amazon',
url: urls.amazon,
imageUrl: 'assets/images/amazon.png',
),

if (urls.primeVideo.isNotEmpty)
customLinkCard(
name: 'Prime Video',
url: urls.primeVideo,
imageUrl: 'assets/images/prime-video.png',
),
if (urls.facebook.isNotEmpty)
customLinkCard(
name: 'Facebook',
url: urls.facebook,
imageUrl: 'assets/images/facebook.png',
),

if (urls.twitch.isNotEmpty)
customLinkCard(
name: 'Twitch',
url: urls.twitch,
imageUrl: 'assets/images/twitch.png',
),
if (urls.netflix.isNotEmpty)
customLinkCard(
name: 'Netflix',
url: urls.netflix,
imageUrl: 'assets/images/netflix.png',
),

if (urls.twitter.isNotEmpty)
customLinkCard(
name: 'Twitter',
url: urls.twitter,
imageUrl: 'assets/images/twitter.png',
),
if (urls.primeVideo.isNotEmpty)
customLinkCard(
name: 'Prime Video',
url: urls.primeVideo,
imageUrl: 'assets/images/prime-video.png',
),

if (urls.youtube.isNotEmpty)
customLinkCard(
name: 'Youtube',
url: urls.youtube,
imageUrl: 'assets/images/youtube.png',
),
],
),
if (urls.twitch.isNotEmpty)
customLinkCard(
name: 'Twitch',
url: urls.twitch,
imageUrl: 'assets/images/twitch.png',
),

if (urls.twitter.isNotEmpty)
customLinkCard(
name: 'Twitter',
url: urls.twitter,
imageUrl: 'assets/images/twitter.png',
),

if (urls.youtube.isNotEmpty)
customLinkCard(
name: 'Youtube',
url: urls.youtube,
imageUrl: 'assets/images/youtube.png',
),
],
),
),
],
);
}

Expand Down
13 changes: 13 additions & 0 deletions lib/types/urls.dart
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,19 @@ class Urls {
this.youtube = '',
});

bool areLinksEmpty() {
return affiliate.isEmpty &&
amazon.isEmpty &&
facebook.isEmpty &&
netflix.isEmpty &&
primeVideo.isEmpty &&
twitch.isEmpty &&
twitter.isEmpty &&
website.isEmpty &&
wikipedia.isEmpty &&
youtube.isEmpty;
}

factory Urls.fromJSON(Map<String, dynamic> json) {
return Urls(
affiliate : json['affiliate'] ?? '',
Expand Down

0 comments on commit eac065e

Please sign in to comment.