import 'package:comunic/helpers/users_helper.dart'; import 'package:comunic/models/user.dart'; import 'package:comunic/ui/widgets/async_screen_widget.dart'; import 'package:comunic/ui/widgets/network_image_widget.dart'; import 'package:comunic/utils/account_utils.dart'; import 'package:comunic/utils/intl_utils.dart'; import 'package:flutter/material.dart'; /// Emojies account settings /// /// @author Pierre Hubert class EmojisAccountSettings extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(tr("Emojies settings")), ), body: _EmojiesAccountBody(), ); } } class _EmojiesAccountBody extends StatefulWidget { @override __EmojiesAccountBodyState createState() => __EmojiesAccountBodyState(); } class __EmojiesAccountBodyState extends State<_EmojiesAccountBody> { User _user; Future _reload() async { _user = await UsersHelper().getSingleWithThrow( userID(), forceDownload: true, ); } @override Widget build(BuildContext context) { return AsyncScreenWidget( onReload: _reload, onBuild: _buildSettings, errorMessage: tr("Could not refresh user information!"), ); } Widget _buildSettings() { return ListView( children: _user.customEmojies .map((u) => ListTile( leading: NetworkImageWidget(url: u.url, width: 50), title: Text(u.shortcut), )) .toList()); } }