codenoah
Codenoah paketi, Flutter ile uygulama geliştirirken ihtiyacınız olan bir dizi tasarım bileşeni ve kullanışlı genişletme (extension) sunan kapsamlı bir yardımcı pakettir. Codenoah, özellikle tasarım ve kullanıcı deneyimi geliştirmeye yönelik çeşitli araçlar ve widget’lar içerir. Bu paket ile Flutter projelerinizi daha hızlı ve etkili bir şekilde geliştirebilir, kod tekrarı ve yapılandırma sürecini en aza indirebilirsiniz.
View Size extension
Container(
width: ViewSizeValueModelExtension(context).maxWidth(context),
height: ViewSizeValueModelExtension(context).dynamicHeight(context, 0.2),
color: Colors.red,
),
BorderRadius
Kenar Yumuşatma için kullanılacak extension
RadiusExtension // extension
Kullanım:
RadiusExtension.lowRadiusValue
// 20.0RadiusExtension.normalRadiusValue
// 12.0RadiusExtension.highRadiusValue
// 4.0RadiusExtension.circularHighValue
// 124RadiusExtension.circularNormalValue
// 24RadiusExtension.circularMediumValue
// 15RadiusExtension.circularLowValue
// 4
Kopyalama
Metin kopyalama için kullanım.
onTap: (){
CodeNoahClipboard.controlC('Merhaba');
}
Yönlendirme
// Normal Yöneldirme
() {
CodeNoahNavigatorRouter.push(
context,
ViewScreen(),
);
},
// Normal Pozisyonlu Ekran Yönlendirme
() {
CodeNoahNavigatorRouter.push(
context,
ViewScreen(),
direction: SlideDirection.leftToRight,
);
},
// Geri Dönüş Olmadan Normal Pozisyonlu Ekran Yönlendirme
() {
CodeNoahNavigatorRouter.pushAndRemoveUntil(
context,
ViewScreen(),
);
},
// Geri Dönüş Olmadan Normal Pozisyonlu Ekran Yöneldirme
() {
CodeNoahNavigatorRouter.pushAndRemoveUntil(
context,
ViewScreen(),
direction: SlideDirection.leftToRight,
);
},
SlideDirection Özellikleri:
SlideDirection.leftToRight
SlideDirection.rightToLeft
SlideDirection.topToBottom
SlideDirection.bottomToTop
Padding
İç boşluk kullanımları için: PaddingSizedsUtility
Kullanım:
PaddingSizedsUtility.hugePaddingValue
// 125.0PaddingSizedsUtility.hightPaddingValue
// 55.0PaddingSizedsUtility.normalPaddingValue
// 16.0PaddingSizedsUtility.mediumPaddingValue
// 10.0PaddingSizedsUtility.smallPaddingValue
// 5.0
Margin
İç boşluk kullanımları için: MarginSizedsUtility
Kullanım:
MarginSizedsUtility.hugeMarginValue
// 125.0MarginSizedsUtility.hightMarginValue
// 55.0MarginSizedsUtility.normalMarginValue
// 16.0MarginSizedsUtility.mediumMarginValue
// 10.0MarginSizedsUtility.smallMarginValue
// 5.0
İkon
Hazır İkonları Kullanmak için : AppIcons
late String svgValue = AppIcons.callOutline.toSvg;
//
AppIcons.callOutline.toSvgImg(
Colors.red,
55,
55,
),
Firebase Servisi
Firebase Servisi Kullanımları : FirebaseService
Future<void> exampleCollection() async {
// collection
final collectRef =
await FirebaseService().cloudFireStore.collection('User').get();
// authentication
final authRef =
await FirebaseService().authService.createUserWithEmailAndPassword(
email: 'hello@gmail.com',
password: "123",
);
// auth id
final userId = FirebaseService().authID;
}
Exception
Exception Kullanımı için : ServiceException
Future<void> hello() async {
try {
//
} catch (e) {
throw ServiceException('Hello');
}
}
Validator Kullanımı
Field Validator Doğrulama için : CodeNoahValidator
TextFormField(
validator: (String? value) =>
CodeNoahValidator(value: value, context: context).emptyNormalCheck,
),
Kullanım:
CodeNoahValidator(value: value, context: context).emptyNormalCheck
CodeNoahValidator(value: value, context: context).emptyNumberCheck
CodeNoahValidator(value: value, context: context).emailCheck
CodeNoahValidator(value: value, context: context).passwordCheck
CustomValidator(value: value, context: context).phoneNumberValidator(value)
Özelleştirilmiş Buton Kullanımı
CustomButtonWidget(
width: ViewSizeValueModelExtension(context).maxWidth(context),
text: 'Hello',
func: () {},
btnStatus: ButtonTypes.primaryColorButton,
),
ButtonTypes Kullanım:
ButtonTypes.primaryColorButton
ButtonTypes.iconPrimaryColorButton
ButtonTypes.borderPrimaryColorButton
ButtonTypes.borderErrorColorButton
Email Field Kullanımı
CustomEmailFieldWidget(
emailController: TextEditingController(), // controller
hintText: 'E-mail', // field adı
onChanged: (val) {}, // onChanged
isLabelText: true, // field içinde veya üstünde gösterme
width: ViewSizeValueModelExtension(context).maxWidth(context), // field genişliği
),
Şifre Field Kullanımı
CustomPasswordFieldWidget(
passwordController: TextEditingController(), // conroller
hintText: 'Şifre', // field adı
onChanged: (val) {}, // onChanged
isValidator: true, // doğrulma durumu
isLabelText: true, // field içinde veya üstünde gösterme
width: ViewSizeValueModelExtension(context).maxWidth(context), // field genişliği
),
Normal Yazı Field
NormalTextFieldWidget(
controller: TextEditingController(), // controller
hintText: 'Ad Soyad', // field adı
explanationStatus: false, // açıklama field olma durumu
onChanged: (val) {}, // onChanged
isValidator: true, // doğrulama durumu
enabled: true, // field aktif olma durumu
isLabelText: true, // field içinde veya üstünde gösterme
width: ViewSizeValueModelExtension(context).maxWidth(context), // field genişliği
),
Numara Field
NumberTextFieldWidget(
controller: TextEditingController(), // controller
hintText: 'Fiyat', // field adı
onChanged: (val) {}, // onChanged
isLabelText: true, // field içinde veya üstünde gösterme
width: ViewSizeValueModelExtension(context).maxWidth(context), // field genişliği
),
Renk Extension
Container(
width: 55,
height: 55,
color: ColorExtension.lightGreen,
),
Genişlik ve Yükseklik Extension
SizedBox(
width: ViewSizeValueModelExtension(context).maxWidth(context),
height: WidthHeightExtension.normalHeight,
),
Kullanım:
WidthHeightExtension.normalHeight
// 0.10WidthHeightExtension.standartHeight
// 0.06WidthHeightExtension.mediumHeight
// 0.08WidthHeightExtension.largeHeight
// 0.15
License
2024 created for @NuhcanATAR