NyApp class

A unified widget that combines theme management and localization.

This simplifies the app entry point by wrapping your MaterialApp with all necessary providers for themes and localization.

Example:

class Main extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return NyApp(
      child: (themeData, locale) => MaterialApp(
        theme: themeData,
        locale: locale,
        localizationsDelegates: NyLocalization.instance.delegates,
        supportedLocales: [Locale('en', 'US')],
        home: HomePage(),
      ),
    );
  }
}

Or use the materialApp factory for a more complete setup:

NyApp.materialApp(
  navigatorKey: navigatorKey,
  initialRoute: '/home',
  onGenerateRoute: router.generator(),
  onUnknownRoute: router.unknownRoute(),
  navigatorObservers: [MyObserver()],
  supportedLocales: [Locale('en', 'US'), Locale('es', 'ES')],
)
Inheritance
Available extensions

Constructors

NyApp({Key? key, required Widget child(ThemeData? themeData, Locale locale)?, Duration themeDuration = const Duration(milliseconds: 200), Curve themeCurve = Curves.easeInOut, Color? backgroundColor})
Create a new NyApp with a custom builder.
const

Properties

backgroundColor → Color?
Background color shown during loading.
final
child → Widget Function(ThemeData? themeData, Locale locale)?
Builder function that receives theme data and locale.
final
hashCode → int
The hash code for this object.
no setterinherited
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
themeCurve → Curve
Curve of the theme transition animation.
final
themeDuration → Duration
Duration of the theme transition animation.
final

Methods

connectiveOr({required Widget offline}) → Widget

Available on Widget, provided by the ConnectiveExtension extension

Wraps the widget in a Connective that shows an offline placeholder.
createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<NyApp>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() → List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
faderBottom({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the bottom of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderFrom({double strength = 0.2, Color color = Colors.black, AlignmentGeometry begin = Alignment.topCenter, AlignmentGeometry end = Alignment.bottomCenter}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader with custom alignment. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderLeft({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the left of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderRight({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the right of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
faderTop({double strength = 0.2, Color color = Colors.black}) → FadeOverlay

Available on StatefulWidget, provided by the NyStatefulExt extension

Make gradient fader from the top of the widget. strength ranges from 0.0 (subtle) to 1.0 (strong).
flexible({Key? key, int flex = 1, FlexFit fit = FlexFit.loose}) → Flexible

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a StatefulWidget Flexible.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
onlyOffline() → Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when offline, otherwise shows nothing.
onlyOnline() → Widget

Available on Widget, provided by the ConnectiveExtension extension

Only shows the widget when online, otherwise shows nothing.
paddingOnly({double left = 0.0, double top = 0.0, double right = 0.0, double bottom = 0.0}) → Padding

Available on StatefulWidget, provided by the NyStatefulExt extension

Add padding to the widget.
paddingSymmetric({double horizontal = 0.0, double vertical = 0.0}) → Padding

Available on StatefulWidget, provided by the NyStatefulExt extension

Add symmetric padding to the widget.
pullable({required Future<void> onRefresh()?, PullableConfig? pullableConfig}) → Widget

Available on Widget, provided by the NyWidgetExt extension

Make a widget pullable using the Pullable widget.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) → DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toSkeleton({Key? key, bool? ignoreContainers, bool? justifyMultiLineText, Color? containersColor, bool ignorePointers = true, bool enabled = true, PaintingEffect? effect, TextBoneBorderRadius? textBoneBorderRadius}) → Skeletonizer

Available on Widget, provided by the NyWidgetExt extension

Make a widget a skeleton using the Skeletonizer package.
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) → String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) → String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) → String
Returns a one-line detailed description of the object.
inherited
toStringShort() → String
A short, textual description of this widget.
inherited
visibleWhen(bool condition) → Widget

Available on StatefulWidget, provided by the NyStatefulExt extension

Make a widget visible when a condition is true.

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Static Methods

materialApp({Key? key, GlobalKey<NavigatorState>? navigatorKey, String? initialRoute, Route? onGenerateRoute(RouteSettings settings)?, Route? onUnknownRoute(RouteSettings settings)?, List<NavigatorObserver> navigatorObservers = const [], List<Locale> supportedLocales = const [Locale('en', 'US')], ThemeMode themeMode = ThemeMode.system, bool debugShowCheckedModeBanner = false, bool debugShowMaterialGrid = false, bool showPerformanceOverlay = false, bool checkerboardRasterCacheImages = false, bool checkerboardOffscreenLayers = false, bool showSemanticsDebugger = false, Duration themeDuration = const Duration(milliseconds: 200), Curve themeCurve = Curves.easeInOut, Color? backgroundColor, Widget? home, String? title, Widget builder(BuildContext, Widget?)?, Locale? localeResolutionCallback(Locale?, Iterable<Locale>)?}) → Widget
Factory constructor for a complete MaterialApp setup.
restart(BuildContext context) → void
Restart the app (useful after language changes).