ajit_basic_utils 1.0.0+2
ajit_basic_utils: ^1.0.0+2 copied to clipboard
A comprehensive Flutter utility library providing 100+ essential tools including text generators, calculators, converters, image processors, encoders/decoders, network tools, validators, and much more!
example/lib/main.dart
import 'package:flutter/material.dart';
import 'package:ajit_basic_utils/ajit_basic_utils.dart';
void main() {
runApp(const BasicUtilsApp());
}
class BasicUtilsApp extends StatelessWidget {
const BasicUtilsApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Basic Utils Library v2.0.0',
theme: ThemeData(
primarySwatch: Colors.blue,
useMaterial3: true,
),
home: const HomeScreen(),
);
}
}
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
final List<Map<String, dynamic>> _demoResults = [];
@override
void initState() {
super.initState();
_runDemo();
}
void _runDemo() {
setState(() {
_demoResults.clear();
// Text Generators
_demoResults.add({
'category': '📝 Text Generators',
'items': [
'Bubble Text: ${generateBubbleText('123')}',
'Upside Down: ${generateUpsideDownText('123')}',
'Glitch Text: ${generateGlitchText('Hello', intensity: 0.8)}',
'Lorem Ipsum: ${generateLoremIpsum(sentencesPerParagraph: 1).substring(0, 50)}...',
]
});
// Calculators
_demoResults.add({
'category': '🧮 Calculators',
'items': [
'GPA: ${Calculators.calculateGPA([4.0, 4.0, 4.0, 4.0])}',
'BMI Category: ${Calculators.calculateBMI(80, 1.90)['category']}',
'Age in Days: ${Calculators.calculateAge(DateTime(2000, 1, 1))['totalDays']}',
'Scientific - Factorial: ${ScientificCalculator.factorial(5)}',
'Scientific - Power: ${ScientificCalculator.power(2, 10)}',
'Scientific - Square Root: ${ScientificCalculator.sqrt(144)}',
'Scientific - Log10: ${ScientificCalculator.log10(100)}',
]
});
// Converters
_demoResults.add({
'category': '🔄 Converters',
'items': [
'Speed: ${SpeedConverter.convert(299792458, 'm/s', 'km/h')} km/h',
'Temperature: ${TemperatureConverter.convert(0, 'kelvin', 'celsius')}°C',
'Length: ${LengthConverter.convert(1, 'mi', 'ft')} feet',
'Memory: ${MemoryConverter.convert(1, 'GB', 'B')} bytes',
'Area: ${AreaConverter.convert(1, 'm²', 'ft²')} ft²',
'Volume: ${VolumeConverter.convert(1, 'l', 'in³')} in³',
]
});
// Password Tools
_demoResults.add({
'category': '🔐 Password Tools',
'items': [
'Strong Password: ${PasswordTools.generatePassword(length: 20)}',
'Numbers Only: ${PasswordTools.generatePassword(length: 6, includeUppercase: false, includeLowercase: false, includeSymbols: false)}',
'Symbols Only: ${PasswordTools.generatePassword(length: 8, includeUppercase: false, includeLowercase: false, includeNumbers: false)}',
'Password Strength: ${PasswordTools.checkPasswordStrength('MySecure123!')['strength']}',
]
});
// Encoders/Decoders
_demoResults.add({
'category': '🔤 Encoders/Decoders',
'items': [
'Base64: ${Base64Converter.encode('Hello World')}',
'Binary: ${BinaryConverter.textToBinary('Hi')}',
'URL: ${UrlConverter.encode('Hello World!')}',
]
});
// Hash Tools
_demoResults.add({
'category': '🔒 Hash Tools',
'items': [
'MD5: ${HashTools.generateHash('Hello World', 'md5')}',
'SHA256: ${HashTools.generateHash('Hello World', 'sha256')}',
'SHA512: ${HashTools.generateHash('Hello World', 'sha512')}',
]
});
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Basic Utils Library v2.0.0'),
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
actions: [
IconButton(
icon: const Icon(Icons.refresh),
onPressed: _runDemo,
tooltip: 'Refresh Demo',
),
],
),
body: SingleChildScrollView(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Card(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
'🚀 Basic Utils Library v2.0.0 Demo',
style: Theme.of(context).textTheme.headlineSmall?.copyWith(
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 8),
const Text(
'This library provides 100+ essential utilities for Flutter development!',
style: TextStyle(fontSize: 16),
),
const SizedBox(height: 8),
Wrap(
spacing: 8,
children: [
Chip(
label: const Text('📚 Documentation'),
onDeleted: () {},
),
Chip(
label: const Text('🐛 Issues'),
onDeleted: () {},
),
Chip(
label: const Text('⭐ Star us'),
onDeleted: () {},
),
],
),
],
),
),
),
const SizedBox(height: 16),
..._demoResults.map((result) => Card(
margin: const EdgeInsets.only(bottom: 16),
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
result['category'],
style: Theme.of(context).textTheme.titleLarge?.copyWith(
fontWeight: FontWeight.bold,
color: Theme.of(context).primaryColor,
),
),
const SizedBox(height: 8),
...(result['items'] as List<String>).map((item) => Padding(
padding: const EdgeInsets.only(bottom: 4),
child: Text(
item,
style: const TextStyle(fontSize: 14),
),
)),
],
),
),
)),
Card(
child: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
children: [
const Text(
'🎉 Demo Complete!',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 8),
const Text(
'All utilities are working perfectly!',
style: TextStyle(fontSize: 16),
),
const SizedBox(height: 16),
ElevatedButton.icon(
onPressed: _runDemo,
icon: const Icon(Icons.refresh),
label: const Text('Run Demo Again'),
),
],
),
),
),
],
),
),
);
}
}