templates property
Complete map of registered templates indexed by ID
Implementation
static final Map<String, TemplateDefinition> templates = {
'login': TemplateDefinition(
id: 'login',
category: 'auth',
description: 'Standard Login Page with BLoC integration',
requiredWidgets: ['text_input_widget', 'text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getLoginUiTemplate(
className: className,
isLoading: isLoading,
addApiCalling: addApiCalling,
fields: signupFields,
isCurved: isCurved,
buttonColor: buttonColor,
textColor: textColor),
),
'signup': TemplateDefinition(
id: 'signup',
category: 'auth',
description: 'Standard Signup Page with BLoC integration',
requiredWidgets: ['text_input_widget', 'text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getSignupUiTemplate(
className: className,
isLoading: isLoading,
addApiCalling: addApiCalling,
fields: signupFields,
isCurved: isCurved,
buttonColor: buttonColor,
textColor: textColor),
),
'otp': TemplateDefinition(
id: 'otp',
category: 'auth',
description: 'OTP Verification Page',
requiredWidgets: ['text_input_widget', 'text_widget', 'custom_body'],
requiredPackages: ['pinput'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getOtpUiTemplate(
className: className,
isLoading: isLoading,
addApiCalling: addApiCalling,
isCurved: isCurved),
),
'forgot-password': TemplateDefinition(
id: 'forgot-password',
category: 'auth',
description: 'Forgot Password Recovery Page',
requiredWidgets: ['text_input_widget', 'text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getForgotPasswordUiTemplate(
className: className,
isLoading: isLoading,
addApiCalling: addApiCalling,
isCurved: isCurved,
buttonColor: buttonColor,
textColor: textColor),
),
'list': TemplateDefinition(
id: 'list',
category: 'common',
description: 'Standard List View with API support',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getListUiTemplate(
className: className,
isLoading: isLoading,
addApiCalling: addApiCalling),
),
'grid': TemplateDefinition(
id: 'grid',
category: 'common',
description: 'Standard Grid View Layout',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getGridUiTemplate(className: className, isLoading: isLoading),
),
'chat': TemplateDefinition(
id: 'chat',
category: 'social',
description: 'Single Chat Interface',
requiredWidgets: ['text_input_widget', 'text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getChatUiTemplate(className: className, isLoading: isLoading),
),
'faq': TemplateDefinition(
id: 'faq',
category: 'common',
description: 'Frequently Asked Questions with Expandable Items',
requiredWidgets: ['text_widget', 'custom_body', 'common_expand_collaspe'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getFaqUiTemplate(
className: className,
isLoading: isLoading,
projectName: projectName ?? ''),
),
// Additional templates from existing files
'all-chat': TemplateDefinition(
id: 'all-chat',
category: 'social',
description: 'List of all chat conversations',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getAllChatUiTemplate(className: className, isLoading: isLoading),
),
'friend-list': TemplateDefinition(
id: 'friend-list',
category: 'social',
description: 'Simple friend list with avatars',
requiredWidgets: [
'text_widget',
'custom_body',
'friend_card',
'custom_list_widget'
],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getFriendListUiTemplate(className: className, isLoading: isLoading),
),
'friend-swipe': TemplateDefinition(
id: 'friend-swipe',
category: 'social',
description: 'Swipe-based discovery interface',
requiredWidgets: ['custom_body', 'friend_card'],
requiredPackages: ['flutter_card_swiper'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getFriendSwipeUiTemplate(className: className, isLoading: isLoading),
),
'product-details': TemplateDefinition(
id: 'product-details',
category: 'ecommerce',
description: 'High-fidelity product details page',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getProductDetailsUiTemplate(
className: className, isLoading: isLoading),
),
'shopping-cart': TemplateDefinition(
id: 'shopping-cart',
category: 'ecommerce',
description: 'Shopping cart with item list and breakdown',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getShoppingCartUiTemplate(className: className, isLoading: isLoading),
),
'checkout': TemplateDefinition(
id: 'checkout',
category: 'ecommerce',
description: 'Checkout flow with address and payment',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getCheckoutUiTemplate(className: className, isLoading: isLoading),
),
'order-tracking': TemplateDefinition(
id: 'order-tracking',
category: 'ecommerce',
description: 'Real-time order tracking timeline',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getOrderTrackingUiTemplate(
className: className, isLoading: isLoading),
),
'my-orders': TemplateDefinition(
id: 'my-orders',
category: 'ecommerce',
description: 'Order history with status markers',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getMyOrdersUiTemplate(className: className, isLoading: isLoading),
),
'address-book': TemplateDefinition(
id: 'address-book',
category: 'ecommerce',
description: 'Saved shipping addresses management',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getAddressBookUiTemplate(className: className, isLoading: isLoading),
),
'wishlist': TemplateDefinition(
id: 'wishlist',
category: 'ecommerce',
description: 'Favorite items list with quick add to cart',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getWishlistUiTemplate(className: className, isLoading: isLoading),
),
'payment-methods': TemplateDefinition(
id: 'payment-methods',
category: 'ecommerce',
description: 'Managed saved payment methods',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getPaymentMethodsUiTemplate(
className: className, isLoading: isLoading),
),
'ecommerce-home': TemplateDefinition(
id: 'ecommerce-home',
category: 'ecommerce',
description: 'Modern E-commerce home with category filters',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getEcommerceHomeUiTemplate(
className: className, isLoading: isLoading),
),
'order-success': TemplateDefinition(
id: 'order-success',
category: 'ecommerce',
description: 'Professional order confirmation screen',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getOrderSuccessUiTemplate(className: className, isLoading: isLoading),
),
'blank': TemplateDefinition(
id: 'blank',
category: 'common',
description: 'Simple blank page with CustomBody',
requiredWidgets: ['text_widget', 'custom_body'],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getBlankUiTemplate(
className: className,
isLoading: isLoading,
projectName: projectName),
),
'dashboard': TemplateDefinition(
id: 'dashboard',
category: 'dashboard',
description: 'Main Dashboard Host with optional Bottom Bar and Drawer',
requiredWidgets: [
'text_widget',
'custom_body',
'custom_side_drawer',
'custom_bottom_bar'
],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getDashboardHostTemplate(
projectName: projectName ?? '',
className: className,
isLoading: isLoading,
hasBottomBar: hasBottomBar,
hasDrawer: hasDrawer,
tabNames: tabNames,
drawerNames: drawerNames,
),
),
'profile-setup': TemplateDefinition(
id: 'profile-setup',
category: 'auth',
description: 'High-fidelity Profile Setup Page with Image Picker',
requiredWidgets: [
'text_input_widget',
'text_widget',
'custom_body',
'custom_dropdown',
'gender_radio_group',
'common_image_picker'
],
builder: (
{required className,
required isLoading,
addApiCalling = false,
projectName,
hasBottomBar = false,
hasDrawer = false,
tabNames = const [],
drawerNames = const [],
signupFields = const [],
isCurved = true,
buttonColor,
textColor}) =>
getProfileSetupUiTemplate(
className: className,
isLoading: isLoading,
addApiCalling: addApiCalling),
),
};