1
0
mirror of https://github.com/flutter/samples.git synced 2025-11-10 06:48:26 +00:00

Minor sample index cleanup (#1532)

This commit is contained in:
Parker Lougheed
2022-12-15 21:36:04 -06:00
committed by GitHub
parent 7e11b89445
commit 9a82e003ba
15 changed files with 77 additions and 68 deletions

View File

@@ -14,11 +14,11 @@ import 'package:webdriver/io.dart';
class CookbookScraper {
late WebDriver _driver;
Future init() async {
Future<void> init() async {
_driver = await createDriver(desired: <String, dynamic>{});
}
Future dispose() async {
Future<void> dispose() async {
await _driver.quit();
}
@@ -59,7 +59,7 @@ class CookbookScraper {
);
}
Future takeScreenshot(String url) async {
Future<void> takeScreenshot(String url) async {
var screenshot = await _driver.captureScreenshotAsList();
var file = File('web/${screenshotPath(url)}');
await file.create(recursive: true);

View File

@@ -11,7 +11,7 @@ class Carousel {
final List<Element> slides = querySelectorAll('.slider-single');
late int currentSlideIndex;
late int lastSlideIndex;
late final int lastSlideIndex;
late Element prevSlide, currentSlide, nextSlide;
@@ -127,24 +127,24 @@ class Carousel {
}
void _checkRepeat() {
var prevArrow = querySelector('.slider-left');
var nextArrow = querySelector('.slider-right');
var prevArrow = querySelector('.slider-left') as AnchorElement;
var nextArrow = querySelector('.slider-right') as AnchorElement;
if (currentSlideIndex == slides.length - 1) {
slides[0].classes.add('hidden');
slides[slides.length - 1].classes.remove('hidden');
prevArrow!.classes.remove('hidden');
nextArrow!.classes.add('hidden');
prevArrow.classes.remove('hidden');
nextArrow.classes.add('hidden');
} else if (currentSlideIndex == 0) {
slides[slides.length - 1].classes.add('hidden');
slides[0].classes.remove('hidden');
prevArrow!.classes.add('hidden');
nextArrow!.classes.remove('hidden');
prevArrow.classes.add('hidden');
nextArrow.classes.remove('hidden');
} else {
slides[slides.length - 1].classes.remove('hidden');
slides[0].classes.remove('hidden');
prevArrow!.classes.remove('hidden');
nextArrow!.classes.remove('hidden');
prevArrow.classes.remove('hidden');
nextArrow.classes.remove('hidden');
}
}

View File

@@ -22,7 +22,7 @@ class Index {
Index(this.samples);
factory Index.fromJson(Map json) => _$IndexFromJson(json);
factory Index.fromJson(Map<dynamic, dynamic> json) => _$IndexFromJson(json);
Map<String, dynamic> toJson() => _$IndexToJson(this);
}
@@ -100,7 +100,7 @@ class Sample {
this.channel,
});
factory Sample.fromJson(Map json) => _$SampleFromJson(json);
factory Sample.fromJson(Map<dynamic, dynamic> json) => _$SampleFromJson(json);
Map<String, dynamic> toJson() => _$SampleToJson(this);
@@ -116,25 +116,25 @@ class Sample {
buf.write(name.toLowerCase());
buf.write(' ');
for (var tag in tags) {
for (final tag in tags) {
buf.write('tag:${tag.toLowerCase()} ');
// Allow tags to be searched without the tag: prefix
buf.write('${tag.toLowerCase()} ');
}
for (var platform in platforms) {
for (final platform in platforms) {
buf.write('platform:$platform ');
// Allow platforms to be searched without the tag: prefix
buf.write('$platform ');
}
for (var widget in widgets) {
for (final widget in widgets) {
buf.write('widget:$widget ');
}
for (var package in packages) {
for (final package in packages) {
buf.write('package:$package ');
}
@@ -167,7 +167,8 @@ class Screenshot {
Screenshot(this.url, this.alt);
factory Screenshot.fromJson(Map json) => _$ScreenshotFromJson(json);
factory Screenshot.fromJson(Map<dynamic, dynamic> json) =>
_$ScreenshotFromJson(json);
Map<String, dynamic> toJson() => _$ScreenshotToJson(this);
}
@@ -180,7 +181,7 @@ class Link {
Link(this.text, this.href);
factory Link.fromJson(Map json) => _$LinkFromJson(json);
factory Link.fromJson(Map<dynamic, dynamic> json) => _$LinkFromJson(json);
Map<String, dynamic> toJson() => _$LinkToJson(this);
}

View File

@@ -16,7 +16,7 @@ bool matchesQuery(String query, String sampleAttributes) {
// This will check whether a type parameter is present in the
// search query, and return false if the self type mismatches
// the query type
for (var word in queryWords) {
for (final word in queryWords) {
if ((word.contains('type:') && !attributes.contains(word)) ||
(word.contains('platform:') && !attributes.contains('type:demo'))) {
return false;
@@ -30,7 +30,7 @@ bool matchesQuery(String query, String sampleAttributes) {
// Test for exact matches for keywords
var matches = 0;
for (var word in queryWords) {
for (final word in queryWords) {
if (attributes.contains(word)) {
matches++;
}
@@ -43,8 +43,8 @@ bool matchesQuery(String query, String sampleAttributes) {
// e.g. searching "kitten tag:cats" is a match for a sample with the
// attributes "kittens tag:cats"
matches = 0;
for (var attribute in attributes) {
for (var queryWord in queryWords) {
for (final attribute in attributes) {
for (final queryWord in queryWords) {
if (attribute.startsWith(queryWord)) {
matches++;
}

View File

@@ -29,7 +29,7 @@ $_footer
</html>
''';
String _indexHeader = '''
const String _indexHeader = '''
<head>
<meta charset="utf-8">
<title>Flutter samples</title>
@@ -39,11 +39,11 @@ String _indexHeader = '''
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="packages/mdc_web/material-components-web.min.js"></script>
<script defer src="main.dart.js"></script>
${_googleAnalytics()}
$_googleAnalytics
</head>
''';
String _descriptionHeader = '''
const String _descriptionHeader = '''
<head>
<meta charset="utf-8">
<title>Flutter samples</title>
@@ -54,11 +54,11 @@ String _descriptionHeader = '''
<script src="packages/mdc_web/material-components-web.min.js"></script>
<script src="https://kit.fontawesome.com/16cc04762e.js"></script>
<script defer src="description.dart.js"></script>
${_googleAnalytics()}
$_googleAnalytics
</head>
''';
String _navbar = '''
const String _navbar = '''
<div class="navbar">
<a class="leading" href="./">
<img src="images/logos/logo_lockup_flutter_horizontal_wht_96.png" />
@@ -189,9 +189,10 @@ String _descriptionPage(Sample sample) => '''
String _descriptionButtons(Sample sample) {
var buf = StringBuffer();
if (sample.web?.isNotEmpty == true) {
var sampleLink = sample.web;
if (sampleLink != null && sampleLink.isNotEmpty) {
buf.write(
'''<button class="mdc-button mdc-button--outlined" onclick="window.location.href = '${sample.web}';"><span class="mdc-button__ripple"></span> Launch App</button>''');
'''<button class="mdc-button mdc-button--outlined" onclick="window.location.href = '$sampleLink';"><span class="mdc-button__ripple"></span> Launch App</button>''');
}
if (sample.type == 'app' ||
@@ -214,7 +215,7 @@ String _descriptionButtons(Sample sample) {
String _tags(Sample sample) {
var buf = StringBuffer();
for (var tag in sample.tags) {
for (final tag in sample.tags) {
buf.write('<a href="./#?search=tag%3A$tag">$tag</a>\n');
}
return buf.toString();
@@ -222,7 +223,7 @@ String _tags(Sample sample) {
String _descriptionScreenshots(Sample sample) {
var buf = StringBuffer();
for (var screenshot in sample.screenshots) {
for (final screenshot in sample.screenshots) {
buf.write(
'''<div class="slider-single"><img class="slider-single-image" src="${screenshot.url}" alt="${screenshot.alt}" /></div>\n''');
}
@@ -233,8 +234,7 @@ String _descriptionText(Sample sample) {
return '<p>${sample.description}</p>';
}
String _googleAnalytics() {
return """
const String _googleAnalytics = """
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-67589403-8"></script>
<script>
window.dataLayer = window.dataLayer || [];
@@ -242,4 +242,3 @@ String _googleAnalytics() {
gtag('js', new Date());
gtag('config', 'UA-67589403-8');
</script>""";
}