Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .fvmrc
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"flutter": "3.24.0"
"flutter": "3.27.4"
}
3 changes: 2 additions & 1 deletion lib/screen/todo/todo_list/todo_list_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_template/di/injectable.dart';
import 'package:flutter_template/model/webservice/todo/todo.dart';
import 'package:flutter_template/styles/theme_data.dart';
import 'package:flutter_template/util/extension/color_extension.dart';
import 'package:flutter_template/util/keys.dart';
import 'package:flutter_template/viewmodel/todo/todo_list/todo_list_viewmodel.dart';
import 'package:flutter_template/widget/general/action/action_item.dart';
Expand Down Expand Up @@ -104,7 +105,7 @@ class TodoListScreenState extends State<TodoListScreen> {
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Container(
height: 1,
color: theme.main.withOpacity(0.1),
color: theme.main.withOpacityValue(0.1),
),
),
);
Expand Down
15 changes: 8 additions & 7 deletions lib/styles/theme_data.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_template/di/injectable.dart';
import 'package:flutter_template/styles/theme_colors.dart';
import 'package:flutter_template/styles/theme_fonts.dart';
import 'package:flutter_template/util/extension/color_extension.dart';
import 'package:flutter_template/util/theme/theme_config.dart';
import 'package:icapps_architecture/icapps_architecture.dart';

