feat: icon/screenshots/docs_url fields on StoreEntry (v0.11.0)
Picks up the three new optional fields on the StoreEntry proto. No new client method — fields are plumbed through SearchStore. Studio reads them off the entry directly. Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
parent
df6ab995d3
commit
a893361ff9
3 changed files with 55 additions and 2 deletions
|
|
@ -2518,6 +2518,9 @@ class StoreEntry extends $pb.GeneratedMessage {
|
|||
$core.String? status,
|
||||
$core.bool? installed,
|
||||
$core.bool? featured,
|
||||
$core.String? iconUrl,
|
||||
$core.Iterable<$core.String>? screenshotUrls,
|
||||
$core.String? docsUrl,
|
||||
}) {
|
||||
final $result = create();
|
||||
if (name != null) {
|
||||
|
|
@ -2565,6 +2568,15 @@ class StoreEntry extends $pb.GeneratedMessage {
|
|||
if (featured != null) {
|
||||
$result.featured = featured;
|
||||
}
|
||||
if (iconUrl != null) {
|
||||
$result.iconUrl = iconUrl;
|
||||
}
|
||||
if (screenshotUrls != null) {
|
||||
$result.screenshotUrls.addAll(screenshotUrls);
|
||||
}
|
||||
if (docsUrl != null) {
|
||||
$result.docsUrl = docsUrl;
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
StoreEntry._() : super();
|
||||
|
|
@ -2587,6 +2599,9 @@ class StoreEntry extends $pb.GeneratedMessage {
|
|||
..aOS(13, _omitFieldNames ? '' : 'status')
|
||||
..aOB(14, _omitFieldNames ? '' : 'installed')
|
||||
..aOB(15, _omitFieldNames ? '' : 'featured')
|
||||
..aOS(16, _omitFieldNames ? '' : 'iconUrl')
|
||||
..pPS(17, _omitFieldNames ? '' : 'screenshotUrls')
|
||||
..aOS(18, _omitFieldNames ? '' : 'docsUrl')
|
||||
..hasRequiredFields = false
|
||||
;
|
||||
|
||||
|
|
@ -2727,6 +2742,39 @@ class StoreEntry extends $pb.GeneratedMessage {
|
|||
$core.bool hasFeatured() => $_has(14);
|
||||
@$pb.TagNumber(15)
|
||||
void clearFeatured() => $_clearField(15);
|
||||
|
||||
/// Optional URL of a square icon (PNG / SVG, 256px+).
|
||||
/// Studio loads and renders this in the detail sheet's hero
|
||||
/// header in place of the category-derived fallback. Empty
|
||||
/// → fall back to the category icon.
|
||||
@$pb.TagNumber(16)
|
||||
$core.String get iconUrl => $_getSZ(15);
|
||||
@$pb.TagNumber(16)
|
||||
set iconUrl($core.String v) { $_setString(15, v); }
|
||||
@$pb.TagNumber(16)
|
||||
$core.bool hasIconUrl() => $_has(15);
|
||||
@$pb.TagNumber(16)
|
||||
void clearIconUrl() => $_clearField(16);
|
||||
|
||||
/// Optional screenshot URLs in display order. Studio renders
|
||||
/// them as a horizontally-scrollable strip in the detail
|
||||
/// sheet so operators can see what the module *does* before
|
||||
/// installing.
|
||||
@$pb.TagNumber(17)
|
||||
$pb.PbList<$core.String> get screenshotUrls => $_getList(16);
|
||||
|
||||
/// Explicit docs URL override. Empty → hub falls back to the
|
||||
/// well-known raw-README paths against `repository`.
|
||||
/// Use this when the README lives at a non-default branch /
|
||||
/// path or when the docs are a separate Markdown file.
|
||||
@$pb.TagNumber(18)
|
||||
$core.String get docsUrl => $_getSZ(17);
|
||||
@$pb.TagNumber(18)
|
||||
set docsUrl($core.String v) { $_setString(17, v); }
|
||||
@$pb.TagNumber(18)
|
||||
$core.bool hasDocsUrl() => $_has(17);
|
||||
@$pb.TagNumber(18)
|
||||
void clearDocsUrl() => $_clearField(18);
|
||||
}
|
||||
|
||||
class ChannelStatusResponse extends $pb.GeneratedMessage {
|
||||
|
|
|
|||
|
|
@ -652,6 +652,9 @@ const StoreEntry$json = {
|
|||
{'1': 'status', '3': 13, '4': 1, '5': 9, '10': 'status'},
|
||||
{'1': 'installed', '3': 14, '4': 1, '5': 8, '10': 'installed'},
|
||||
{'1': 'featured', '3': 15, '4': 1, '5': 8, '10': 'featured'},
|
||||
{'1': 'icon_url', '3': 16, '4': 1, '5': 9, '10': 'iconUrl'},
|
||||
{'1': 'screenshot_urls', '3': 17, '4': 3, '5': 9, '10': 'screenshotUrls'},
|
||||
{'1': 'docs_url', '3': 18, '4': 1, '5': 9, '10': 'docsUrl'},
|
||||
],
|
||||
};
|
||||
|
||||
|
|
@ -665,7 +668,9 @@ final $typed_data.Uint8List storeEntryDescriptor = $convert.base64Decode(
|
|||
'JlcXVpcmVzX3NlcnZpY2VzGAkgAygJUhByZXF1aXJlc1NlcnZpY2VzEhgKB2xpY2Vuc2UYCiAB'
|
||||
'KAlSB2xpY2Vuc2USHgoKcmVwb3NpdG9yeRgLIAEoCVIKcmVwb3NpdG9yeRIhCgxiZXN0X3Zlcn'
|
||||
'Npb24YDCABKAlSC2Jlc3RWZXJzaW9uEhYKBnN0YXR1cxgNIAEoCVIGc3RhdHVzEhwKCWluc3Rh'
|
||||
'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZA==');
|
||||
'bGxlZBgOIAEoCFIJaW5zdGFsbGVkEhoKCGZlYXR1cmVkGA8gASgIUghmZWF0dXJlZBIZCghpY2'
|
||||
'9uX3VybBgQIAEoCVIHaWNvblVybBInCg9zY3JlZW5zaG90X3VybHMYESADKAlSDnNjcmVlbnNo'
|
||||
'b3RVcmxzEhkKCGRvY3NfdXJsGBIgASgJUgdkb2NzVXJs');
|
||||
|
||||
@$core.Deprecated('Use channelStatusResponseDescriptor instead')
|
||||
const ChannelStatusResponse$json = {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
name: fai_dart_sdk
|
||||
description: gRPC client SDK for the F∆I Platform hub. Used by F∆I Studio and Tier-3 domain apps.
|
||||
version: 0.10.1
|
||||
version: 0.11.0
|
||||
publish_to: 'none'
|
||||
repository: https://git.flemming.ws/fai/dart-sdk
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue