diff --git a/doc/BuildRow.png b/doc/BuildRow.png new file mode 100644 index 0000000..05606a0 Binary files /dev/null and b/doc/BuildRow.png differ diff --git a/doc/LogoWidget.png b/doc/LogoWidget.png new file mode 100644 index 0000000..39d9a23 Binary files /dev/null and b/doc/LogoWidget.png differ diff --git a/doc/RSegment.png b/doc/RSegment.png new file mode 100644 index 0000000..c7dac32 Binary files /dev/null and b/doc/RSegment.png differ diff --git a/lib/presentation/pages/test/view.dart b/lib/presentation/pages/test/view.dart index 4c883d8..bec6b57 100644 --- a/lib/presentation/pages/test/view.dart +++ b/lib/presentation/pages/test/view.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:get/get.dart'; import 'package:rasadyar_core/core.dart'; import 'logic.dart'; @@ -11,29 +10,18 @@ class TestPage extends StatelessWidget { Widget build(BuildContext context) { final TestLogic logic = Get.put(TestLogic()); - return Scaffold(body: SafeArea( - child: Padding( - padding: const EdgeInsets.all(18.0), - child: Column(children: [ + return Scaffold( + body: SafeArea( + child: Padding( + padding: const EdgeInsets.all(18.0), + child: Column( + spacing: 8, + children: [ - Text('buildRow'), - buildRow( - title: "Test Row Item", - value: "Value", - titleLabel: "Title Label", - valueLabel: "Value Label", - titleLabelStyle: AppFonts.yekan14.copyWith(color: Colors.red), - valueLabelStyle: AppFonts.yekan14.copyWith(color: Colors.blue), - titleStyle: AppFonts.yekan16.copyWith(color: Colors.green), - valueStyle: AppFonts.yekan16.copyWith(color: Colors.purple), + ], ), - Divider(), - - - - - ]), + ), ), - )); + ); } } diff --git a/packages/core/lib/presentation/widget/list_row_item.dart b/packages/core/lib/presentation/widget/list_row_item.dart index 8798ff2..bd88b43 100644 --- a/packages/core/lib/presentation/widget/list_row_item.dart +++ b/packages/core/lib/presentation/widget/list_row_item.dart @@ -1,6 +1,9 @@ import 'package:flutter/material.dart'; import 'package:rasadyar_core/core.dart'; +/// see this link for UI reference: +/// [https://github.com/mirani95/rasadyarApp/blob/develop/doc/BuildRow.png] + Widget buildRow({ required String title, required String value, diff --git a/packages/core/lib/presentation/widget/logo_widget.dart b/packages/core/lib/presentation/widget/logo_widget.dart index 79326aa..760cd80 100644 --- a/packages/core/lib/presentation/widget/logo_widget.dart +++ b/packages/core/lib/presentation/widget/logo_widget.dart @@ -1,6 +1,10 @@ import 'package:flutter/material.dart'; import 'package:rasadyar_core/core.dart'; + +/// see this link for UI reference: +/// [https://github.com/mirani95/rasadyarApp/blob/develop/docLogoWidget.png] + class LogoWidget extends StatelessWidget { const LogoWidget({ super.key, diff --git a/packages/core/lib/presentation/widget/row_radio.dart b/packages/core/lib/presentation/widget/row_radio.dart new file mode 100644 index 0000000..effb6fe --- /dev/null +++ b/packages/core/lib/presentation/widget/row_radio.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; + +Widget row({ + required List children, + MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, + CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, + MainAxisSize mainAxisSize = MainAxisSize.max, + TextDirection? textDirection, + VerticalDirection verticalDirection = VerticalDirection.down, + TextBaseline? textBaseline, +}) { + return Row( + mainAxisAlignment: mainAxisAlignment, + crossAxisAlignment: crossAxisAlignment, + mainAxisSize: mainAxisSize, + textDirection: textDirection, + verticalDirection: verticalDirection, + textBaseline: textBaseline, + children: children, + ); +} diff --git a/packages/core/lib/presentation/widget/tabs/new_tab.dart b/packages/core/lib/presentation/widget/tabs/new_tab.dart index 308ebb2..30406e0 100644 --- a/packages/core/lib/presentation/widget/tabs/new_tab.dart +++ b/packages/core/lib/presentation/widget/tabs/new_tab.dart @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -/// @docImport 'switch.dart'; + library; import 'dart:collection'; diff --git a/packages/core/lib/presentation/widget/tabs/r_segment.dart b/packages/core/lib/presentation/widget/tabs/r_segment.dart index bdca712..87e70be 100644 --- a/packages/core/lib/presentation/widget/tabs/r_segment.dart +++ b/packages/core/lib/presentation/widget/tabs/r_segment.dart @@ -3,6 +3,9 @@ import 'package:rasadyar_core/core.dart'; const Duration _kFadeDuration = Duration(milliseconds: 165); +/// see this link for UI reference: +/// [https://github.com/mirani95/rasadyarApp/blob/develop/doc/RSegment.png] + class RSegment extends StatefulWidget { const RSegment({ super.key, diff --git a/packages/core/lib/presentation/widget/vec_widget.dart b/packages/core/lib/presentation/widget/vec_widget.dart index 59f087b..f462774 100644 --- a/packages/core/lib/presentation/widget/vec_widget.dart +++ b/packages/core/lib/presentation/widget/vec_widget.dart @@ -4,15 +4,6 @@ import 'package:vector_graphics/vector_graphics.dart'; import '../common/assets.gen.dart'; -SvgPicture vecWidget(String assets, {double? width, double? height, BoxFit? fit, Color? color}) { - return SvgPicture( - AssetBytesLoader(assets), - width: width, - height: height, - fit: fit ?? BoxFit.contain, - colorFilter: color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null, - ); -} Widget vecWidgetWithOnTap({ required Widget child, @@ -25,62 +16,4 @@ Widget vecWidgetWithOnTap({ return InkWell(onTap: onTap, child: child); } -SvgPicture svgWidget(String assets, {double? width, double? height, BoxFit? fit, Color? color}) { - return SvgPicture.asset( - assets, - width: width, - height: height, - fit: fit ?? BoxFit.contain, - colorFilter: color != null ? ColorFilter.mode(color, BlendMode.srcIn) : null, - ); -} -Widget vecWidget2(String assets, {double? width, double? height, BoxFit? fit, Color? color}) { - final resolvedColor = WidgetStateProperty.resolveWith((states) { - if (states.contains(WidgetState.pressed)) { - return Colors.white; - } - return color; - }).resolve({}); // You can pass actual states if needed - - return IconTheme( - data: IconThemeData(color: resolvedColor), - child: SvgPicture( - AssetBytesLoader(assets), - width: width, - height: height, - fit: fit ?? BoxFit.contain, - colorFilter: resolvedColor != null ? ColorFilter.mode(resolvedColor, BlendMode.srcIn) : null, - ), - ); -} - -SizedBox iconBlendTester(String vecPath) { - return SizedBox( - height: 150, - child: ListView.separated( - scrollDirection: Axis.horizontal, - itemCount: BlendMode.values.length, - itemBuilder: (context, index) { - return Column( - spacing: 8, - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text(BlendMode.values[index].toString()), - Container( - margin: EdgeInsets.all(8), - width: 100, - height: 100, - child: SvgGenImage.vec(vecPath).svg( - width: 50, - height: 50, - colorFilter: ColorFilter.mode(Colors.red, BlendMode.values[index]), - ), - ), - ], - ); - }, - separatorBuilder: (BuildContext context, int index) => SizedBox(width: 10), - ), - ); -}