-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #43 from LeoAndo/release-v1.0.1
Release v1.0.1
- Loading branch information
Showing
13 changed files
with
155 additions
and
82 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,57 @@ | ||
# flutter_github_search | ||
# 概要 | ||
|
||
A new Flutter project. | ||
Flutterで作るGithubリポジトリ検索アプリになります。<br> | ||
<strong>本プロジェクトは android / ios / macosのみ動作サポートしています。</strong><br> | ||
|
||
## Getting Started | ||
# アーキテクチャ | ||
変更が多い内容ですので、[Wiki](https://github.com/LeoAndo/flutter_github_search/wiki/architecture)にまとめています。<br> | ||
|
||
This project is a starting point for a Flutter application. | ||
# 開発環境 | ||
- IDE: Visual Studio Code バージョン: 1.75.1 (Universal) | ||
|
||
A few resources to get you started if this is your first Flutter project: | ||
# アプリ開発時の準備 (重要) | ||
変更が多い内容ですので、[Wiki](https://github.com/LeoAndo/flutter_github_search/wiki/dev-setup)にまとめています。<br> | ||
|
||
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab) | ||
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook) | ||
# デザイン面:アピールポイント | ||
- Material3 Themeの適用 (カスタマイズ) | ||
- Dark Theme対応 | ||
|
||
For help getting started with Flutter development, view the | ||
[online documentation](https://docs.flutter.dev/), which offers tutorials, | ||
samples, guidance on mobile development, and a full API reference. | ||
# 機能面:アピールポイント | ||
- Paging対応 | ||
|
||
# capture: 各プラットフォーム 基本機能の確認 | ||
|
||
| Android Resizable Emulator API 33 | i phone 14 Pro ios 16.2 | macos | | ||
|:---|:---:|:---:| | ||
|<img src="https://user-images.githubusercontent.com/16476224/218934191-12a8762f-054e-4647-8316-4f4797bcd4bf.gif" width=320 /> |<img src="https://user-images.githubusercontent.com/16476224/218935617-3edd9a0c-fc37-4851-830c-9f78fb8e6df5.gif" width=320 /> | <img src="https://user-images.githubusercontent.com/16476224/218936421-2725e7a5-6b5f-4af0-8254-f29c5de1b434.png" /> | | ||
|
||
# capture: 異常系 | ||
|
||
復旧手段があることの確認<br> | ||
| Android Resizable Emulator API 33 | | ||
|:---| | ||
|<img src="https://user-images.githubusercontent.com/16476224/218940081-918802d6-90bd-498f-b6f8-1d1c40954c4a.gif" width=320 /> | | ||
|
||
# capture: Android Material 3の適用チェック | ||
|
||
OS12以上でM3のDynamic Colorが適用されていることを確認<br> | ||
[Dynamic Color](https://m3.material.io/styles/color/dynamic-color/user-generated-color) はOS12以上で適用されます。<br> | ||
|
||
| Android Resizable Emulator API 33 | Pixel Pro 6 API 26 | | ||
|:---|:---:| | ||
|<img src="https://user-images.githubusercontent.com/16476224/218936947-af4cdcda-8be5-4e30-ba60-e8a20a45ffa7.png" width=320 /> |<img src="https://user-images.githubusercontent.com/16476224/218937498-57f11516-46bc-432d-bfe8-b61fb2bb8263.png" width=320 /> | | ||
|
||
# capture: Dark Themeの適用 | ||
|
||
| Android Resizable Emulator API 33 | i phone 14 Pro ios 16.2 | macos | | ||
|:---|:---:|:---:| | ||
|<img src="https://user-images.githubusercontent.com/16476224/218938289-911a480d-9984-4459-958a-e1166a1d7a46.png" width=320 /> |<img src="https://user-images.githubusercontent.com/16476224/218938512-b07600ca-0022-4c54-85a0-10dfa028064c.png" width=320 /> | <img src="https://user-images.githubusercontent.com/16476224/218938858-878e496e-b7fe-46e4-a005-702724804a8c.png" /> | | ||
|
||
# 参考にしたリポジトリ | ||
|
||
## dartの実装まわり | ||
https://github.com/watanavex/flutter_github_search<br> | ||
## CI/CD周り | ||
https://github.com/yorifuji/flutter_github_actions_template<br> | ||
## 環境(dev/stg/prod)の切り替え | ||
https://zenn.dev/altiveinc/articles/separating-environments-in-flutter<br> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
// Flutter imports: | ||
import 'package:flutter/material.dart'; | ||
|
||
// Package imports: | ||
import 'package:logger/logger.dart'; | ||
|
||
class AppAvatarNetworkImage extends StatefulWidget { | ||
const AppAvatarNetworkImage( | ||
{super.key, | ||
this.height = 200, | ||
this.width = 200, | ||
this.size = 200, | ||
required this.url}); | ||
final double height; | ||
final double width; | ||
final double size; | ||
final String url; | ||
|
||
@override | ||
State<StatefulWidget> createState() => _AppAvatarNetworkImageState(); | ||
} | ||
|
||
class _AppAvatarNetworkImageState extends State<AppAvatarNetworkImage> { | ||
bool _showErrorWidget = false; | ||
@override | ||
Widget build(BuildContext context) { | ||
final errorWidget = Icon( | ||
Icons.person, | ||
size: widget.size, | ||
color: Theme.of(context).colorScheme.error, | ||
); | ||
return SizedBox( | ||
height: widget.height, | ||
width: widget.width, | ||
child: CircleAvatar( | ||
backgroundColor: Colors.transparent, | ||
backgroundImage: NetworkImage(widget.url), | ||
onBackgroundImageError: (exception, stackTrace) { | ||
// ArgumentErrorがスローされる. NetworkImageは内部で、httpライブラリを使用している模様. | ||
if (exception is ArgumentError) { | ||
Logger().e('ando exception ${exception.toString()}'); | ||
Logger().e('ando stackTrace $stackTrace'); | ||
} else { | ||
Logger().e('ando exception $exception, stackTrace $stackTrace'); | ||
} | ||
setState(() => _showErrorWidget = true); | ||
}, | ||
child: AnimatedOpacity( | ||
opacity: _showErrorWidget ? 1.0 : 0.0, | ||
duration: const Duration(milliseconds: 500), | ||
child: errorWidget, | ||
), | ||
), | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
/// UIで使うstringリソースをここで定義します。 | ||
/// 多言語対応を想定しない前提なので対応する場合は、外部パッケージをご利用ください。 | ||
const reload = 'reload'; | ||
const titleDetailScreen = 'Detail Screen'; | ||
const titleEnvironmentVariableScreen = 'Environment Variable'; | ||
const titleSearchScreen = 'Search Screen'; | ||
const titleSearchPagingScreen = 'Search Paging Screen'; | ||
const titleHomeScreen = 'Home'; | ||
const homeDrawableHeader = | ||
'Paging compatible / non-compatible versions are available.'; | ||
const listItemIsEmpty = 'result empty..'; | ||
|
||
extension StringExt on String { | ||
String formatForks() => '$this forks'; | ||
String formatStars() => '$this stars'; | ||
String formatWatchers() => '$this watchers'; | ||
String formatOpenIssues() => 'open $this issues'; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters