codenoah 0.0.2 codenoah: ^0.0.2 copied to clipboard
A new codenoah package project.
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