Skip to content

Commit

Permalink
Merge branch 'main' into feature/update-architecture
Browse files Browse the repository at this point in the history
  • Loading branch information
tatsutakein committed Feb 1, 2024
2 parents 640cd38 + c47d8e3 commit 34ca930
Show file tree
Hide file tree
Showing 125 changed files with 986 additions and 142 deletions.
9 changes: 6 additions & 3 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,11 @@
},
"github.copilot.enable": {
"*": false,
"dart": false,
"markdown": true,
"dart": true,
"json": true,
"yaml": true
},
"github.copilot.editor.enableCodeActions": false,
"github.copilot.editor.enableAutoCompletions": false,
"github.copilot.editor.enableCodeActions": true,
"github.copilot.editor.enableAutoCompletions": true,
}
2 changes: 1 addition & 1 deletion apps/app/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ tasks.whenTaskAdded { task ->

android {
namespace "jp.co.yumemi.flutter_app"
compileSdkVersion flutter.compileSdkVersion
compileSdkVersion 34
ndkVersion flutter.ndkVersion

compileOptions {
Expand Down
19 changes: 18 additions & 1 deletion apps/app/ios/Podfile.lock
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
PODS:
- Flutter (1.0.0)
- flutter_inappwebview_ios (0.0.1):
- Flutter
- flutter_inappwebview_ios/Core (= 0.0.1)
- OrderedSet (~> 5.0)
- flutter_inappwebview_ios/Core (0.0.1):
- Flutter
- OrderedSet (~> 5.0)
- OrderedSet (5.0.0)
- package_info_plus (0.4.5):
- Flutter
- shared_preferences_foundation (0.0.1):
Expand All @@ -8,21 +16,30 @@ PODS:

DEPENDENCIES:
- Flutter (from `Flutter`)
- flutter_inappwebview_ios (from `.symlinks/plugins/flutter_inappwebview_ios/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- shared_preferences_foundation (from `.symlinks/plugins/shared_preferences_foundation/darwin`)

SPEC REPOS:
trunk:
- OrderedSet

EXTERNAL SOURCES:
Flutter:
:path: Flutter
flutter_inappwebview_ios:
:path: ".symlinks/plugins/flutter_inappwebview_ios/ios"
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
shared_preferences_foundation:
:path: ".symlinks/plugins/shared_preferences_foundation/darwin"

SPEC CHECKSUMS:
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
flutter_inappwebview_ios: 97215cf7d4677db55df76782dbd2930c5e1c1ea0
OrderedSet: aaeb196f7fef5a9edf55d89760da9176ad40b93c
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
shared_preferences_foundation: 5b919d13b803cadd15ed2dc053125c68730e5126
shared_preferences_foundation: b4c3b4cddf1c21f02770737f147a3f5da9d39695

PODFILE CHECKSUM: 70d9d25280d0dd177a5f637cdb0f0b0b12c6a189

Expand Down
22 changes: 22 additions & 0 deletions apps/app/lib/feature/home/ui/home_navigator.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import 'package:cores_navigation/navigators.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app/router/routes/home_route.dart';

final class HomeNavigatorImpl implements HomeNavigator {
const HomeNavigatorImpl();

@override
void goDebugModePage(BuildContext context) {
const DebugModePageRoute().go(context);
}

@override
void goSettingPage(BuildContext context) {
const SettingPageRoute().go(context);
}

@override
void goWebView(BuildContext context) {
const WebViewRoute().go(context);
}
}
25 changes: 14 additions & 11 deletions apps/app/lib/feature/home/ui/home_page.dart
Original file line number Diff line number Diff line change
@@ -1,35 +1,38 @@
import 'package:cores_navigation/providers.dart';
import 'package:features_github_repository/ui.dart';
import 'package:flutter/material.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';

class HomePage extends StatelessWidget {
class HomePage extends ConsumerWidget {
const HomePage({
required VoidCallback goDebugModePage,
required VoidCallback goSettingPage,
super.key,
}) : _goDebugModePage = goDebugModePage,
_goSettingPage = goSettingPage;

final VoidCallback _goDebugModePage;
final VoidCallback _goSettingPage;
});

@override
Widget build(BuildContext context) {
Widget build(BuildContext context, WidgetRef ref) {
final navigator = ref.watch(homeNavigatorProvider);
return Scaffold(
appBar: AppBar(
title: const Text('ホーム'),
actions: [
IconButton(
onPressed: _goDebugModePage,
onPressed: () => navigator.goDebugModePage(context),
icon: const Icon(
Icons.construction,
),
),
IconButton(
onPressed: _goSettingPage,
onPressed: () => navigator.goSettingPage(context),
icon: const Icon(
Icons.settings,
),
),
IconButton(
onPressed: () => navigator.goWebView(context),
icon: const Icon(
Icons.web,
),
),
],
),
body: const GitHubRepositoryList(),
Expand Down
14 changes: 12 additions & 2 deletions apps/app/lib/main.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import 'package:cores_core/exception.dart';
import 'package:cores_core/ui.dart';
import 'package:cores_core/util.dart';
import 'package:cores_data/theme_mode.dart';
import 'package:cores_designsystem/themes.dart';
import 'package:cores_init/provider.dart';
import 'package:features_setting/l10n.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app/feature/setting/provider/theme_mode_notifier.dart';
import 'package:flutter_app/gen/l10n/l10n.dart';
import 'package:flutter_app/router/provider/router.dart';
import 'package:flutter_app/util/logger.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:package_info_plus/package_info_plus.dart';

Expand Down Expand Up @@ -43,6 +45,14 @@ class MainApp extends ConsumerWidget {
);

return MaterialApp.router(
localizationsDelegates: const [
...L10n.localizationsDelegates,
...L10nSetting.localizationsDelegates,
],
supportedLocales: const [
...L10n.supportedLocales,
...L10nSetting.supportedLocales,
],
scaffoldMessengerKey: SnackBarManager.rootScaffoldMessengerKey,
routerConfig: ref.watch(routerProvider),
theme: lightTheme(),
Expand Down
36 changes: 31 additions & 5 deletions apps/app/lib/router/routes/home_route.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import 'dart:async';

import 'package:cores_core/util.dart';
import 'package:cores_navigation/providers.dart';
import 'package:features_debug_mode/ui.dart';
import 'package:features_setting/setting.dart';
import 'package:features_webview/webview.dart';
import 'package:flutter/material.dart';
import 'package:flutter_app/feature/home/ui/home_navigator.dart';
import 'package:flutter_app/feature/home/ui/home_page.dart';
import 'package:flutter_app/feature/setting/ui/setting_page.dart';
import 'package:flutter_app/util/widget/custom_app_lifecyle_listerner.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:go_router/go_router.dart';

part 'home_route.g.dart';
Expand All @@ -18,6 +22,9 @@ part 'home_route.g.dart';
TypedGoRoute<DebugModePageRoute>(
path: DebugModePageRoute.path,
),
TypedGoRoute<WebViewRoute>(
path: WebViewRoute.path,
),
],
)
class HomePageRoute extends GoRouteData {
Expand All @@ -31,9 +38,14 @@ class HomePageRoute extends GoRouteData {
onResume: () {
// Example: Obtain the latest AppStatus and update if needed.
},
child: HomePage(
goDebugModePage: () => const DebugModePageRoute().go(context),
goSettingPage: () => const SettingPageRoute().go(context),
// By overriding the Provider in the Route build method, it is possible to
// switch the implementation of Navigator based on the source of
// navigation or the state.
child: ProviderScope(
overrides: [
homeNavigatorProvider.overrideWithValue(const HomeNavigatorImpl()),
],
child: const HomePage(),
),
);
}
Expand All @@ -60,3 +72,17 @@ class DebugModePageRoute extends GoRouteData {
return const DebugModePage();
}
}

class WebViewRoute extends GoRouteData {
const WebViewRoute();

static const path = 'web_view';

@override
Widget build(BuildContext context, GoRouterState state) {
return WebView(
initialUrl: 'https://flutter.dev',
pop: context.pop,
);
}
}
21 changes: 21 additions & 0 deletions apps/app/lib/router/routes/home_route.g.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 34ca930

Please sign in to comment.