Add more wootexts
This commit is contained in:
parent
7b68feb311
commit
c7f21427e5
4 changed files with 2055 additions and 64 deletions
|
@ -12,11 +12,14 @@ enum class Combinators(private val combinator: String): Translator{
|
||||||
SQUIGGLES("\u033E"),
|
SQUIGGLES("\u033E"),
|
||||||
LIGHTNING("\u035B"),
|
LIGHTNING("\u035B"),
|
||||||
UP_ARROWS("\u034E"),
|
UP_ARROWS("\u034E"),
|
||||||
VERTICAL_BRACKETS("\u0346\u033A");
|
VERTICAL_BRACKETS("\u0346\u033A"),
|
||||||
|
TRIANGLE("\u20e4"),
|
||||||
|
HEARTS("\u2665"),
|
||||||
|
KEYCAP("\u20E3");
|
||||||
|
|
||||||
override fun translate(text: String): String {
|
override fun translate(text: String): String {
|
||||||
return text
|
return text
|
||||||
.map { "${it}${combinator}" }
|
.map { "${it}${combinator}" }
|
||||||
.joinToString("")
|
.joinToString("")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
package net.friedl.android.woot.translator
|
||||||
|
|
||||||
|
enum class Formatters(private val format: String): Translator {
|
||||||
|
|
||||||
|
BRACKETS("\u3010%s\u3011"),
|
||||||
|
CORNER_BRACKETS("\u300e%s\u300f"),
|
||||||
|
SHADE("%s\u2591"),
|
||||||
|
BOXED("[\u0305\u0332%s]"),
|
||||||
|
DOUBLE_BOXED("⟦%s⟧"),
|
||||||
|
ANGLE_DOTS("⦑%s⦒"),
|
||||||
|
ORNATE("﴾%s̤̈﴿"),
|
||||||
|
TICKED_BRACKETS("⦏%ŝ⦎"),
|
||||||
|
ZIGZAG("%s͛⦚"),
|
||||||
|
TILDES("%s≋"),
|
||||||
|
DOUBLE_TYPE("%s%s");
|
||||||
|
|
||||||
|
override fun translate(text: String): String {
|
||||||
|
return String.format(format, text)
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load diff
|
@ -16,6 +16,9 @@ import androidx.compose.material3.IconButton
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.ClipboardManager
|
import androidx.compose.ui.platform.ClipboardManager
|
||||||
|
@ -26,53 +29,93 @@ import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import net.friedl.android.woot.R
|
import net.friedl.android.woot.R
|
||||||
import net.friedl.android.woot.translator.Combinators
|
import net.friedl.android.woot.translator.Combinators
|
||||||
|
import net.friedl.android.woot.translator.Formatters
|
||||||
import net.friedl.android.woot.translator.Mappers
|
import net.friedl.android.woot.translator.Mappers
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun WootTextList(
|
fun WootTextList(
|
||||||
text: String,
|
text: String, modifier: Modifier = Modifier
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
) {
|
||||||
val wootTexts = listOf(
|
|
||||||
Mappers.NORMAL(text),
|
|
||||||
Mappers.CIRCLED(text),
|
|
||||||
Mappers.BOLD(text),
|
|
||||||
Mappers.BOLD_ITALIC(text),
|
|
||||||
Mappers.ITALIC(text),
|
|
||||||
Mappers.SANS(text),
|
|
||||||
Mappers.DOUBLESTRUCK(text),
|
|
||||||
Mappers.MONOSPACE(text),
|
|
||||||
Mappers.SERIF_BOLD(text),
|
|
||||||
Mappers.SERIF_BOLD_ITALIC(text),
|
|
||||||
Mappers.FRAKTUR(text),
|
|
||||||
Mappers.BOLD_FRAKTUR(text),
|
|
||||||
Mappers.SCRIPT(text),
|
|
||||||
Mappers.BOLD_SCRIPT(text),
|
|
||||||
Mappers.THAI(text),
|
|
||||||
Mappers.CYRILLIC(text),
|
|
||||||
Mappers.ETHIOPIC(text),
|
|
||||||
Mappers.THAI_LE(text),
|
|
||||||
Mappers.JAPANESE(text),
|
|
||||||
Mappers.CANADIAN_SYLLABIC(text),
|
|
||||||
Mappers.CANADIAN_SYLLABICS_DOTS(text),
|
|
||||||
Mappers.OLD_ITALIC(text),
|
|
||||||
Mappers.CRIMPED(text),
|
|
||||||
Mappers.WILD(text),
|
|
||||||
Mappers.CURVY(text),
|
|
||||||
|
|
||||||
Combinators.FIREWORKS(text),
|
val wootTexts by remember {
|
||||||
Combinators.DOUBLE_OVERLINED(text),
|
mutableStateOf(
|
||||||
Combinators.DOUBLE_UNDERLINE(text),
|
listOf(
|
||||||
Combinators.OVERLINED(text),
|
Mappers.NORMAL(text),
|
||||||
Combinators.STRIKETHROUGH(text),
|
Mappers.CIRCLED(text),
|
||||||
Combinators.UNDERLINE(text),
|
Mappers.BOLD(text),
|
||||||
Combinators.SLASHED(text),
|
Mappers.BOLD_ITALIC(text),
|
||||||
Combinators.XS(text),
|
Mappers.ITALIC(text),
|
||||||
Combinators.SQUIGGLES(text),
|
Mappers.SANS(text),
|
||||||
Combinators.LIGHTNING(text),
|
Mappers.DOUBLESTRUCK(text),
|
||||||
Combinators.UP_ARROWS(text),
|
Mappers.MONOSPACE(text),
|
||||||
Combinators.VERTICAL_BRACKETS(text)
|
Mappers.SERIF_BOLD(text),
|
||||||
)
|
Mappers.SERIF_BOLD_ITALIC(text),
|
||||||
|
Mappers.FRAKTUR(text),
|
||||||
|
Mappers.BOLD_FRAKTUR(text),
|
||||||
|
Mappers.SCRIPT(text),
|
||||||
|
Mappers.BOLD_SCRIPT(text),
|
||||||
|
Mappers.THAI(text),
|
||||||
|
Mappers.CYRILLIC(text),
|
||||||
|
Mappers.ETHIOPIC(text),
|
||||||
|
Mappers.THAI_LE(text),
|
||||||
|
Mappers.JAPANESE(text),
|
||||||
|
Mappers.CANADIAN_SYLLABIC(text),
|
||||||
|
Mappers.CANADIAN_SYLLABICS_DOTS(text),
|
||||||
|
Mappers.OLD_ITALIC(text),
|
||||||
|
Mappers.CRIMPED(text),
|
||||||
|
Mappers.WILD(text),
|
||||||
|
Mappers.CURVY(text),
|
||||||
|
Mappers.FULL_CIRCLE(text),
|
||||||
|
Mappers.FULLWIDTH(text),
|
||||||
|
Mappers.SMALL_CAPITALS(text),
|
||||||
|
Mappers.SUPERSCRIPT(text),
|
||||||
|
Mappers.SUBSCRIPT(text),
|
||||||
|
Mappers.MIRROR(text),
|
||||||
|
Mappers.UPSIDEDOWN(text),
|
||||||
|
Mappers.REGIONAL_INDICATOR(text),
|
||||||
|
Mappers.FULL_SQUARED(text),
|
||||||
|
Mappers.TAG(text),
|
||||||
|
Mappers.ACUTE_ACCENT(text),
|
||||||
|
Mappers.GRAVE_ACCENT(text),
|
||||||
|
Mappers.CIRCUMFLEX(text),
|
||||||
|
Mappers.CARON(text),
|
||||||
|
Mappers.MONEY(text),
|
||||||
|
Mappers.HOMOGLYPH(text),
|
||||||
|
Mappers.FAKE_BRAILLE(text),
|
||||||
|
Mappers.BRAILLE(text),
|
||||||
|
Mappers.BLOCKS(text),
|
||||||
|
Mappers.LEET(text),
|
||||||
|
Mappers.WINGDINGS(text),
|
||||||
|
|
||||||
|
Combinators.FIREWORKS(text),
|
||||||
|
Combinators.DOUBLE_OVERLINED(text),
|
||||||
|
Combinators.DOUBLE_UNDERLINE(text),
|
||||||
|
Combinators.OVERLINED(text),
|
||||||
|
Combinators.STRIKETHROUGH(text),
|
||||||
|
Combinators.UNDERLINE(text),
|
||||||
|
Combinators.SLASHED(text),
|
||||||
|
Combinators.XS(text),
|
||||||
|
Combinators.SQUIGGLES(text),
|
||||||
|
Combinators.LIGHTNING(text),
|
||||||
|
Combinators.UP_ARROWS(text),
|
||||||
|
Combinators.VERTICAL_BRACKETS(text),
|
||||||
|
Combinators.TRIANGLE(text),
|
||||||
|
Combinators.HEARTS(text),
|
||||||
|
Combinators.KEYCAP(text),
|
||||||
|
|
||||||
|
Formatters.BRACKETS(text),
|
||||||
|
Formatters.CORNER_BRACKETS(text),
|
||||||
|
Formatters.SHADE(text),
|
||||||
|
Formatters.BOXED(text),
|
||||||
|
Formatters.DOUBLE_BOXED(text),
|
||||||
|
Formatters.ANGLE_DOTS(text),
|
||||||
|
Formatters.ORNATE(text),
|
||||||
|
Formatters.TICKED_BRACKETS(text),
|
||||||
|
Formatters.ZIGZAG(text),
|
||||||
|
Formatters.TILDES(text)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
LazyColumn(modifier = modifier) {
|
LazyColumn(modifier = modifier) {
|
||||||
items(wootTexts) { text ->
|
items(wootTexts) { text ->
|
||||||
|
@ -83,8 +126,7 @@ fun WootTextList(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun WootTextCard(
|
fun WootTextCard(
|
||||||
text: String,
|
text: String, modifier: Modifier = Modifier
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
) {
|
||||||
val cardColors = CardDefaults.cardColors(
|
val cardColors = CardDefaults.cardColors(
|
||||||
containerColor = MaterialTheme.colorScheme.surface,
|
containerColor = MaterialTheme.colorScheme.surface,
|
||||||
|
@ -103,8 +145,7 @@ fun WootTextCard(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun WootTextCardDetail(
|
fun WootTextCardDetail(
|
||||||
text: String,
|
text: String, modifier: Modifier = Modifier
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
) {
|
||||||
Row(
|
Row(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
|
@ -117,21 +158,18 @@ fun WootTextCardDetail(
|
||||||
)
|
)
|
||||||
|
|
||||||
ShareTextButton(
|
ShareTextButton(
|
||||||
text,
|
text, modifier = modifier.weight(0.1f)
|
||||||
modifier= modifier.weight(0.1f)
|
|
||||||
)
|
)
|
||||||
|
|
||||||
CopyTextButton(
|
CopyTextButton(
|
||||||
text,
|
text, modifier = modifier.weight(0.1f)
|
||||||
modifier = modifier.weight(0.1f)
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun CopyTextButton(
|
fun CopyTextButton(
|
||||||
text: String,
|
text: String, modifier: Modifier = Modifier
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
) {
|
||||||
val clipboardManager: ClipboardManager = LocalClipboardManager.current
|
val clipboardManager: ClipboardManager = LocalClipboardManager.current
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
|
@ -139,9 +177,7 @@ fun CopyTextButton(
|
||||||
IconButton(
|
IconButton(
|
||||||
onClick = {
|
onClick = {
|
||||||
clipboardManager.setText(AnnotatedString(text))
|
clipboardManager.setText(AnnotatedString(text))
|
||||||
Toast
|
Toast.makeText(context, R.string.clipboard_copy_toast, Toast.LENGTH_SHORT).show()
|
||||||
.makeText(context, R.string.clipboard_copy_toast, Toast.LENGTH_SHORT)
|
|
||||||
.show()
|
|
||||||
}, modifier = modifier
|
}, modifier = modifier
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
|
@ -153,8 +189,7 @@ fun CopyTextButton(
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ShareTextButton(
|
fun ShareTextButton(
|
||||||
text: String,
|
text: String, modifier: Modifier = Modifier
|
||||||
modifier: Modifier = Modifier
|
|
||||||
) {
|
) {
|
||||||
val sendIntent: Intent = Intent().apply {
|
val sendIntent: Intent = Intent().apply {
|
||||||
action = Intent.ACTION_SEND
|
action = Intent.ACTION_SEND
|
||||||
|
@ -171,4 +206,4 @@ fun ShareTextButton(
|
||||||
) {
|
) {
|
||||||
Icon(Icons.Default.Share, contentDescription = "Share")
|
Icon(Icons.Default.Share, contentDescription = "Share")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue