Skip to content

Commit

Permalink
feat: Event provide, price text input field
Browse files Browse the repository at this point in the history
  • Loading branch information
AhsanRns committed May 8, 2024
1 parent f03ea00 commit 1e076c7
Show file tree
Hide file tree
Showing 18 changed files with 554 additions and 9 deletions.
Binary file added evently/assets/images/denom_pylon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evently/assets/images/denom_usd.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added evently/assets/images/text_field_button.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 6 additions & 1 deletion evently/i18n/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,10 @@
"claim_free_drink": "Claim your free drink at the bar during the event!",
"character_limit": "256 character limit",
"there_no_perks_created": "There are no perks created.",
"free_shirt": "1 free t-shirt"
"free_shirt": "1 free t-shirt",
"is_free_drop": "Is this a free drop?",
"yes": "Yes",
"no" : "No",
"number_tickets": "Number of Tickets",
"network_fee_listed_price_occur_on_chain": "A network fee of 10% the listed price is required for all transactions that occur on-chain"
}
7 changes: 6 additions & 1 deletion evently/i18n/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,10 @@
"claim_free_drink": "Claim your free drink at the bar during the event!",
"character_limit": "256 character limit",
"there_no_perks_created": "There are no perks created.",
"free_shirt": "1 free t-shirt"
"free_shirt": "1 free t-shirt",
"is_free_drop": "Is this a free drop?",
"yes": "Yes",
"no" : "No",
"number_tickets": "Number of Tickets",
"network_fee_listed_price_occur_on_chain": "A network fee of 10% the listed price is required for all transactions that occur on-chain"
}
7 changes: 6 additions & 1 deletion evently/i18n/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,10 @@
"claim_free_drink": "Claim your free drink at the bar during the event!",
"character_limit": "256 character limit",
"there_no_perks_created": "There are no perks created.",
"free_shirt": "1 free t-shirt"
"free_shirt": "1 free t-shirt",
"is_free_drop": "Is this a free drop?",
"yes": "Yes",
"no" : "No",
"number_tickets": "Number of Tickets",
"network_fee_listed_price_occur_on_chain": "A network fee of 10% the listed price is required for all transactions that occur on-chain"
}
7 changes: 6 additions & 1 deletion evently/i18n/ru-RU.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,10 @@
"claim_free_drink": "Claim your free drink at the bar during the event!",
"character_limit": "256 character limit",
"there_no_perks_created": "There are no perks created.",
"free_shirt": "1 free t-shirt"
"free_shirt": "1 free t-shirt",
"is_free_drop": "Is this a free drop?",
"yes": "Yes",
"no" : "No",
"number_tickets": "Number of Tickets",
"network_fee_listed_price_occur_on_chain": "A network fee of 10% the listed price is required for all transactions that occur on-chain"
}
26 changes: 26 additions & 0 deletions evently/lib/evently_provider.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@



import 'package:evently/models/denom.dart';
import 'package:flutter/cupertino.dart';

enum FreeDrop { yes, no, unselected }

class EventlyProvider extends ChangeNotifier {

Denom _selectedDenom = Denom.availableDenoms.first;

Denom get selectedDenom => _selectedDenom;

List<Denom> supportedDenomList = [];

TextEditingController priceController = TextEditingController();

FreeDrop isFreeDrop = FreeDrop.unselected;

void setSelectedDenom(Denom value) {
_selectedDenom = value;
notifyListeners();
}

}
5 changes: 5 additions & 0 deletions evently/lib/generated/locale_keys.g.dart
Original file line number Diff line number Diff line change
Expand Up @@ -36,5 +36,10 @@ abstract class LocaleKeys {
static const character_limit = 'character_limit';
static const there_no_perks_created = 'there_no_perks_created';
static const free_shirt = 'free_shirt';
static const is_free_drop = 'is_free_drop';
static const yes = 'yes';
static const no = 'no';
static const number_tickets = 'number_tickets';
static const network_fee_listed_price_occur_on_chain = 'network_fee_listed_price_occur_on_chain';

}
84 changes: 84 additions & 0 deletions evently/lib/models/denom.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
import 'package:evently/utils/amount_formatter.dart';
import 'package:evently/utils/constants.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

