Skip to content

Commit

Permalink
updates readme file and update screens and assets generator
Browse files Browse the repository at this point in the history
  • Loading branch information
ansaralisah committed Jan 19, 2025
1 parent e29467f commit 55b2eab
Show file tree
Hide file tree
Showing 10 changed files with 431 additions and 37 deletions.
2 changes: 1 addition & 1 deletion .dart_tool/package_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -200,7 +200,7 @@
"languageVersion": "3.0"
}
],
"generated": "2025-01-16T12:43:37.826751Z",
"generated": "2025-01-19T05:53:54.729337Z",
"generator": "pub",
"generatorVersion": "3.6.0",
"flutterRoot": "file:///C:/Users/dell/AnsarFlutter/FlutterSdk",
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## 1.0.7

1. Fix `Issues of `assets issues like sub directory when exit of directory
2. Fix Issues of screen generator like model and creating model dart

## 1.0.6

* Just update readme file

## 1.0.5

1. Generate Directory with screen generator
Expand Down
49 changes: 39 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,37 @@

<div align="center">
<h1 align="center" style="font-size: 50px;">🍃 Ind Utils 🍃</h1>
<p align="center">
A command-line tool that simplifies the task of updating your Flutter app's launcher icon. Full flexibility allows you to only update the launcher icon for specific platforms as needed.
</p>
<p align="center">A command-line tool that simplifies the task of creating files and creating assets images .</p>
</div>

# ind_utils

ind_utils package use this package for Generate Assets file `
ind_utils package use this package for Ind_utils package to simplify use for SizedBox, beautiful Log,
creating screens , styles , write assets images file
code.`

### Platform Support

| Android | iOS | macOS | Web | Linux | Windows |
|:-------:|:---:|:-----:|:---:|:-----:|:-------:|
|||||||

## Installation

```yaml
dependencies:
ind_utils: ^1.0.5
ind_utils: ^1.0.7
```
## Run the generator
- when u will run this cmd you will get
- Here Below 👇👇👇 - First Go that directory where you wanna Create Screen, Controller, Widget .
- To execute the following command:
```
dart pub run ind_utils:screen
```

```
├─ screen/
└─ profile_screen.dart
Expand All @@ -38,47 +47,67 @@ dart pub run ind_utils:screen
```

## Run the generator:

- Assets file and Put images in class
- Here 👇👇👇

1. Make sure Stay in Project Directory
2. Go that directory where you wanna Create.

- To execute the following command:
- To execute the following command:

```
dart pub run ind_utils:assets
after it will be ask question like this
Where your wanna create this file: example - lib/src/styles/
```

## Run the generator:

- Styling Code Like App color , EdgeInsets
- Here 👇👇👇 - First Go that directory where you wanna Create This.
- To execute the following command:

```
dart pub run ind_utils:style
```


## Print Type

Just use Like This: You can Print with different Icon just change end type :

```
printLog("Method :", "POST").method;// "⚙️ Method : Get";
OR
PrintLogger.success(message);
```