Expand All @@ -27,7 +28,7 @@ class FlutterTemplateThemeData {
textSelectionTheme: TextSelectionThemeData(
cursorColor: ThemeColors.accentThink40,
selectionHandleColor: ThemeColors.accentThink40,
selectionColor: ThemeColors.accentThink40.withOpacity(0.4),
selectionColor: ThemeColors.accentThink40.withOpacityValue(0.4),
),
pageTransitionsTheme: PageTransitionsTheme(
builders: {
Expand Down Expand Up @@ -263,9 +264,9 @@ class FlutterTemplateTheme {
bodyNeutralFaded: ThemeColors.neutral48,
actionDefault: ThemeColors.accentThink32,
effects: FlutterTemplateThemeEffects(
elevationDefault1: ThemeColors.main16.withOpacity(0.04),
elevationDefault2: ThemeColors.main16.withOpacity(0.08),
elevationDefault3: ThemeColors.main16.withOpacity(0.12),
elevationDefault1: ThemeColors.main16.withOpacityValue(0.04),
elevationDefault2: ThemeColors.main16.withOpacityValue(0.08),
elevationDefault3: ThemeColors.main16.withOpacityValue(0.12),
),
);

Expand Down Expand Up @@ -318,9 +319,9 @@ class FlutterTemplateTheme {
bodyNeutralFaded: ThemeColors.neutral48,
actionDefault: ThemeColors.accentThink32,
effects: FlutterTemplateThemeEffects(
elevationDefault1: ThemeColors.main16.withOpacity(0.04),
elevationDefault2: ThemeColors.main16.withOpacity(0.08),
elevationDefault3: ThemeColors.main16.withOpacity(0.12),
elevationDefault1: ThemeColors.main16.withOpacityValue(0.04),
elevationDefault2: ThemeColors.main16.withOpacityValue(0.08),
elevationDefault3: ThemeColors.main16.withOpacityValue(0.12),
),
);

Expand Down
5 changes: 5 additions & 0 deletions lib/util/extension/color_extension.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import 'package:flutter/material.dart';

extension ColorExtension on Color {
Color withOpacityValue(double opacity) => withValues(alpha: opacity);
}
3 changes: 2 additions & 1 deletion lib/util/extension/text_style_extensions.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:flutter_template/util/extension/color_extension.dart';

extension TextStyleExtensions on TextStyle {
TextStyle withOpacity0() => _withOpacity(0);
Expand All @@ -9,5 +10,5 @@ extension TextStyleExtensions on TextStyle {

TextStyle withOpacity60() => _withOpacity(0.6); //Light dark

TextStyle _withOpacity(double opacity) => copyWith(color: color?.withOpacity(opacity));
TextStyle _withOpacity(double opacity) => copyWith(color: color?.withOpacityValue(opacity));
}
2 changes: 2 additions & 0 deletions lib/widget/library/flutter_template_back_button.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import 'package:flutter_template/util/keys.dart';
import 'package:flutter_template/widget/general/action/action_item.dart';
import 'package:flutter_template/widget/provider/data_provider_widget.dart';
import 'package:icapps_icons/icapps_icons.dart';
import 'package:widget_book_widget_generator_annotations/widget_book_widget_generator_annotations.dart';

@widgetBookWidget
class FlutterTemplateBackButton extends StatelessWidget {
final VoidCallback? onClick;
final bool fullScreen;
Expand Down
3 changes: 3 additions & 0 deletions lib/widget/library/flutter_template_button.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@ import 'package:flutter_template/styles/theme_data.dart';
import 'package:flutter_template/styles/theme_durations.dart';
import 'package:flutter_template/widget/provider/data_provider_widget.dart';
import 'package:icapps_architecture/icapps_architecture.dart';
import 'package:widget_book_widget_generator_annotations/widget_book_widget_generator_annotations.dart';

enum ButtonType {
regular,
text,
}

@widgetBookWidget
class FlutterTemplateButton extends StatelessWidget {
@WidgetBookWidgetField(defaultValue: 'Button')
final String text;
final bool isEnabled;
final bool isExpanded;
Expand Down
2 changes: 2 additions & 0 deletions lib/widget/library/flutter_template_checkbox.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_template/widget/provider/data_provider_widget.dart';
import 'package:icapps_architecture/icapps_architecture.dart';
import 'package:icapps_icons/icapps_icons.dart';
import 'package:widget_book_widget_generator_annotations/widget_book_widget_generator_annotations.dart';

@widgetBookWidget
class FlutterTemplateCheckBox extends StatelessWidget {
final bool value;
final ValueChanged<bool> onChanged;
Expand Down
2 changes: 2 additions & 0 deletions lib/widget/library/flutter_template_input_field.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_template/styles/theme_data.dart';
import 'package:flutter_template/widget/provider/data_provider_widget.dart';
import 'package:widget_book_widget_generator_annotations/widget_book_widget_generator_annotations.dart';

@widgetBookWidget
class FlutterTemplateInputField extends StatelessWidget {
final bool enabled;
final String hint;
Expand Down
2 changes: 2 additions & 0 deletions lib/widget/library/flutter_template_network_image.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ import 'package:flutter_template/di/injectable.dart';
import 'package:flutter_template/util/cache/cache_controlling.dart';
import 'package:flutter_template/util/env/flavor_config.dart';
import 'package:flutter_template/util/logging/flutter_template_logger.dart';
import 'package:widget_book_widget_generator_annotations/widget_book_widget_generator_annotations.dart';

@widgetBookWidget
class FlutterTemplateNetworkImage extends StatelessWidget {
final String? url;
final String? fallbackUrl;
Expand Down
2 changes: 2 additions & 0 deletions lib/widget/library/flutter_template_progress_indicator.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_template/util/env/flavor_config.dart';
import 'package:flutter_template/widget/provider/data_provider_widget.dart';
import 'package:widget_book_widget_generator_annotations/widget_book_widget_generator_annotations.dart';

@widgetBookWidget
class FlutterTemplateProgressIndicator extends StatelessWidget {
final bool dark;

Expand Down
2 changes: 2 additions & 0 deletions lib/widget/library/flutter_template_switch.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@ import 'package:flutter_template/styles/theme_dimens.dart';
import 'package:flutter_template/styles/theme_durations.dart';
import 'package:flutter_template/widget/provider/data_provider_widget.dart';
import 'package:icapps_architecture/icapps_architecture.dart';
import 'package:widget_book_widget_generator_annotations/widget_book_widget_generator_annotations.dart';

@widgetBookWidget
class FlutterTemplateSwitch extends StatelessWidget {
final bool value;
final ValueChanged<bool> onChanged;
Expand Down
9 changes: 7 additions & 2 deletions lib/widgetbook/widgetbook.dart
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
import 'package:flutter/material.dart';
import 'package:flutter_template/architecture.dart';
import 'package:flutter_template/di/environments.dart';
import 'package:flutter_template/di/injectable.dart';
import 'package:flutter_template/styles/theme_data.dart';
import 'package:flutter_template/util/env/flavor_config.dart';
import 'package:flutter_template/util/theme/theme_config.dart';
import 'package:flutter_template/widgetbook/widgetbook.directories.g.dart';
import 'package:flutter_template/widgetbook/widgetbook_widgets/widgetbook_screen.dart';
import 'package:icapps_architecture/icapps_architecture.dart';
import 'package:widgetbook/widgetbook.dart';
import 'package:widgetbook_annotation/widgetbook_annotation.dart' as widgetbook;

Future<void> main() async {
await initArchitecture();
final themeConfig = ThemeConfigUtil();
getIt.registerSingleton(themeConfig);

const values = FlavorValues(
baseUrl: 'https://jsonplaceholder.typicode.com/',
Expand All @@ -26,6 +26,7 @@ Future<void> main() async {
color: Colors.red,
values: values,
);
await configureDependencies(Environments.dev);

runApp(const WidgetbookApp());
}
Expand All @@ -43,6 +44,10 @@ class WidgetbookApp extends StatelessWidget {
...Devices.android.all,
]),
InspectorAddon(),
BuilderAddon(
name: 'main',
builder: (context, widget) => WidgetBookScreen(child: widget),
),
ThemeAddon(
themes: [
WidgetbookTheme(
Expand Down
67 changes: 51 additions & 16 deletions lib/widgetbook/widgetbook.directories.g.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
// **************************************************************************

// ignore_for_file: no_leading_underscores_for_library_prefixes
import 'package:flutter_template/widgetbook/widgetbook.usecases.dart' as _i3;
import 'package:flutter_template/widgetbook/widgetbook_widgets/use_cases.dart'
as _i2;
import 'package:widgetbook/widgetbook.dart' as _i1;
Expand All @@ -27,45 +28,79 @@ final directories = <_i1.WidgetbookNode>[
_i1.WidgetbookFolder(
name: 'library',
children: [
_i1.WidgetbookLeafComponent(
_i1.WidgetbookComponent(
name: 'FlutterTemplateBackButton',
useCase: _i1.WidgetbookUseCase(
name: 'Default',
builder: _i2.backButton,
),
useCases: [
_i1.WidgetbookUseCase(
name: 'FlutterTemplateBackButton',
builder: _i3.flutterTemplateBackButtonUseCase,
),
_i1.WidgetbookUseCase(
name: 'FlutterTemplateBackButton (dark)',
builder: _i3.flutterTemplateBackButtonUseCaseDark,
),
_i1.WidgetbookUseCase(
name: 'FlutterTemplateBackButton (light)',
builder: _i3.flutterTemplateBackButtonUseCaseLight,
),
],
),
_i1.WidgetbookComponent(
name: 'FlutterTemplateButton',
useCases: [
_i1.WidgetbookUseCase(
name: 'Default',
builder: _i2.button,
name: 'FlutterTemplateButton',
builder: _i3.flutterTemplateButtonUseCase,
),
_i1.WidgetbookUseCase(
name: 'Text',
builder: _i2.textButton,
name: 'FlutterTemplateButton (text)',
builder: _i3.flutterTemplateButtonUseCaseText,
),
],
),
_i1.WidgetbookLeafComponent(
name: 'FlutterTemplateCheckBox',
useCase: _i1.WidgetbookUseCase(
name: 'Default',
builder: _i2.checkBox,
name: 'FlutterTemplateCheckBox',
builder: _i3.flutterTemplateCheckBoxUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'FlutterTemplateProgressIndicator',
name: 'FlutterTemplateInputField',
useCase: _i1.WidgetbookUseCase(
name: 'FlutterTemplateInputField',
builder: _i3.flutterTemplateInputFieldUseCase,
),
),
_i1.WidgetbookLeafComponent(
name: 'FlutterTemplateNetworkImage',
useCase: _i1.WidgetbookUseCase(
name: 'Default',
builder: _i2.progressIndicator,
name: 'FlutterTemplateNetworkImage',
builder: _i3.flutterTemplateNetworkImageUseCase,
),
),
_i1.WidgetbookComponent(
name: 'FlutterTemplateProgressIndicator',
useCases: [
_i1.WidgetbookUseCase(
name: 'FlutterTemplateProgressIndicator',
builder: _i3.flutterTemplateProgressIndicatorUseCase,
),
_i1.WidgetbookUseCase(
name: 'FlutterTemplateProgressIndicator (dark)',
builder: _i3.flutterTemplateProgressIndicatorUseCaseDark,
),
_i1.WidgetbookUseCase(
name: 'FlutterTemplateProgressIndicator (light)',
builder: _i3.flutterTemplateProgressIndicatorUseCaseLight,
),
],
),
_i1.WidgetbookLeafComponent(
name: 'FlutterTemplateSwitch',
useCase: _i1.WidgetbookUseCase(
name: 'Default',
builder: _i2.switchWidget,
name: 'FlutterTemplateSwitch',
builder: _i3.flutterTemplateSwitchUseCase,
),
),
],
Expand Down
Loading
Loading