diff --git a/common/src/commonMain/kotlin/com/artemchep/keyguard/feature/generator/wordlist/WordlistScreen.kt b/common/src/commonMain/kotlin/com/artemchep/keyguard/feature/generator/wordlist/WordlistScreen.kt index fbe23d2..563787d 100644 --- a/common/src/commonMain/kotlin/com/artemchep/keyguard/feature/generator/wordlist/WordlistScreen.kt +++ b/common/src/commonMain/kotlin/com/artemchep/keyguard/feature/generator/wordlist/WordlistScreen.kt @@ -12,9 +12,11 @@ import androidx.compose.foundation.lazy.items import androidx.compose.material.icons.Icons import androidx.compose.material.icons.outlined.Add import androidx.compose.material.icons.outlined.Book +import androidx.compose.material.icons.outlined.HelpOutline import androidx.compose.material3.Checkbox import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon +import androidx.compose.material3.IconButton import androidx.compose.material3.LocalTextStyle import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text @@ -38,7 +40,9 @@ import com.artemchep.keyguard.common.model.getOrNull import com.artemchep.keyguard.feature.EmptyView import com.artemchep.keyguard.feature.ErrorView import com.artemchep.keyguard.feature.home.vault.component.rememberSecretAccentColor +import com.artemchep.keyguard.feature.navigation.LocalNavigationController import com.artemchep.keyguard.feature.navigation.NavigationIcon +import com.artemchep.keyguard.feature.navigation.NavigationIntent import com.artemchep.keyguard.res.Res import com.artemchep.keyguard.ui.AvatarBuilder import com.artemchep.keyguard.ui.DefaultFab @@ -110,6 +114,22 @@ fun WordlistScreen( NavigationIcon() }, scrollBehavior = scrollBehavior, + actions = { + val navigationController by rememberUpdatedState(LocalNavigationController.current) + IconButton( + onClick = { + val intent = NavigationIntent.NavigateToBrowser( + url = "https://github.com/AChep/keyguard-app/blob/master/wiki/WORDLISTS.md", + ) + navigationController.queue(intent) + }, + ) { + Icon( + imageVector = Icons.Outlined.HelpOutline, + contentDescription = null, + ) + } + }, ) }, bottomBar = { diff --git a/wiki/WORDLISTS.md b/wiki/WORDLISTS.md new file mode 100644 index 0000000..5c78116 --- /dev/null +++ b/wiki/WORDLISTS.md @@ -0,0 +1,15 @@ +# Wordlists + +Keyguard allows you to add your own Wordlists to later use them during the Passphrase and Username generation. + +**File format**: + +The supported file extensions are .txt and .wordlist. +The file should be a text file, with each word being on its own line. +Each line that is either empty or starts from '#', ';', '-', '/' will be ignored. + +_Note: Keyguard will incorrectly calculate the Passphrase's strength when using custom wordlists._ + +### Honorable Wordlists + +- [18325 words based on Ngram frequency data](https://github.com/sts10/generated-wordlists/blob/main/lists/1password-replacement/1password-replacement.txt), created by [sts10](https://github.com/sts10).