backup!
This commit is contained in:
parent
19c2b54f19
commit
e18138aa8d
|
|
@ -19,10 +19,10 @@ import 'package:didvan/views/radar/radar.dart';
|
||||||
import 'package:didvan/views/radar/radar_details/radar_details.dart';
|
import 'package:didvan/views/radar/radar_details/radar_details.dart';
|
||||||
import 'package:didvan/views/radar/radar_details/radar_details_state.dart';
|
import 'package:didvan/views/radar/radar_details/radar_details_state.dart';
|
||||||
import 'package:didvan/views/radar/radar_state.dart';
|
import 'package:didvan/views/radar/radar_state.dart';
|
||||||
import 'package:didvan/views/profile/bookmarks/bookmarks.dart';
|
import 'package:didvan/views/home/bookmarks/bookmarks.dart';
|
||||||
import 'package:didvan/views/profile/bookmarks/bookmark_state.dart';
|
import 'package:didvan/views/home/bookmarks/bookmark_state.dart';
|
||||||
import 'package:didvan/views/profile/bookmarks/filtered_bookmark/filtered_bookmark.dart';
|
import 'package:didvan/views/home/bookmarks/filtered_bookmark/filtered_bookmark.dart';
|
||||||
import 'package:didvan/views/profile/bookmarks/filtered_bookmark/filtered_bookmarks_state.dart';
|
import 'package:didvan/views/home/bookmarks/filtered_bookmark/filtered_bookmarks_state.dart';
|
||||||
import 'package:didvan/views/profile/direct_list/direct_list.dart';
|
import 'package:didvan/views/profile/direct_list/direct_list.dart';
|
||||||
import 'package:didvan/views/profile/direct_list/direct_list_state.dart';
|
import 'package:didvan/views/profile/direct_list/direct_list_state.dart';
|
||||||
import 'package:didvan/views/profile/general_settings/settings.dart';
|
import 'package:didvan/views/profile/general_settings/settings.dart';
|
||||||
|
|
@ -71,6 +71,9 @@ class RouteGenerator {
|
||||||
ChangeNotifierProvider<PodcastsState>(
|
ChangeNotifierProvider<PodcastsState>(
|
||||||
create: (context) => PodcastsState(),
|
create: (context) => PodcastsState(),
|
||||||
),
|
),
|
||||||
|
ChangeNotifierProvider<BookmarksState>(
|
||||||
|
create: (context) => BookmarksState(),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
child: const Home(),
|
child: const Home(),
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,11 @@ import 'dart:async';
|
||||||
|
|
||||||
import 'package:didvan/config/design_config.dart';
|
import 'package:didvan/config/design_config.dart';
|
||||||
import 'package:didvan/constants/app_icons.dart';
|
import 'package:didvan/constants/app_icons.dart';
|
||||||
import 'package:didvan/models/view/app_bar_data.dart';
|
|
||||||
import 'package:didvan/routes/routes.dart';
|
import 'package:didvan/routes/routes.dart';
|
||||||
import 'package:didvan/views/profile/bookmarks/bookmark_state.dart';
|
import 'package:didvan/views/home/bookmarks/bookmark_state.dart';
|
||||||
import 'package:didvan/views/widgets/menu_item.dart';
|
import 'package:didvan/views/widgets/menu_item.dart';
|
||||||
import 'package:didvan/views/widgets/overview/multitype.dart';
|
import 'package:didvan/views/widgets/overview/multitype.dart';
|
||||||
import 'package:didvan/views/widgets/search_field.dart';
|
// import 'package:didvan/views/widgets/search_field.dart';
|
||||||
import 'package:didvan/views/widgets/animated_visibility.dart';
|
import 'package:didvan/views/widgets/animated_visibility.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/card.dart';
|
import 'package:didvan/views/widgets/didvan/card.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/divider.dart';
|
import 'package:didvan/views/widgets/didvan/divider.dart';
|
||||||
|
|
@ -28,7 +27,7 @@ class Bookmarks extends StatefulWidget {
|
||||||
|
|
||||||
class _BookmarksState extends State<Bookmarks> {
|
class _BookmarksState extends State<Bookmarks> {
|
||||||
final _focuseNode = FocusNode();
|
final _focuseNode = FocusNode();
|
||||||
Timer? _timer;
|
// Timer? _timer;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
|
|
@ -42,10 +41,11 @@ class _BookmarksState extends State<Bookmarks> {
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final state = context.watch<BookmarksState>();
|
final state = context.watch<BookmarksState>();
|
||||||
return DidvanScaffold(
|
return DidvanScaffold(
|
||||||
appBarData: AppBarData(
|
appBarData: null,
|
||||||
title: 'نشان شدهها',
|
// appBarData: AppBarData(
|
||||||
hasBack: true,
|
// title: 'نشان شدهها',
|
||||||
),
|
// hasBack: true,
|
||||||
|
// ),
|
||||||
slivers: [
|
slivers: [
|
||||||
SliverStateHandler<BookmarksState>(
|
SliverStateHandler<BookmarksState>(
|
||||||
state: state,
|
state: state,
|
||||||
|
|
@ -60,6 +60,7 @@ class _BookmarksState extends State<Bookmarks> {
|
||||||
item: state.bookmarks[index],
|
item: state.bookmarks[index],
|
||||||
onMarkChanged: state.onMarkChanged,
|
onMarkChanged: state.onMarkChanged,
|
||||||
hasUnmarkConfirmation: true,
|
hasUnmarkConfirmation: true,
|
||||||
|
enableCaption: true,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
placeholder: MultitypeOverview.placeholder,
|
placeholder: MultitypeOverview.placeholder,
|
||||||
|
|
@ -74,11 +75,11 @@ class _BookmarksState extends State<Bookmarks> {
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
children: [
|
children: [
|
||||||
SearchField(
|
// SearchField(
|
||||||
title: 'نشان شدهها',
|
// title: 'نشان شدهها',
|
||||||
onChanged: _onChanged,
|
// onChanged: _onChanged,
|
||||||
focusNode: _focuseNode,
|
// focusNode: _focuseNode,
|
||||||
),
|
// ),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
duration: DesignConfig.lowAnimationDuration,
|
duration: DesignConfig.lowAnimationDuration,
|
||||||
|
|
@ -89,28 +90,35 @@ class _BookmarksState extends State<Bookmarks> {
|
||||||
MenuOption(
|
MenuOption(
|
||||||
onTap: () => _onCategorySelected('radar'),
|
onTap: () => _onCategorySelected('radar'),
|
||||||
title: 'تحلیلهای رادار',
|
title: 'تحلیلهای رادار',
|
||||||
icon: DidvanIcons.radar_regular,
|
icon: DidvanIcons.radar_solid,
|
||||||
iconSize: 24,
|
iconSize: 24,
|
||||||
),
|
),
|
||||||
const DidvanDivider(),
|
const DidvanDivider(),
|
||||||
MenuOption(
|
MenuOption(
|
||||||
onTap: () => _onCategorySelected('news'),
|
onTap: () => _onCategorySelected('news'),
|
||||||
title: 'اخبار',
|
title: 'دنیای فولاد',
|
||||||
icon: DidvanIcons.news_regular,
|
icon: DidvanIcons.news_solid,
|
||||||
|
iconSize: 24,
|
||||||
|
),
|
||||||
|
const DidvanDivider(),
|
||||||
|
MenuOption(
|
||||||
|
onTap: () => _onCategorySelected('radar'),
|
||||||
|
title: 'پویش افق',
|
||||||
|
icon: DidvanIcons.radar_solid,
|
||||||
iconSize: 24,
|
iconSize: 24,
|
||||||
),
|
),
|
||||||
const DidvanDivider(),
|
const DidvanDivider(),
|
||||||
MenuOption(
|
MenuOption(
|
||||||
onTap: () => _onCategorySelected('video'),
|
onTap: () => _onCategorySelected('video'),
|
||||||
title: 'ویدئوها',
|
title: 'ویدئوکست',
|
||||||
icon: DidvanIcons.video_regular,
|
icon: DidvanIcons.video_solid,
|
||||||
iconSize: 24,
|
iconSize: 24,
|
||||||
),
|
),
|
||||||
const DidvanDivider(),
|
const DidvanDivider(),
|
||||||
MenuOption(
|
MenuOption(
|
||||||
onTap: () => _onCategorySelected('podcast'),
|
onTap: () => _onCategorySelected('podcast'),
|
||||||
title: 'پادکستها',
|
title: 'پادکستها',
|
||||||
icon: DidvanIcons.podcast_regular,
|
icon: DidvanIcons.podcast_solid,
|
||||||
iconSize: 24,
|
iconSize: 24,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
@ -142,15 +150,15 @@ class _BookmarksState extends State<Bookmarks> {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void _onChanged(String value) {
|
// void _onChanged(String value) {
|
||||||
final state = context.read<BookmarksState>();
|
// final state = context.read<BookmarksState>();
|
||||||
if (value.length < 3 && value.isNotEmpty || state.lastSearch == value) {
|
// if (value.length < 3 && value.isNotEmpty || state.lastSearch == value) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
_timer?.cancel();
|
// _timer?.cancel();
|
||||||
_timer = Timer(const Duration(seconds: 1), () {
|
// _timer = Timer(const Duration(seconds: 1), () {
|
||||||
state.search = value;
|
// state.search = value;
|
||||||
state.getBookmarks(page: 1);
|
// state.getBookmarks(page: 1);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import 'package:didvan/models/requests/studio.dart';
|
import 'package:didvan/models/requests/studio.dart';
|
||||||
import 'package:didvan/models/view/app_bar_data.dart';
|
import 'package:didvan/models/view/app_bar_data.dart';
|
||||||
import 'package:didvan/views/profile/bookmarks/filtered_bookmark/filtered_bookmarks_state.dart';
|
import 'package:didvan/views/home/bookmarks/filtered_bookmark/filtered_bookmarks_state.dart';
|
||||||
import 'package:didvan/views/widgets/overview/news.dart';
|
import 'package:didvan/views/widgets/overview/news.dart';
|
||||||
import 'package:didvan/views/widgets/overview/podcast.dart';
|
import 'package:didvan/views/widgets/overview/podcast.dart';
|
||||||
import 'package:didvan/views/widgets/overview/radar.dart';
|
import 'package:didvan/views/widgets/overview/radar.dart';
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class CategoriesPage extends StatelessWidget {
|
||||||
|
const CategoriesPage({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
import 'package:didvan/config/design_config.dart';
|
import 'package:didvan/config/design_config.dart';
|
||||||
import 'package:didvan/services/app_initalizer.dart';
|
import 'package:didvan/services/app_initalizer.dart';
|
||||||
|
import 'package:didvan/views/home/bookmarks/bookmarks.dart';
|
||||||
|
import 'package:didvan/views/home/categories/categories_page.dart';
|
||||||
import 'package:didvan/views/home/main/main_page.dart';
|
import 'package:didvan/views/home/main/main_page.dart';
|
||||||
import 'package:didvan/views/home/home_state.dart';
|
import 'package:didvan/views/home/home_state.dart';
|
||||||
import 'package:didvan/views/widgets/logo_app_bar.dart';
|
import 'package:didvan/views/widgets/logo_app_bar.dart';
|
||||||
|
|
@ -42,8 +44,8 @@ class _HomeState extends State<Home> with SingleTickerProviderStateMixin {
|
||||||
children: const [
|
children: const [
|
||||||
MainPage(),
|
MainPage(),
|
||||||
Statistic(),
|
Statistic(),
|
||||||
SizedBox(),
|
CategoriesPage(),
|
||||||
SizedBox(),
|
Bookmarks(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
bottomNavigationBar: Consumer<HomeState>(
|
bottomNavigationBar: Consumer<HomeState>(
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,8 @@ class ProfilePage extends StatelessWidget {
|
||||||
title: 'ویرایش پروفایل',
|
title: 'ویرایش پروفایل',
|
||||||
icon: DidvanIcons.user_edit_regular,
|
icon: DidvanIcons.user_edit_regular,
|
||||||
suffix: context.watch<UserProvider>().user.fullName,
|
suffix: context.watch<UserProvider>().user.fullName,
|
||||||
onTap: () => Navigator.of(context).pushNamed(Routes.profile),
|
onTap: () =>
|
||||||
|
Navigator.of(context).pushNamed(Routes.editProfile),
|
||||||
),
|
),
|
||||||
const DidvanDivider(),
|
const DidvanDivider(),
|
||||||
MenuOption(
|
MenuOption(
|
||||||
|
|
@ -122,7 +123,7 @@ class ProfilePage extends StatelessWidget {
|
||||||
),
|
),
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
DidvanText(
|
DidvanText(
|
||||||
'نسخه نرمافزار: 2.2.5',
|
'نسخه نرمافزار: 3.0.0',
|
||||||
style: Theme.of(context).textTheme.bodySmall,
|
style: Theme.of(context).textTheme.bodySmall,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -146,7 +146,7 @@ class _DidvanPageViewState extends State<DidvanPageView> {
|
||||||
title: item.title,
|
title: item.title,
|
||||||
image: item.image,
|
image: item.image,
|
||||||
description: 'radar',
|
description: 'radar',
|
||||||
type: '',
|
type: 'radar',
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,8 @@ class DidvanTextField extends StatefulWidget {
|
||||||
final bool acceptSpace;
|
final bool acceptSpace;
|
||||||
final String? Function(String value)? validator;
|
final String? Function(String value)? validator;
|
||||||
final TextInputType? textInputType;
|
final TextInputType? textInputType;
|
||||||
|
final bool disableBorders;
|
||||||
|
final bool isSmall;
|
||||||
const DidvanTextField({
|
const DidvanTextField({
|
||||||
Key? key,
|
Key? key,
|
||||||
this.onChanged,
|
this.onChanged,
|
||||||
|
|
@ -34,6 +36,8 @@ class DidvanTextField extends StatefulWidget {
|
||||||
this.autoFocus = false,
|
this.autoFocus = false,
|
||||||
this.onSubmitted,
|
this.onSubmitted,
|
||||||
this.acceptSpace = true,
|
this.acceptSpace = true,
|
||||||
|
this.disableBorders = false,
|
||||||
|
this.isSmall = false,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -79,7 +83,9 @@ class _DidvanTextFieldState extends State<DidvanTextField> {
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: _fillColor(),
|
color: _fillColor(),
|
||||||
borderRadius: DesignConfig.lowBorderRadius,
|
borderRadius: DesignConfig.lowBorderRadius,
|
||||||
border: Border.all(color: _borderColor()),
|
border: widget.disableBorders
|
||||||
|
? null
|
||||||
|
: Border.all(color: _borderColor()),
|
||||||
),
|
),
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
inputFormatters: <TextInputFormatter>[
|
inputFormatters: <TextInputFormatter>[
|
||||||
|
|
@ -96,9 +102,9 @@ class _DidvanTextFieldState extends State<DidvanTextField> {
|
||||||
onChanged: _onChanged,
|
onChanged: _onChanged,
|
||||||
validator: _validator,
|
validator: _validator,
|
||||||
obscuringCharacter: '*',
|
obscuringCharacter: '*',
|
||||||
style: Theme.of(context)
|
style: (widget.isSmall
|
||||||
.textTheme
|
? Theme.of(context).textTheme.bodySmall!
|
||||||
.bodyMedium!
|
: Theme.of(context).textTheme.bodyMedium!)
|
||||||
.copyWith(fontFamily: DesignConfig.fontFamily.padRight(3)),
|
.copyWith(fontFamily: DesignConfig.fontFamily.padRight(3)),
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
suffixIcon: _suffixBuilder(),
|
suffixIcon: _suffixBuilder(),
|
||||||
|
|
@ -106,18 +112,20 @@ class _DidvanTextFieldState extends State<DidvanTextField> {
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
hintText: widget.hintText,
|
hintText: widget.hintText,
|
||||||
errorStyle: const TextStyle(height: 0.01),
|
errorStyle: const TextStyle(height: 0.01),
|
||||||
hintStyle: Theme.of(context)
|
hintStyle: (widget.isSmall
|
||||||
.textTheme
|
? Theme.of(context).textTheme.bodySmall!
|
||||||
.bodyMedium!
|
: Theme.of(context).textTheme.bodyMedium!)
|
||||||
.copyWith(color: Theme.of(context).colorScheme.hint),
|
.copyWith(color: Theme.of(context).colorScheme.hint),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
const SizedBox(height: 8),
|
|
||||||
AnimatedVisibility(
|
AnimatedVisibility(
|
||||||
isVisible: _error != null,
|
isVisible: _error != null,
|
||||||
duration: DesignConfig.lowAnimationDuration,
|
duration: DesignConfig.lowAnimationDuration,
|
||||||
child: Row(
|
child: Column(
|
||||||
|
children: [
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Icon(
|
Icon(
|
||||||
DidvanIcons.lightbulb_exclamation_regular,
|
DidvanIcons.lightbulb_exclamation_regular,
|
||||||
|
|
@ -131,6 +139,8 @@ class _DidvanTextFieldState extends State<DidvanTextField> {
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import 'package:didvan/utils/date_time.dart';
|
||||||
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
|
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/card.dart';
|
import 'package:didvan/views/widgets/didvan/card.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/text.dart';
|
import 'package:didvan/views/widgets/didvan/text.dart';
|
||||||
|
import 'package:didvan/views/widgets/didvan/text_field.dart';
|
||||||
import 'package:didvan/views/widgets/shimmer_placeholder.dart';
|
import 'package:didvan/views/widgets/shimmer_placeholder.dart';
|
||||||
import 'package:didvan/views/widgets/skeleton_image.dart';
|
import 'package:didvan/views/widgets/skeleton_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
@ -19,12 +20,14 @@ class MultitypeOverview extends StatelessWidget {
|
||||||
final OverviewData item;
|
final OverviewData item;
|
||||||
final bool hasUnmarkConfirmation;
|
final bool hasUnmarkConfirmation;
|
||||||
final void Function(int id, bool value) onMarkChanged;
|
final void Function(int id, bool value) onMarkChanged;
|
||||||
|
final bool enableCaption;
|
||||||
|
|
||||||
const MultitypeOverview({
|
const MultitypeOverview({
|
||||||
Key? key,
|
Key? key,
|
||||||
required this.item,
|
required this.item,
|
||||||
required this.onMarkChanged,
|
required this.onMarkChanged,
|
||||||
this.hasUnmarkConfirmation = false,
|
this.hasUnmarkConfirmation = false,
|
||||||
|
this.enableCaption = false,
|
||||||
}) : super(key: key);
|
}) : super(key: key);
|
||||||
|
|
||||||
get _targetPageArgs {
|
get _targetPageArgs {
|
||||||
|
|
@ -81,14 +84,17 @@ class MultitypeOverview extends StatelessWidget {
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: Row(
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Stack(
|
Stack(
|
||||||
children: [
|
children: [
|
||||||
SkeletonImage(imageUrl: item.image, height: 80, width: 80),
|
SkeletonImage(imageUrl: item.image, height: 80, width: 80),
|
||||||
Container(
|
Container(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 4, horizontal: 8),
|
padding:
|
||||||
|
const EdgeInsets.symmetric(vertical: 4, horizontal: 8),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Theme.of(context).colorScheme.secondary,
|
color: Theme.of(context).colorScheme.secondary,
|
||||||
borderRadius: const BorderRadius.horizontal(
|
borderRadius: const BorderRadius.horizontal(
|
||||||
|
|
@ -152,6 +158,52 @@ class MultitypeOverview extends StatelessWidget {
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
if (enableCaption)
|
||||||
|
Column(
|
||||||
|
children: [
|
||||||
|
const SizedBox(height: 8),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
Icons.edit_outlined,
|
||||||
|
size: 16,
|
||||||
|
color: Theme.of(context).colorScheme.caption,
|
||||||
|
),
|
||||||
|
const SizedBox(width: 4),
|
||||||
|
DidvanText(
|
||||||
|
'یادداشتهای من',
|
||||||
|
style: Theme.of(context).textTheme.labelSmall,
|
||||||
|
color: Theme.of(context).colorScheme.caption,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
children: [
|
||||||
|
Flexible(
|
||||||
|
child: Container(
|
||||||
|
height: 1,
|
||||||
|
color: Theme.of(context).colorScheme.primary,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Flexible(
|
||||||
|
flex: 2,
|
||||||
|
child: Container(
|
||||||
|
height: 1,
|
||||||
|
color: Theme.of(context).colorScheme.border,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
DidvanTextField(
|
||||||
|
disableBorders: true,
|
||||||
|
hintText: 'برای اضافه کردن یادداشت لمس کنید.',
|
||||||
|
onChanged: (value) {},
|
||||||
|
isSmall: true,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue