fit_office library

Classes

AboutModal
A modal dialog that displays information about the FitOffice@DHBW app.
ActiveTimerDialog
AddFriendsButton
A widget that displays a styled button to add friends, alongside a secondary share icon button.
AddFriendsScreen
Screen that allows the current user to search for other users to add as friends, view their friendship status, send friend requests, withdraw requests, or remove friends.
AllExercisesList
AllUsers
A screen that displays a list of all users in the application. Allows the admin to view user details such as username, full name, and email.
AllUsersPage
A page that displays a list of all users or only friends of the current user, with search functionality and admin controls.
App
Main application widget that initializes the app with the given locale
AppInfo
Utility class to fetch application version information.
AppLocalizations
Callers can lookup localized strings with an instance of AppLocalizations returned by AppLocalizations.of(context).
AppLocalizationsDe
The translations for German (de).
AppLocalizationsEn
The translations for English (en).
AuthenticationRepository
AuthenticationRepository is responsible for managing user authentication using Firebase Authentication. It provides methods for email/password login and registration
Avatar
A widget that displays a user's avatar with an option to edit it. This widget allows users to pick an image from their gallery, crop it, and upload it as their profile picture. It uses a StorageService to handle image storage and retrieval.
AvatarWithEdit
A widget that displays a user's avatar with an option to edit it. This widget allows users to pick an image from their gallery, crop it, and upload it as their profile picture. It uses a StorageService to handle image storage and retrieval. It also integrates with a ProfileController to notify when the profile picture is updated. The avatar is displayed as a circular image with a pencil icon for editing. When the avatar is tapped, it opens a zoomed view of the image.
AvatarZoom
A widget that displays a zoomable avatar image. This widget uses a Hero animation to transition between the avatar and the zoomed image. imageProvider is the image to be displayed. heroTag is the tag used for the Hero animation. Usage:
BugReportModal
A modal bottom sheet that provides help and support options for the FitOffice@DHBW application.
CancelExerciseDialog
ConfirmVideoDeleteDialog
A custom confirmation dialog widget for deleting a video.
CustomProfileButton
A custom button widget for profile actions, featuring an icon, label, and optional active state. It supports both light and dark themes, with customizable colors for the icon and text. The button can be tapped to trigger a callback function, and it visually indicates whether it is active by changing its background color and showing a check icon.
CustomProfileDropdownButton
CustomProfileDropdownButtonState
Dashboard
The main dashboard screen of the app that allows navigation between the Library, Progress, Statistics, and Profile sections.
DashboardBanners
DashboardCategories
A widget that displays categorized lists of exercises in the dashboard, including physical, mental, and favorite exercises.
DashboardCategoriesModel
DashboardCategoriesState
DashboardFavoritesSection
DashboardMentalSection
DashboardPhysicalSection
DashboardSearchBox
DashboardSearchBoxState
DashboardState
DashboardTopCourses
DashboardTopCoursesModel
DbController
DbController class that handles database operations related to user data, exercises, and streaks.
DeepLinkService
Service to handle deep links using Firebase Dynamic Links This service initializes Firebase Dynamic Links, listens for incoming links, Will be deprecated in August 2024. TODO: Should be migrated to Branch.io in the future.
DefaultFirebaseOptions
Default FirebaseOptions for use with your Firebase apps These options are generated by the FlutterFire CLI and should not be modified manually.
DeleteExerciseDialog
A dialog widget that provides UI and functionality to delete a specific exercise.
EditUserPage
A page that allows creating a new user or editing an existing user's details.
EndExerciseDialog
ExerciseController
ExerciseDetailScreen
ExerciseFilter
ExerciseForm
A form widget for creating or editing an exercise.
ExerciseHistoryModel
ExerciseHistoryTab
ExerciseInfoTab
ExerciseModel
ExerciseTimerController
FactDisplayCard
A card widget that displays a fact with an icon, title, and subtitle. The card is styled to look non-interactive, with a faded appearance. It is used to present facts in a visually appealing way, suitable for both light and dark themes.
FadeInAnimationController
FadeInAnimationController is responsible for managing the fade-in animation state and controlling the animation flow for the splash screen and other animations.
FavoriteIcon
FCMTokenService
Service to handle Firebase Cloud Messaging (FCM) token management This service initializes FCM, retrieves the token, and updates it in Firestore. including APNS handling for iOS devices, but isn't working at the moment without an Apple Developer Account.
ForgetPasswordScreen
ForgetPasswordScreen widget that displays a modal bottom sheet for password reset.
FormHeaderWidget
FriendProfile
A screen that displays the profile details of a friend or another user.
FriendRequestsWidget
A widget that displays a list of incoming friend requests for the current user.
FriendsBoxWidget
A widget that displays the current user's friends list in a card-like box, supporting both a preview (up to 3 friends) and an expanded view.
FriendsController
A controller for managing friendships and friend requests.
FriendSearchWidget
A widget that provides a search interface for finding users by their usernames.
FriendshipModel
FullWidthDivider
GlobalExerciseOverlay
GlobalExerciseOverlay is a singleton class that manages an overlay entry
Helper
Helper class for common functionalities like validations and snack bars This class extends GetxController to leverage GetX's reactive state management. It provides static methods for validating user inputs such as usernames, emails, and passwords, as well as methods for displaying various types of snack bars (success, warning, error, modern).
HelpSupportModal
A modal bottom sheet that provides help and support options for the FitOffice@DHBW application.
ImageWithIconSate
ImageWithIconState
InitialBinding
Initial binding for the application
LibraryScreen
A screen displaying the user's exercise library, including search and category-based filtering.
LibraryScreenState
LoginController
LoginController is responsible for managing the login process. It handles user input, form validation, and authentication using email and password.
LoginFormWidget
LoginFormWidget that displays a form for user login with email and password fields.
LoginScreen
LoginScreen widget that displays a login form with a logo, title, subtitle, and navigation to signup.
MailVerification
MailVerification widget that displays a screen for email verification.
MailVerificationController
MailVerificationController is responsible for managing the email verification process. It handles sending verification emails, checking the verification status
OnBoardingController
OnBoardingController is responsible for managing the onboarding process.
OnBoardingModel
OnBoardingModel is a model class that represents the data for each onboarding page.
OnBoardingPageWidget
OnBoardingPageWidget displays a single page of the onboarding process.
OnBoardingScreen
OnBoardingScreen is the main screen for the onboarding process.
PrivacyPolicyModal
A modal bottom sheet that displays the terms and conditions of the FitOffice@DHBW application.
ProfileController
ProfileController class that manages user profile data and operations. It handles fetching, updating, and deleting user profiles, as well as notifying changes in profile picture updates.
ProfileFormScreen
ProfileFormScreenState
ProfileMenuWidget
A widget representing a menu item in the profile section.
ProfileScreen
A screen that displays the user's profile, including personal information, statistics, and settings. This screen allows users to view and edit their profile, manage friends, and access various settings and information about the app.
ProgressChapterWidget
ProgressScreen
ProgressScreen displays the user's progress through chapters of exercises, allowing them to see their current step, chapter completion, and animations for chapter transitions.
ProgressScreenState
QrCodeDialog
A dialog that displays a QR code for adding a user as a friend.
ReplaceVideoDialog
A dialog widget that prompts the user to confirm whether they want to replace an existing video.
SaveButton
A customizable save button widget that visually indicates whether there are unsaved changes.
SignUpController
SignUpController is responsible for managing the sign-up process. It handles user input validation, user creation, and authentication. It uses GetX for state management and navigation.
SignUpFormWidget
SignupScreen
SignupScreen widget that displays a signup form with a logo, title, subtitle, and navigation to login.
SliderAppBar
StartExerciseDialog
StatisticsController
Controller responsible for managing and analyzing user exercise statistics, streaks, and related information from Firestore.
StatisticScreen
A screen that displays various user statistics related to fitness activities.
StatisticScreenState
StatisticsWidget
A widget that displays various fitness statistics related to a user.
StorageService
StorageService is responsible for managing file uploads and retrievals to Firebase Storage and Firestore.
StreakController
Controller responsible for managing UI-bound streak data using reactive GetX observables.
StreakModel
TAnimatePosition
TAppBarTheme
TAppTheme
A class that defines the app's themes, including light and dark themes.
TDialogTheme
TElevatedButtonTheme
TermsConditionsModal
A modal bottom sheet that displays the terms and conditions of the FitOffice@DHBW application.
TFadeInAnimation
A widget that provides a fade-in animation effect with customizable position and duration. This widget uses the GetX package for state management and animation control.
TOutlinedButtonTheme
TTextFormFieldTheme
TTextTheme
UpdateProfileModal
A modal dialog for updating user profile information.
UserModel
UserRepository
UserRepository is responsible for managing user data in Firestore. It provides methods to create, read, update, and delete user records, as well as checking for user existence by email. Uses FirebaseAuth for authentication and FirebaseFirestore for database operations.
VideoPlayerWidget
A widget that plays a video from a network URL or a local file using video_player and chewie for a consistent video UI.
WelcomeScreen
WelcomeScreen widget that displays a welcome message with a logo and buttons for login and signup. It uses GetX for state management and navigation.

