Update description for IP-based image limit
This commit is contained in:
1 parent
bd5bd1e571
commit
31ce4eac92
4 files changed
+35
-16
No files matched your search
@@ -160,7 +160,11 @@ fun EhScreen(navigator: DestinationsNavigator) {
|
||||
var error by rememberSaveable { mutableStateOf<String?>(null) }
|
||||
val summary by rememberUpdatedState(
|
||||
result?.run {
|
||||
stringResource(id = R.string.image_limits_summary, limits.current, limits.maximum)
|
||||
when (limits.maximum) {
|
||||
-1 -> stringResource(id = R.string.image_limits_restricted)
|
||||
0 -> stringResource(id = R.string.image_limits_normal)
|
||||
else -> stringResource(id = R.string.image_limits_summary, limits.current, limits.maximum)
|
||||
}
|
||||
} ?: placeholder,
|
||||
)
|
||||
suspend fun getImageLimits() {
|
||||
@@ -190,12 +194,16 @@ fun EhScreen(navigator: DestinationsNavigator) {
|
||||
Text(text = it)
|
||||
} ?: result?.let { (limits, funds) ->
|
||||
Column(verticalArrangement = Arrangement.spacedBy(8.dp)) {
|
||||
LinearProgressIndicator(
|
||||
progress = { limits.current.toFloat() / limits.maximum },
|
||||
modifier = Modifier.height(12.dp).fillMaxWidth(),
|
||||
)
|
||||
if (limits.maximum > 0) {
|
||||
LinearProgressIndicator(
|
||||
progress = { limits.current.toFloat() / limits.maximum },
|
||||
modifier = Modifier.height(12.dp).fillMaxWidth(),
|
||||
)
|
||||
}
|
||||
Text(text = summary)
|
||||
Text(text = stringResource(id = R.string.reset_cost, limits.resetCost))
|
||||
if (limits.resetCost > 0) {
|
||||
Text(text = stringResource(id = R.string.reset_cost, limits.resetCost))
|
||||
}
|
||||
Text(text = stringResource(id = R.string.current_funds))
|
||||
Row(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
|
||||
@@ -423,6 +423,8 @@
|
||||
<string name="insufficient_funds">余额不足</string>
|
||||
<string name="image_limits">图片配额</string>
|
||||
<string name="image_limits_summary">已用:%1$d / %2$d</string>
|
||||
<string name="image_limits_normal">无限制</string>
|
||||
<string name="image_limits_restricted">图片分辨率限制为 1280x</string>
|
||||
<string name="reset_cost">重置花费:%d GP</string>
|
||||
<string name="reset_limits_succeed">成功重置图片配额</string>
|
||||
<string name="reset">重置</string>
|
||||
|
||||
@@ -444,6 +444,8 @@
|
||||
<string name="insufficient_funds">Insufficient Funds</string>
|
||||
<string name="image_limits">Image Limits</string>
|
||||
<string name="image_limits_summary">Used: %1$d / %2$d</string>
|
||||
<string name="image_limits_normal">No restrictions</string>
|
||||
<string name="image_limits_restricted">Image resolution restricted to 1280x</string>
|
||||
<string name="reset_cost">Reset Cost: %d GP</string>
|
||||
<string name="reset_limits_succeed">Image limit was successfully reset</string>
|
||||
<string name="reset">Reset</string>
|
||||
|
||||
@@ -17,10 +17,9 @@ struct Limits {
|
||||
}
|
||||
|
||||
fn parse_limit(dom: &VDom, parser: &Parser) -> Option<Limits> {
|
||||
let iter = get_vdom_first_element_by_class_name(dom, "homebox")?
|
||||
.as_tag()?
|
||||
.query_selector(parser, "strong")?;
|
||||
let vec: Vec<i32> = iter
|
||||
let limit_box = get_vdom_first_element_by_class_name(dom, "homebox")?.as_tag()?;
|
||||
let vec = limit_box
|
||||
.query_selector(parser, "strong")?
|
||||
.filter_map(|e| {
|
||||
e.get(parser)?
|
||||
.inner_text(parser)
|
||||
@@ -28,15 +27,23 @@ fn parse_limit(dom: &VDom, parser: &Parser) -> Option<Limits> {
|
||||
.parse::<i32>()
|
||||
.ok()
|
||||
})
|
||||
.collect();
|
||||
if vec.len() == 3 {
|
||||
Some(Limits {
|
||||
.collect::<Vec<_>>();
|
||||
match vec.len() {
|
||||
3 => Some(Limits {
|
||||
current: vec[0],
|
||||
maximum: vec[1],
|
||||
resetCost: vec[2],
|
||||
})
|
||||
} else {
|
||||
None
|
||||
}),
|
||||
1 => Some(Limits {
|
||||
current: 0,
|
||||
maximum: if limit_box.inner_text(parser).contains("No restrictions") {
|
||||
0
|
||||
} else {
|
||||
-1
|
||||
},
|
||||
resetCost: 0,
|
||||
}),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user