The simplest example is when we have two states. We don't know the password - we display the animation. We know the password - we display an animation that will eventually show the password.
CipherVault(
secret: _isShowSecretBool ? 'cipher_vault' : null,
),
When the password is shown at the end of the animation, we can copy using Selectable Text or use our copy widget
CipherVault(
secret: 'My Password',
buttonCopy: YourButtonCopyWidget(),
),
You can fine-tune the animation using the configurator. For example, to adjust the animation speed or to use other languages. Check Example in lib
CipherVault(
secret: 'Мой секрет 3',
textStyle: const TextStyle(fontSize: 18.0),
config: CipherVaultConfig(
alphabetCipherVault: myAlphabet,
minLengthCipherVault: 10,
maxLengthCipherVault: 20,
),
),
All available settings at the moment
/// VaultConfig - Fine-tuning the CipherVault
///
/// [alphabetCipherVault] - The symbols that can make
/// up the animation of the secret
///
/// [minLengthCipherVault] - Minimum secret length
///
/// [maxLengthCipherVault] - Maximum secret length
///
/// [updateAnimationUpdate] - Animation widget refresh rate
///
/// [updatePasswordAnimationUpdate] - Refresh rate of the password
/// display animation widget
///
/// [showAnimationFrequency] - How often characters are replaced when
/// animating a classified secret. The standard value is 0.2
///
/// [showPasswordAnimationFrequency] - How often characters are replaced
/// when animating the declassification of a secret.
/// The standard value is 0.5
///
/// [countAttemp] - The number of possible replacements when the
/// password is declassified. The standard value is 5
const CipherVaultConfig({
required this.alphabetCipherVault,
required this.minLengthCipherVault,
required this.maxLengthCipherVault,
required this.updateAnimationUpdate,
required this.updatePasswordAnimationUpdate,
required this.showAnimationFrequency,
required this.showPasswordAnimationFrequency,
required this.countAttemp,
});
Refer to the Changelog to get all release notes.
Valerij Shishov Igor Molchanov
This library is open for issues and pull requests. If you have ideas for improvements or bugs, the repository is open to contributions!