Constants

tAccentColor → const Color
tBlackColor → const Color
tBorderRadius → const double
tBottomNavBarSelectedColor → const MaterialColor
tBottomNavBarUnselectedColor → const MaterialColor
tButtonHeight → const double
tCancel → const String
tCardBgColor → const Color
tDarkColor → const Color
tDarkGreyColor → const Color
tDashboardCardPadding → const double
tDashboardPadding → const double
tDefaultAvatar → const String
tDefaultSize → const double
tDefaultSpace → const double
tExerciseDivider → const Color
tFavorites → const String
tFinishExerciseColor → const Color
tFormHeight → const double
tFullBody → const String
tGreyColor → const MaterialColor
tLightGreyColor → const Color
tLogoImage → const String
tLowerBody → const String
tMental → const String
tMind → const String
tOhSnap → const String
tOnBoardingCounter1 → const String
tOnBoardingCounter2 → const String
tOnBoardingCounter3 → const String
tOnBoardingImage1 → const String
tOnBoardingImage2 → const String
tOnBoardingImage3 → const String
tOnBoardingPage1Color → const Color
tOnBoardingPage1DarkColor → const Color
tOnBoardingPage2Color → const Color
tOnBoardingPage2DarkColor → const Color
tOnBoardingPage3Color → const Color
tOnBoardingPage3DarkColor → const Color
tOnBoardingSubTitle1 → const String
tOnBoardingSubTitle2 → const String
tOnBoardingSubTitle3 → const String
tOnBoardingTitle1 → const String
tOnBoardingTitle2 → const String
tOnBoardingTitle3 → const String
tPaleBlackColor → const Color
tPaleWhiteColor → const Color
tPrimaryColor → const Color
tRedColor → const MaterialColor
tSave → const String
tSecondaryColor → const Color
tSplashContainerSize → const double
tStartExerciseColor → const MaterialColor
tUpperBody → const String
tWelcomeScreenImage → const String
tWhiteColor → const Color

Properties

libraryKey GlobalKey<LibraryScreenState>
Global key used to access the state of LibraryScreenState from outside the widget tree.
final

Functions

lookupAppLocalizations(Locale locale) AppLocalizations
saveExerciseWithVideo(String name, String description, String category, String videoUrl) Future<void>
Saves an exercise document in Firestore with provided details and video URL.
showConfirmationDialogModel({required BuildContext context, required String title, required String content, required VoidCallback onConfirm, String confirm = tSave, String cancel = tCancel}) → void
Displays a customizable confirmation dialog with confirm and cancel actions.
showUnifiedDialog<T>({required BuildContext context, required WidgetBuilder builder, bool barrierDismissible = true, LibraryScreenState? libraryState}) Future<T?>
Shows a unified dialog that handles focus and timer state
uploadVideo() Future<String>
Opens the device's gallery to pick a video file and uploads it to Firebase Storage.

Exceptions / Errors

TExceptions