mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Can update user public note
This commit is contained in:
		@@ -16,7 +16,7 @@ class GeneralSettings {
 | 
			
		||||
  bool publicFriendsList;
 | 
			
		||||
  final String virtualDirectory;
 | 
			
		||||
  String personalWebsite;
 | 
			
		||||
  final String publicNote;
 | 
			
		||||
  String publicNote;
 | 
			
		||||
 | 
			
		||||
  GeneralSettings({
 | 
			
		||||
    @required this.email,
 | 
			
		||||
 
 | 
			
		||||
@@ -2,7 +2,10 @@ import 'package:comunic/utils/intl_utils.dart';
 | 
			
		||||
import 'package:flutter/cupertino.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
 | 
			
		||||
/// Ask the user to enter an URL
 | 
			
		||||
/// Dialog to use to ask the user to enter a value
 | 
			
		||||
///
 | 
			
		||||
/// @author Pierre Hubert
 | 
			
		||||
 | 
			
		||||
class SingleInputDialog extends StatefulWidget {
 | 
			
		||||
  final String title;
 | 
			
		||||
  final IconData icon;
 | 
			
		||||
@@ -11,6 +14,8 @@ class SingleInputDialog extends StatefulWidget {
 | 
			
		||||
  final bool Function(String) checkInput;
 | 
			
		||||
  final String errorMessage;
 | 
			
		||||
  final bool canBeEmpty;
 | 
			
		||||
  final int maxLines;
 | 
			
		||||
  final int maxLength;
 | 
			
		||||
 | 
			
		||||
  const SingleInputDialog({
 | 
			
		||||
    Key key,
 | 
			
		||||
@@ -21,10 +26,13 @@ class SingleInputDialog extends StatefulWidget {
 | 
			
		||||
    @required this.checkInput,
 | 
			
		||||
    @required this.errorMessage,
 | 
			
		||||
    this.canBeEmpty = false,
 | 
			
		||||
    this.maxLines = 1,
 | 
			
		||||
    this.maxLength,
 | 
			
		||||
  })  : assert(title != null),
 | 
			
		||||
        assert(label != null),
 | 
			
		||||
        assert(checkInput != null),
 | 
			
		||||
        assert(errorMessage != null),
 | 
			
		||||
        assert(maxLines != null),
 | 
			
		||||
        super(key: key);
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
@@ -51,6 +59,8 @@ class __InputURLDialogState extends State<SingleInputDialog> {
 | 
			
		||||
      content: TextField(
 | 
			
		||||
        controller: _controller,
 | 
			
		||||
        onChanged: (s) => setState(() {}),
 | 
			
		||||
        maxLines: widget.maxLines,
 | 
			
		||||
        maxLength: widget.maxLength,
 | 
			
		||||
        decoration: InputDecoration(
 | 
			
		||||
          icon: widget.icon == null ? null : Icon(widget.icon),
 | 
			
		||||
          alignLabelWithHint: true,
 | 
			
		||||
 
 | 
			
		||||
@@ -192,7 +192,7 @@ class __GeneralAccountSettingsBodyState
 | 
			
		||||
 | 
			
		||||
      // Personal website
 | 
			
		||||
      TextEditSettingsTile(
 | 
			
		||||
        title: tr("Personal website URL"),
 | 
			
		||||
        title: tr("Personal website URL (optional)"),
 | 
			
		||||
        currValue: _settings.personalWebsite,
 | 
			
		||||
        onChanged: (v) {
 | 
			
		||||
          _settings.personalWebsite = v;
 | 
			
		||||
@@ -200,7 +200,20 @@ class __GeneralAccountSettingsBodyState
 | 
			
		||||
        },
 | 
			
		||||
        checkInput: (s) => validateUrl(s),
 | 
			
		||||
        allowEmptyValues: true,
 | 
			
		||||
      )
 | 
			
		||||
      ),
 | 
			
		||||
 | 
			
		||||
      // Public notes
 | 
			
		||||
      TextEditSettingsTile(
 | 
			
		||||
        title: tr("Public note (optional)"),
 | 
			
		||||
        currValue: _settings.publicNote,
 | 
			
		||||
        onChanged: (v) {
 | 
			
		||||
          _settings.publicNote = v;
 | 
			
		||||
          _updateSettings();
 | 
			
		||||
        },
 | 
			
		||||
        allowEmptyValues: true,
 | 
			
		||||
        maxLength: 255,
 | 
			
		||||
        maxLines: 3,
 | 
			
		||||
      ),
 | 
			
		||||
    ];
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,8 @@ class TextEditSettingsTile extends SettingsTile {
 | 
			
		||||
  final void Function(String) onChanged;
 | 
			
		||||
  final bool Function(String) checkInput;
 | 
			
		||||
  final bool allowEmptyValues;
 | 
			
		||||
  final int maxLines;
 | 
			
		||||
  final int maxLength;
 | 
			
		||||
 | 
			
		||||
  bool get readOnly => onChanged == null;
 | 
			
		||||
 | 
			
		||||
@@ -25,10 +27,13 @@ class TextEditSettingsTile extends SettingsTile {
 | 
			
		||||
    @required this.onChanged,
 | 
			
		||||
    this.checkInput = _defaultCheck,
 | 
			
		||||
    this.allowEmptyValues = false,
 | 
			
		||||
    this.maxLength,
 | 
			
		||||
    this.maxLines = 1,
 | 
			
		||||
  })  : assert(title != null),
 | 
			
		||||
        assert(currValue != null),
 | 
			
		||||
        assert(checkInput != null),
 | 
			
		||||
        assert(allowEmptyValues != null);
 | 
			
		||||
        assert(allowEmptyValues != null),
 | 
			
		||||
        assert(maxLines != null);
 | 
			
		||||
 | 
			
		||||
  @override
 | 
			
		||||
  Widget build(BuildContext context) {
 | 
			
		||||
@@ -50,6 +55,8 @@ class TextEditSettingsTile extends SettingsTile {
 | 
			
		||||
        checkInput: checkInput,
 | 
			
		||||
        errorMessage: tr("Invalid value!"),
 | 
			
		||||
        canBeEmpty: allowEmptyValues,
 | 
			
		||||
        maxLines: maxLines,
 | 
			
		||||
        maxLength: maxLength,
 | 
			
		||||
      ),
 | 
			
		||||
    );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user