![Image Description](https://raw.githubusercontent.com/adobix/ind_utils/refs/heads/main/assets/img_1.png)
![Image Description](https://raw.githubusercontent.com/adobix/ind_utils/refs/heads/main/assets/img_1.png)

```
printLog("Api URL:", url).link;//"🔗 Api URL : --> your url"
OR
PrintLogger.error(message);
```

![Image Description](https://raw.githubusercontent.com/adobix/ind_utils/refs/heads/main/assets/img_2.png)

```
printLog("Header :", header).header; //"📝 Header : --> your header"
OR
PrintLogger.warning(message);
```

![Image Description](https://raw.githubusercontent.com/adobix/ind_utils/refs/heads/main/assets/img_3.png)

```
printLog("Response Success: ", response).success; // "✅ Response Success: --> your response"
OR
PrintLogger.denied(message);
```

![Image Description](https://raw.githubusercontent.com/adobix/ind_utils/refs/heads/main/assets/img_4.png)

```
printLog("Request Data: ", request).info; // "ℹ️ Request Data:: --> your Request"
```
Expand Down
Binary file added assets/logo.webp
Binary file not shown.
51 changes: 32 additions & 19 deletions bin/assets.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,43 @@ void main() {
CliLogger.info('Inserting Assets images ...\n');

/// Check Assets Directory
if (!Directory('${flutterProjectRoot.path}/assets').existsSync()) {
CliLogger.error('Please Create Assets File And Insert Images', level: CliLoggerLevel.two);
final assetsDir = Directory('${flutterProjectRoot.path}/assets');
if (!assetsDir.existsSync()) {
CliLogger.error('Please Create Assets Folder And Insert Images', level: CliLoggerLevel.two);
exit(1);
}
///
final getAssetsDirectory = Directory('${flutterProjectRoot.path}/assets');
final assetDirs = getAssetsDirectory.listSync(recursive: false).whereType<Directory>().toList();

/// Get all subdirectories of the 'assets' directory recursively
final assetDirs = _getSubdirectories(assetsDir);
if (assetDirs.isEmpty) {
CliLogger.error('No subdirectories found in the assets folder.', level: CliLoggerLevel.two);
exit(1);
}

final folderNames = assetDirs.map((dir) => p.basename(dir.path)).toList();
///
print("Where your wanna create this file: example - lib/src/styles/ ");
final appAssetsInput = Input(prompt: 'Where your wanna create this file: ').interact();

print("Where do you want to create this file: example - lib/src/styles/");
final appAssetsInput = Input(prompt: 'Where do you want to create this file: ').interact();
final getLibDirectory = Directory('${flutterProjectRoot.path}/$appAssetsInput');
if(!getLibDirectory.existsSync()){
if (!getLibDirectory.existsSync()) {
getLibDirectory.createSync(recursive: true);
}
final outputFile = File('${getLibDirectory.path}/app_assets.dart');
///
final getAssetFilesList = _getListAssetFiles(getAssetsDirectory);

final getAssetFilesList = _getListAssetFiles(assetsDir);
outputFile.writeAsStringSync(_writingAssetsClass(getAssetFilesList, folderNames));

CliLogger.endLog();
}

List<String> _getListAssetFiles(Directory assetsDir) {
final allFiles = <String>[];
assetsDir.listSync(recursive: true).whereType<File>().forEach((file) {
allFiles.add(file.path);
});
return allFiles;
}

String _writingAssetsClass(List<String> files, List<String> folderNames) {
final buffer = StringBuffer();
buffer.writeln("class AppAssets {");
Expand Down Expand Up @@ -62,12 +77,10 @@ void _writeAssetsName(List<String> files, StringBuffer buffer, String groupName,
}
}

List<String> _getListAssetFiles(Directory assetsDir) {
final assetDirs = assetsDir.listSync(recursive: false).whereType<Directory>().toList();
final allFiles = <String>[];
for (var dir in assetDirs) {
final files = dir.listSync(recursive: true).whereType<File>().map((file) => file.path).toList();
allFiles.addAll(files);
}
return allFiles;
List<Directory> _getSubdirectories(Directory directory) {
final dirs = <Directory>[];
directory.listSync(recursive: true, followLinks: false).forEach((entity) {
if (entity is Directory) dirs.add(entity);
});
return dirs;
}
4 changes: 2 additions & 2 deletions bin/screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ void main() {
}

/// creating widget dart file here ---
final widgetsDartInput = Input(prompt: 'Enter Your All Widget Name: ').interact();
final widgetsDartInput = Input(prompt: 'Enter Your one Widget Name: ').interact();
final widgetsDart = File('${screenNameDir.path}/widgets/$widgetsDartInput.dart');
if (!widgetsDart.existsSync()) {
widgetsDart.createSync(recursive: true);
Expand All @@ -72,7 +72,7 @@ void main() {
final modelInput = Input(prompt: 'Do you want to Model Directory? (y/n): ').interact();
if (modelInput == 'y') {
/// creating widget directory here ---
final widgetDirName = Directory('${screenNameDir.path}/Model');
final widgetDirName = Directory('${screenNameDir.path}/model');
if (!widgetDirName.existsSync()) {
widgetDirName.createSync();
CliLogger.repositoryLog("Model Directory Generated Successfully");
Expand Down
163 changes: 163 additions & 0 deletions example/app_assets.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
class AppAssets {

/* fonts Folder */
static const String fonts = 'assets/fonts';

/* ubuntu Folder */
static const String ubuntu = 'assets/ubuntu';
static const String sfProRoundedRegularUbuntu = '$ubuntu/SF-Pro-Rounded-Regular.ttf';

/* images Folder */
static const String images = 'assets/images';
static const String addressInfoImages = '$images/address-info.png';
static const String addressImages = '$images/address.png';
static const String appliedCouponImages = '$images/applied-coupon.png';
static const String arImages = '$images/ar.png';
static const String attachmentImages = '$images/attachment.png';
static const String authenticImages = '$images/authentic.png';
static const String bagImages = '$images/bag.png';
static const String billingToImages = '$images/billing-to.png';
static const String bnImages = '$images/bn.png';
static const String callIconImages = '$images/call-icon.png';
static const String cancelOrderImages = '$images/cancel-order.png';
static const String cancelImages = '$images/cancel.png';
static const String cartArrowDownImages = '$images/cart-arrow-down.png';
static const String cartImages = '$images/cart.png';
static const String categoryImages = '$images/category.png';
static const String chatImages = '$images/chat.png';
static const String chatsImages = '$images/chats.png';
static const String cityImages = '$images/city.png';
static const String cloudDownloadImages = '$images/cloud-download.png';
static const String codImages = '$images/cod.png';
static const String coinCreditImages = '$images/coin-credit.png';
static const String coinDebitImages = '$images/coin-debit.png';
static const String compareImages = '$images/compare.png';
static const String complaintImages = '$images/complaint.png';
static const String contactInfoImages = '$images/contact-info.png';
static const String contactUsBgImages = '$images/contact-us-bg.png';
static const String countryImages = '$images/country.png';
static const String couponImages = '$images/coupon.png';
static const String currencyImages = '$images/currency.png';
static const String currentShapeImages = '$images/current-shape.png';
static const String dateTimeIconImages = '$images/date-time-icon.png';
static const String dealOfDayImages = '$images/deal-of-day.png';
static const String deleteImages = '$images/delete.png';
static const String deliveredImages = '$images/delivered.png';
static const String deliveryToImages = '$images/delivery-to.png';
static const String deliveryImages = '$images/delivery.png';
static const String dollarIconImages = '$images/dollar-icon.png';
static const String downloadImages = '$images/download.png';
static const String dropdownImages = '$images/dropdown.png';
static const String eCouponImages = '$images/e-coupon.png';
static const String editImages = '$images/edit.png';
static const String emailImages = '$images/email.png';
static const String emojiImages = '$images/emoji.png';
static const String emptyCartImages = '$images/empty-cart.png';
static const String emptyProductImages = '$images/empty-product.png';
static const String enImages = '$images/en.png';
static const String esImages = '$images/es.png';
static const String exitImages = '$images/exit.png';
static const String facebookImages = '$images/facebook.png';
static const String faqImages = '$images/faq.png';
static const String fileIconImages = '$images/file-icon.png';
static const String fileImages = '$images/file.png';
static const String filterImages = '$images/filter.png';
static const String firstOrderImages = '$images/first-order.png';
static const String flashDealImages = '$images/flash-deal.png';
static const String flashBannerImages = '$images/flash_banner.png';
static const String freeCouponImages = '$images/free-coupon.png';
static const String freeShippingImages = '$images/free-shipping.png';
static const String googleImages = '$images/google.png';
static const String guestProfileImages = '$images/guest-profile.png';
static const String homeImages = '$images/home.png';
static const String iMarkImages = '$images/i-mark.png';
static const String inImages = '$images/in.png';
static const String infoQueryImages = '$images/info-query.png';
static const String languageImages = '$images/language.png';
static const String leftImages = '$images/left.png';
static const String logOutImages = '$images/log-out.png';
static const String loginBgImages = '$images/login-bg.png';
static const String loginIconImages = '$images/login-icon.png';
static const String loginImages = '$images/login.png';
static const String logoWithNameImages = '$images/logo-with-name.png';
static const String logoImages = '$images/logo.png';
static const String loyaltyPointBgImages = '$images/loyalty-point-bg.png';
static const String maintenanceImages = '$images/maintenance.png';
static const String mapBgImages = '$images/map-bg.png';
static const String morePageHeaderImages = '$images/more-page-header.png';
static const String moreImages = '$images/more.png';
static const String myReviewIconImages = '$images/my-review-icon.png';
static const String noAddressImages = '$images/no-address.png';
static const String noCouponImages = '$images/no-coupon.png';
static const String noDataImages = '$images/no-data.png';
static const String noInboxImages = '$images/no-inbox.png';
static const String noNotificationImages = '$images/no-notification.png';
static const String noOfferImages = '$images/no-offer.png';
static const String noOrderImages = '$images/no-order.png';
static const String noProductImages = '$images/no-product.png';
static const String noTicketImages = '$images/no-ticket.png';
static const String noTransactionImages = '$images/no-transaction.png';
static const String noWishlistImages = '$images/no-wishlist.png';
static const String notificationImages = '$images/notification.png';
static const String offerIconImages = '$images/offer-icon.png';
static const String officeImages = '$images/office.png';
static const String offlinePaymentImages = '$images/offline-payment.png';
static const String onboardingImageOneImages = '$images/onboarding-image-one.png';
static const String onboardingImageThreeImages = '$images/onboarding-image-three.png';
static const String onboardingImageTwoImages = '$images/onboarding-image-two.png';
static const String oppsInternetImages = '$images/opps-internet.png';
static const String orderConfirmedImages = '$images/order-confirmed.png';
static const String orderIdImages = '$images/order-id.png';
static const String orderPlaceImages = '$images/order-place.png';
static const String orderImages = '$images/order.png';
static const String outForDeliveryImages = '$images/out-for-delivery.png';
static const String partnerRequestImages = '$images/partner-request.png';
static const String passImages = '$images/pass.png';
static const String payWalletImages = '$images/pay-wallet.png';
static const String placeholder1x1Images = '$images/placeholder-1x1.png';
static const String placeholder3x1Images = '$images/placeholder-3x1.png';
static const String preferenceImages = '$images/preference.png';
static const String privacyPolicyImages = '$images/privacy-policy.png';
static const String refAndEarnImages = '$images/ref-and-earn.png';
static const String referAndEarnImages = '$images/refer-and-earn.png';
static const String removeAddressImages = '$images/remove-address.png';
static const String removeWishImages = '$images/remove-wish.png';
static const String resetImages = '$images/reset.png';
static const String rightImages = '$images/right.png';
static const String safePaymentImages = '$images/safe-payment.png';
static const String searchImages = '$images/search.png';
static const String sellerReplyImages = '$images/seller-reply.png';
static const String sendImages = '$images/send.png';
static const String settingsImages = '$images/settings.png';
static const String sevenDayReturnImages = '$images/seven-day-return.png';
static const String shadowImages = '$images/shadow.png';
static const String shareImages = '$images/share.png';
static const String shipmentImages = '$images/shipment.png';
static const String shippingMethodImages = '$images/shipping-method.png';
static const String smsImages = '$images/sms.png';
static const String sortImages = '$images/sort.png';
static const String splashLogoImages = '$images/splash-logo.gif';
static const String storeImages = '$images/store.png';
static const String sunnyDayImages = '$images/sunny-day.png';
static const String termsAndConditionsImages = '$images/terms-and-conditions.png';
static const String themeImages = '$images/theme.png';
static const String trackOrderImages = '$images/track-order.png';
static const String trophyImages = '$images/trophy.png';
static const String uploadImageImages = '$images/upload-image.png';
static const String userImages = '$images/user.png';
static const String usernameImages = '$images/username.png';
static const String walletBonusImages = '$images/wallet-bonus.png';
static const String walletImages = '$images/wallet.png';
static const String warningImages = '$images/warning.png';
static const String websiteProblemImages = '$images/website-problem.png';
static const String wishlistImages = '$images/wishlist.png';
static const String yourPointImages = '$images/your-point.png';

/* language Folder */
static const String language = 'assets/language';
static const String arLanguage = '$language/ar.json';
static const String bnLanguage = '$language/bn.json';
static const String enLanguage = '$language/en.json';
static const String esLanguage = '$language/es.json';
static const String hiLanguage = '$language/hi.json';
}
Loading

0 comments on commit 55b2eab

Please sign in to comment.