import '../main.dart';

class Denom {
final String name;
final String symbol;
final String icon;

Denom({required this.name, required this.symbol, required this.icon});

factory Denom.initial() {
return Denom(icon: '', name: '', symbol: '');
}

static List<Denom> get availableDenoms => [
Denom(name: kUSDText, symbol: kUsdSymbol, icon: PngUtils.kIconDenomUsd),
Denom(name: kPylonText, symbol: kPylonSymbol, icon: PngUtils.kIconDenomPylon),
];

TextInputFormatter getFormatter() {
if (symbol == kPylonSymbol) {
return AmountFormatter(maxDigits: kMaxPriceLength);
}
return AmountFormatter(maxDigits: kMaxPriceLength, isDecimal: true);
}

@override
String toString() {
return 'Denom{name: $name, symbol: $symbol, icon: $icon}';
}

Widget getIconWidget() {
switch (symbol) {
case kUsdSymbol:
case kPylonSymbol:
case kAtomSymbol:
case kEuroSymbol:
case kJunoSymbol:
return Image.asset(
icon,
height: 20.h,
fit: BoxFit.contain,
width: 20.w,
);
case kEthereumSymbol:
return Container(
padding: EdgeInsets.symmetric(vertical: isTablet ? 5.h : 10.h),
child: Image.asset(
icon,
height: 20.h,
));
case kAgoricSymbol:
return Image.asset(
icon,
height: 15.h,
width: 15.w,
fit: BoxFit.contain,
);
default:
return Image.asset(icon);
}
}

String formatAmount({required String price}) {
switch (symbol) {
case kUsdSymbol:
case kPylonSymbol:
case kAtomSymbol:
case kEuroSymbol:
case kAgoricSymbol:
case kJunoSymbol:
return (double.parse(price.replaceAll(",", "").trim()) * kBigIntBase).toStringAsFixed(0);
case kEthereumSymbol:
return (double.parse(price.replaceAll(",", "").trim()) * kEthIntBase).toStringAsFixed(0);
default:
return (double.parse(price.replaceAll(",", "").trim()) * kBigIntBase).toStringAsFixed(0);
}
}
}
2 changes: 1 addition & 1 deletion evently/lib/screens/detail_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import 'package:evently/utils/evently_app_theme.dart';
import 'package:evently/utils/space_utils.dart';
import 'package:evently/viewmodels/create_event_viewmodel.dart';
import 'package:evently/widgets/clipped_button.dart';
import 'package:evently/widgets/easel_text_field.dart';
import 'package:evently/widgets/evently_text_field.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:provider/provider.dart';
Expand Down
2 changes: 1 addition & 1 deletion evently/lib/screens/overview_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import 'package:evently/utils/evently_app_theme.dart';
import 'package:evently/utils/space_utils.dart';
import 'package:evently/viewmodels/create_event_viewmodel.dart';
import 'package:evently/widgets/clipped_button.dart';
import 'package:evently/widgets/easel_text_field.dart';
import 'package:evently/widgets/evently_text_field.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
Expand Down
2 changes: 1 addition & 1 deletion evently/lib/screens/perks_screen.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import 'package:evently/utils/screen_responsive.dart';
import 'package:evently/utils/space_utils.dart';
import 'package:evently/viewmodels/create_event_viewmodel.dart';
import 'package:evently/widgets/clipped_button.dart';
import 'package:evently/widgets/easel_text_field.dart';
import 'package:evently/widgets/evently_text_field.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/flutter_svg.dart';
Expand Down
Loading

0 comments on commit 1e076c7

Please sign in to comment.