mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 16:25:17 +00:00
Can generate a random account image
This commit is contained in:
@ -6,6 +6,8 @@ import 'package:comunic/utils/files_utils.dart';
|
||||
import 'package:comunic/utils/intl_utils.dart';
|
||||
import 'package:comunic/utils/ui_utils.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:identicon/identicon.dart';
|
||||
import 'package:random_string/random_string.dart';
|
||||
import 'package:settings_ui/settings_ui.dart';
|
||||
|
||||
/// Account image settings section
|
||||
@ -69,11 +71,18 @@ class __AccountImageSettingsBodyState extends State<_AccountImageSettingsBody> {
|
||||
width: 40,
|
||||
),
|
||||
),
|
||||
|
||||
// Upload new account image
|
||||
SettingsTile(
|
||||
title: tr("Upload an account image"),
|
||||
onTap: () => _uploadAccountImage(),
|
||||
),
|
||||
|
||||
// Generate a random account image
|
||||
SettingsTile(
|
||||
title: tr("Generate a random account image"),
|
||||
onTap: () => _generateRandomAccountImage(),
|
||||
),
|
||||
];
|
||||
}
|
||||
|
||||
@ -95,6 +104,12 @@ class __AccountImageSettingsBodyState extends State<_AccountImageSettingsBody> {
|
||||
onTap: () => _uploadAccountImage(),
|
||||
),
|
||||
|
||||
// Generate a random account image
|
||||
SettingsTile(
|
||||
title: tr("Generate a random account image"),
|
||||
onTap: () => _generateRandomAccountImage(),
|
||||
),
|
||||
|
||||
// Change account image visibility
|
||||
SettingsTile(
|
||||
title: tr("Change account image visibility"),
|
||||
@ -131,6 +146,20 @@ class __AccountImageSettingsBodyState extends State<_AccountImageSettingsBody> {
|
||||
_key.currentState.refresh();
|
||||
}
|
||||
|
||||
/// Generate a random account image
|
||||
void _generateRandomAccountImage() async {
|
||||
// Generate emoticon
|
||||
final bytes = Identicon().generate(randomString(10));
|
||||
|
||||
if (!await SettingsHelper.uploadAccountImageFromMemory(bytes)) {
|
||||
showSimpleSnack(
|
||||
context, tr("Could not upload your generated account image!"));
|
||||
return;
|
||||
}
|
||||
|
||||
_key.currentState.refresh();
|
||||
}
|
||||
|
||||
/// Change account image visibility
|
||||
void _chooseAccountImageVisibility() async {
|
||||
final newLevel = await showDialog<AccountImageVisibilityLevels>(
|
||||
|
Reference in New Issue
Block a user