├── .github
├── FUNDING.yml
└── workflows
│ ├── flutter.yml
│ ├── release.yml
│ └── verify-gradle-wrapper.yml
├── .gitignore
├── .metadata
├── .vscode
└── settings.json
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── analysis_options.yaml
├── android
├── .gitignore
├── app
│ ├── build.gradle
│ └── src
│ │ ├── debug
│ │ └── AndroidManifest.xml
│ │ ├── main
│ │ ├── AndroidManifest.xml
│ │ ├── kotlin
│ │ │ └── com
│ │ │ │ └── example
│ │ │ │ └── labplus_for_gitlab
│ │ │ │ └── MainActivity.kt
│ │ └── res
│ │ │ ├── drawable-hdpi
│ │ │ └── splash.png
│ │ │ ├── drawable-mdpi
│ │ │ └── splash.png
│ │ │ ├── drawable-night-v21
│ │ │ ├── background.png
│ │ │ └── launch_background.xml
│ │ │ ├── drawable-night
│ │ │ ├── background.png
│ │ │ └── launch_background.xml
│ │ │ ├── drawable-v21
│ │ │ ├── background.png
│ │ │ └── launch_background.xml
│ │ │ ├── drawable-xhdpi
│ │ │ └── splash.png
│ │ │ ├── drawable-xxhdpi
│ │ │ └── splash.png
│ │ │ ├── drawable-xxxhdpi
│ │ │ └── splash.png
│ │ │ ├── drawable
│ │ │ ├── background.png
│ │ │ └── launch_background.xml
│ │ │ ├── mipmap-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── mipmap-xxxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-night-v31
│ │ │ └── styles.xml
│ │ │ ├── values-night
│ │ │ └── styles.xml
│ │ │ ├── values-v31
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ └── styles.xml
│ │ └── profile
│ │ └── AndroidManifest.xml
├── build.gradle
├── gradle.properties
├── gradle
│ └── wrapper
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
└── settings.gradle
├── assets
├── logo
│ └── 2.svg
├── splash.png
└── splash_400.png
├── build_runner.bat
├── docs
└── images
│ ├── IMG_2854.PNG
│ ├── IMG_2855.PNG
│ ├── IMG_2856.PNG
│ ├── IMG_2857.PNG
│ ├── IMG_2858.PNG
│ ├── IMG_2861.PNG
│ ├── IMG_2862.PNG
│ ├── IMG_2863.PNG
│ ├── IMG_2876.PNG
│ ├── IMG_2886.PNG
│ ├── IMG_2887.PNG
│ ├── IMG_2936.PNG
│ ├── IMG_3133.PNG
│ └── Simulator Screen Shot - iPad Pro (12.9-inch) (5th generation) - 2022-02-20 at 22.04.21.png
├── fastlane
└── metadata
│ └── android
│ ├── de-DE
│ ├── changelog
│ │ └── 1.txt
│ ├── full_description.txt
│ ├── images
│ │ ├── icon.png
│ │ └── phoneScreenshots
│ │ │ ├── activity.png
│ │ │ ├── activity_dark.png
│ │ │ ├── auth.png
│ │ │ ├── commits.png
│ │ │ ├── commits_dark.png
│ │ │ ├── merge-request-2.png
│ │ │ ├── merge-request-2_dark.png
│ │ │ ├── merge-request-notes.png
│ │ │ ├── merge-request-notes_dark.png
│ │ │ ├── merge-request.png
│ │ │ ├── merge-request_dark.png
│ │ │ ├── merge-requests.png
│ │ │ ├── merge-requests_dark.png
│ │ │ ├── project.png
│ │ │ ├── project_dark.png
│ │ │ ├── projects.png
│ │ │ └── projects_dark.png
│ ├── short_description.txt
│ └── title.txt
│ └── en-US
│ ├── changelog
│ └── 1.txt
│ ├── full_description.txt
│ ├── images
│ ├── icon.png
│ └── phoneScreenshots
│ │ ├── activity.png
│ │ ├── activity_dark.png
│ │ ├── auth.png
│ │ ├── commits.png
│ │ ├── commits_dark.png
│ │ ├── merge-request-2.png
│ │ ├── merge-request-2_dark.png
│ │ ├── merge-request-notes.png
│ │ ├── merge-request-notes_dark.png
│ │ ├── merge-request.png
│ │ ├── merge-request_dark.png
│ │ ├── merge-requests.png
│ │ ├── merge-requests_dark.png
│ │ ├── project.png
│ │ ├── project_dark.png
│ │ ├── projects.png
│ │ └── projects_dark.png
│ ├── short_description.txt
│ └── title.txt
├── fonts
├── SourceCodePro-Black.ttf
├── SourceCodePro-BlackIt.ttf
├── SourceCodePro-Bold.ttf
├── SourceCodePro-BoldIt.ttf
├── SourceCodePro-ExtraLight.ttf
├── SourceCodePro-ExtraLightIt.ttf
├── SourceCodePro-It.ttf
├── SourceCodePro-Light.ttf
├── SourceCodePro-LightIt.ttf
├── SourceCodePro-Medium.ttf
├── SourceCodePro-MediumIt.ttf
├── SourceCodePro-Regular.ttf
├── SourceCodePro-Semibold.ttf
└── SourceCodePro-SemiboldIt.ttf
├── ios
├── .gitignore
├── Flutter
│ ├── AppFrameworkInfo.plist
│ ├── Debug.xcconfig
│ └── Release.xcconfig
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ │ ├── IDEWorkspaceChecks.plist
│ │ │ └── WorkspaceSettings.xcsettings
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ ├── 100.png
│ │ ├── 1024.png
│ │ ├── 114.png
│ │ ├── 120.png
│ │ ├── 128.png
│ │ ├── 144.png
│ │ ├── 152.png
│ │ ├── 16.png
│ │ ├── 167.png
│ │ ├── 172.png
│ │ ├── 180.png
│ │ ├── 196.png
│ │ ├── 20.png
│ │ ├── 216.png
│ │ ├── 256.png
│ │ ├── 29.png
│ │ ├── 32.png
│ │ ├── 40.png
│ │ ├── 48.png
│ │ ├── 50.png
│ │ ├── 512.png
│ │ ├── 55.png
│ │ ├── 57.png
│ │ ├── 58.png
│ │ ├── 60.png
│ │ ├── 64.png
│ │ ├── 72.png
│ │ ├── 76.png
│ │ ├── 80.png
│ │ ├── 87.png
│ │ ├── 88.png
│ │ └── Contents.json
│ ├── LaunchBackground.imageset
│ │ ├── Contents.json
│ │ ├── background.png
│ │ └── darkbackground.png
│ └── LaunchImage.imageset
│ │ ├── Contents.json
│ │ ├── LaunchImage.png
│ │ ├── LaunchImage@2x.png
│ │ ├── LaunchImage@3x.png
│ │ └── README.md
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ └── Runner-Bridging-Header.h
├── lib
├── api
│ ├── api.dart
│ ├── api_provider.dart
│ ├── api_repository.dart
│ ├── base_provider.dart
│ └── utils.dart
├── app_binding.dart
├── di.dart
├── lang
│ ├── en_US.dart
│ ├── lang.dart
│ ├── pt_BR.dart
│ └── translation_service.dart
├── main.dart
├── models
│ ├── app
│ │ ├── app_account.dart
│ │ ├── app_account.g.dart
│ │ ├── secure_app_settings.dart
│ │ └── secure_app_settings.g.dart
│ ├── artifact.dart
│ ├── artifact.g.dart
│ ├── artifacts_file.dart
│ ├── artifacts_file.g.dart
│ ├── author.dart
│ ├── author.g.dart
│ ├── bank_card.dart
│ ├── branch.dart
│ ├── branch.g.dart
│ ├── commit.dart
│ ├── commit.g.dart
│ ├── commit_stats.dart
│ ├── commit_stats.g.dart
│ ├── detailed_merge_request.dart
│ ├── detailed_merge_request.g.dart
│ ├── diff.dart
│ ├── diff.g.dart
│ ├── diff_refs.dart
│ ├── diff_refs.g.dart
│ ├── event.dart
│ ├── event.g.dart
│ ├── event_push_data.dart
│ ├── event_push_data.g.dart
│ ├── file.dart
│ ├── file.g.dart
│ ├── group.dart
│ ├── group.g.dart
│ ├── group_label.dart
│ ├── group_label.g.dart
│ ├── group_milestone.dart
│ ├── group_milestone.g.dart
│ ├── issue.dart
│ ├── issue.g.dart
│ ├── job.dart
│ ├── job.g.dart
│ ├── member.dart
│ ├── member.g.dart
│ ├── merge_request.dart
│ ├── merge_request.g.dart
│ ├── milestone.dart
│ ├── milestone.g.dart
│ ├── models.dart
│ ├── note.dart
│ ├── note.g.dart
│ ├── permission_access.dart
│ ├── permission_access.g.dart
│ ├── pipeline.dart
│ ├── pipeline.g.dart
│ ├── project.dart
│ ├── project.g.dart
│ ├── project_label.dart
│ ├── project_label.g.dart
│ ├── project_milestone.dart
│ ├── project_milestone.g.dart
│ ├── project_namespace.dart
│ ├── project_namespace.g.dart
│ ├── project_permissions.dart
│ ├── project_permissions.g.dart
│ ├── project_snippet.dart
│ ├── project_snippet.g.dart
│ ├── references.dart
│ ├── references.g.dart
│ ├── request
│ │ ├── access_token_request.dart
│ │ ├── access_token_request.g.dart
│ │ ├── access_token_request_password.dart
│ │ ├── access_token_request_password.g.dart
│ │ ├── add_group_request.dart
│ │ ├── add_group_request.g.dart
│ │ ├── add_member_request.dart
│ │ ├── add_member_request.g.dart
│ │ ├── add_update_milestone_request.dart
│ │ ├── add_update_milestone_request.g.dart
│ │ ├── add_update_snippet_request.dart
│ │ ├── add_update_snippet_request.g.dart
│ │ ├── branches_request.dart
│ │ ├── branches_request.g.dart
│ │ ├── commit_request.dart
│ │ ├── commit_request.g.dart
│ │ ├── commits_request.dart
│ │ ├── commits_request.g.dart
│ │ ├── create_label_request.dart
│ │ ├── create_label_request.g.dart
│ │ ├── create_mr_request.dart
│ │ ├── create_mr_request.g.dart
│ │ ├── create_project_request.dart
│ │ ├── create_project_request.g.dart
│ │ ├── diff_request.dart
│ │ ├── diff_request.g.dart
│ │ ├── events_request.dart
│ │ ├── events_request.g.dart
│ │ ├── file_request.dart
│ │ ├── file_request.g.dart
│ │ ├── find_users_request.dart
│ │ ├── find_users_request.g.dart
│ │ ├── group_labels_request.dart
│ │ ├── group_labels_request.g.dart
│ │ ├── group_projects_request.dart
│ │ ├── group_projects_request.g.dart
│ │ ├── groups_request.dart
│ │ ├── groups_request.g.dart
│ │ ├── issues_request.dart
│ │ ├── issues_request.g.dart
│ │ ├── jobs_request.dart
│ │ ├── jobs_request.g.dart
│ │ ├── latest_pipeline_request.dart
│ │ ├── latest_pipeline_request.g.dart
│ │ ├── list_pipelines_request.dart
│ │ ├── list_pipelines_request.g.dart
│ │ ├── members_request.dart
│ │ ├── members_request.g.dart
│ │ ├── merge_request_request.dart
│ │ ├── merge_request_request.g.dart
│ │ ├── milestones_request.dart
│ │ ├── milestones_request.g.dart
│ │ ├── new_issue_note_request.dart
│ │ ├── new_issue_note_request.g.dart
│ │ ├── notes_request.dart
│ │ ├── notes_request.g.dart
│ │ ├── pipeline_jobs_request.dart
│ │ ├── pipeline_jobs_request.g.dart
│ │ ├── project_labels_request.dart
│ │ ├── project_labels_request.g.dart
│ │ ├── project_request.dart
│ │ ├── project_request.g.dart
│ │ ├── projects_request.dart
│ │ ├── projects_request.g.dart
│ │ ├── refresh_token_request.dart
│ │ ├── refresh_token_request.g.dart
│ │ ├── snippets_request.dart
│ │ ├── snippets_request.g.dart
│ │ ├── starrers_request.dart
│ │ ├── starrers_request.g.dart
│ │ ├── tags_request.dart
│ │ ├── tags_request.g.dart
│ │ ├── tree_request.dart
│ │ ├── tree_request.g.dart
│ │ ├── update_issue_note_request.dart
│ │ ├── update_issue_note_request.g.dart
│ │ ├── update_issue_request.dart
│ │ ├── update_issue_request.g.dart
│ │ ├── update_mr_request.dart
│ │ ├── update_mr_request.g.dart
│ │ ├── update_project_label_request.dart
│ │ └── update_project_label_request.g.dart
│ ├── response
│ │ ├── access_token_response.dart
│ │ ├── access_token_response.g.dart
│ │ └── paging_response.dart
│ ├── runner.dart
│ ├── runner.g.dart
│ ├── snippet.dart
│ ├── snippet.g.dart
│ ├── starrers.dart
│ ├── starrers.g.dart
│ ├── tag.dart
│ ├── tag.g.dart
│ ├── tag_commit.dart
│ ├── tag_commit.g.dart
│ ├── tag_release.dart
│ ├── tag_release.g.dart
│ ├── task_completion_status.dart
│ ├── task_completion_status.g.dart
│ ├── time_stats.dart
│ ├── time_stats.g.dart
│ ├── tree.dart
│ ├── tree.g.dart
│ ├── types.dart
│ ├── user.dart
│ └── user.g.dart
├── modules
│ ├── about
│ │ ├── about.dart
│ │ ├── about_binding.dart
│ │ ├── about_controller.dart
│ │ └── about_screen.dart
│ ├── accounts_intern
│ │ ├── account_details_screen.dart
│ │ ├── accounts.dart
│ │ ├── accounts_binding.dart
│ │ ├── accounts_controller.dart
│ │ └── accounts_screen.dart
│ ├── add_members
│ │ ├── add_members.dart
│ │ ├── add_members_binding.dart
│ │ ├── add_members_controller.dart
│ │ └── add_members_screen.dart
│ ├── auth
│ │ ├── auth.dart
│ │ ├── auth_binding.dart
│ │ ├── auth_controller.dart
│ │ └── auth_screen_standard.dart
│ ├── branches
│ │ ├── branches.dart
│ │ ├── branches_binding.dart
│ │ ├── branches_controller.dart
│ │ └── branches_screen.dart
│ ├── code_view
│ │ ├── code_view.dart
│ │ ├── code_view_binding.dart
│ │ ├── code_view_controller.dart
│ │ └── code_view_screen.dart
│ ├── commit
│ │ ├── commit.dart
│ │ ├── commit_binding.dart
│ │ ├── commit_controller.dart
│ │ └── commit_screen.dart
│ ├── commits
│ │ ├── commits.dart
│ │ ├── commits_binding.dart
│ │ ├── commits_controller.dart
│ │ └── commits_screen.dart
│ ├── create_issue
│ │ ├── create_issue.dart
│ │ ├── create_issue_binding.dart
│ │ ├── create_issue_controller.dart
│ │ └── create_issue_screen.dart
│ ├── create_merge_request
│ │ ├── create_merge_request.dart
│ │ ├── create_merge_request_binding.dart
│ │ ├── create_merge_request_controller.dart
│ │ └── create_merge_request_screen.dart
│ ├── create_milestone
│ │ ├── create_milestone.dart
│ │ ├── create_milestone_binding.dart
│ │ ├── create_milestone_controller.dart
│ │ └── create_milestone_screen.dart
│ ├── create_project
│ │ ├── create_project.dart
│ │ ├── create_project_binding.dart
│ │ ├── create_project_controller.dart
│ │ └── create_project_screen.dart
│ ├── create_project_label
│ │ ├── create_project_label.dart
│ │ ├── create_project_label_binding.dart
│ │ ├── create_project_label_controller.dart
│ │ └── create_project_label_screen.dart
│ ├── create_project_snippet
│ │ ├── create_project_snippet.dart
│ │ ├── create_project_snippet_binding.dart
│ │ ├── create_project_snippet_controller.dart
│ │ └── create_project_snippet_screen.dart
│ ├── edit_issue
│ │ ├── edit_issue.dart
│ │ ├── edit_issue_binding.dart
│ │ ├── edit_issue_controller.dart
│ │ └── edit_issue_screen.dart
│ ├── edit_issue_note
│ │ ├── edit_issue_note.dart
│ │ ├── edit_issue_note_binding.dart
│ │ ├── edit_issue_note_controller.dart
│ │ └── edit_issue_note_screen.dart
│ ├── edit_merge_request
│ │ ├── edit_merge_request.dart
│ │ ├── edit_merge_request_binding.dart
│ │ ├── edit_merge_request_controller.dart
│ │ └── edit_merge_request_screen.dart
│ ├── edit_milestone
│ │ ├── edit_milestone.dart
│ │ ├── edit_milestone_binding.dart
│ │ ├── edit_milestone_controller.dart
│ │ └── edit_milestone_screen.dart
│ ├── edit_project
│ │ ├── edit_project.dart
│ │ ├── edit_project_binding.dart
│ │ ├── edit_project_controller.dart
│ │ └── edit_project_screen.dart
│ ├── edit_project_label
│ │ ├── edit_project_label.dart
│ │ ├── edit_project_label_binding.dart
│ │ ├── edit_project_label_controller.dart
│ │ └── edit_project_label_screen.dart
│ ├── edit_project_snippet
│ │ ├── edit_project_snippet.dart
│ │ ├── edit_project_snippet_binding.dart
│ │ ├── edit_project_snippet_controller.dart
│ │ └── edit_project_snippet_screen.dart
│ ├── groups
│ │ ├── group_details_screen.dart
│ │ ├── groups.dart
│ │ ├── groups_binding.dart
│ │ ├── groups_controller.dart
│ │ ├── groups_screen.dart
│ │ └── new_group_screen.dart
│ ├── home
│ │ ├── home.dart
│ │ ├── home_binding.dart
│ │ ├── home_controller.dart
│ │ ├── home_screen.dart
│ │ └── tabs
│ │ │ ├── events_tab.dart
│ │ │ ├── issues_tab.dart
│ │ │ ├── merge_reqests_tab.dart
│ │ │ ├── projects_tab.dart
│ │ │ └── tabs.dart
│ ├── image_viewer
│ │ ├── image_viewer.dart
│ │ ├── image_viewer_binding.dart
│ │ ├── image_viewer_controller.dart
│ │ └── image_viewer_screen.dart
│ ├── issue
│ │ ├── issue.dart
│ │ ├── issue_binding.dart
│ │ ├── issue_controller.dart
│ │ └── issue_screen.dart
│ ├── issue_notes
│ │ ├── issue_notes.dart
│ │ ├── issue_notes_binding.dart
│ │ ├── issue_notes_controller.dart
│ │ └── issue_notes_screen.dart
│ ├── issue_related_requests
│ │ ├── issue_related_merge_requests.dart
│ │ ├── issue_related_merge_requests_binding.dart
│ │ ├── issue_related_merge_requests_controller.dart
│ │ └── issue_related_merge_requests_screen.dart
│ ├── issues
│ │ ├── issues.dart
│ │ ├── issues_binding.dart
│ │ ├── issues_controller.dart
│ │ └── issues_screen.dart
│ ├── md_view
│ │ ├── md_view.dart
│ │ ├── md_view_binding.dart
│ │ ├── md_view_controller.dart
│ │ └── md_view_screen.dart
│ ├── member_details
│ │ ├── member_details.dart
│ │ └── member_details_screen.dart
│ ├── merge_request
│ │ ├── merge_request.dart
│ │ ├── merge_request_binding.dart
│ │ ├── merge_request_controller.dart
│ │ └── merge_request_screen.dart
│ ├── merge_request_notes
│ │ ├── merge_request_notes.dart
│ │ ├── merge_request_notes_binding.dart
│ │ ├── merge_request_notes_controller.dart
│ │ └── merge_request_notes_screen.dart
│ ├── merge_requests
│ │ ├── merge_requests.dart
│ │ ├── merge_requests_binding.dart
│ │ ├── merge_requests_controller.dart
│ │ └── merge_requests_screen.dart
│ ├── milestone
│ │ ├── milestone.dart
│ │ ├── milestone_binding.dart
│ │ ├── milestone_controller.dart
│ │ └── milestone_screen.dart
│ ├── milestones
│ │ ├── milestones.dart
│ │ ├── milestones_binding.dart
│ │ ├── milestones_controller.dart
│ │ └── milestones_screen.dart
│ ├── project_activity
│ │ ├── project_activity.dart
│ │ ├── project_activity_binding.dart
│ │ ├── project_activity_controller.dart
│ │ └── project_activity_screen.dart
│ ├── project_details
│ │ ├── project_details.dart
│ │ ├── project_details_binding.dart
│ │ ├── project_details_controller.dart
│ │ ├── project_details_screen.dart
│ │ └── project_menu_item.dart
│ ├── project_labels
│ │ ├── project_labels.dart
│ │ ├── project_labels_binding.dart
│ │ ├── project_labels_controller.dart
│ │ └── project_labels_screen.dart
│ ├── project_members
│ │ ├── project_members.dart
│ │ ├── project_members_binding.dart
│ │ ├── project_members_controller.dart
│ │ └── project_members_screen.dart
│ ├── project_pipelines
│ │ ├── project_pipelines.dart
│ │ ├── project_pipelines_binding.dart
│ │ ├── project_pipelines_controller.dart
│ │ └── project_pipelines_screen.dart
│ ├── project_snippet
│ │ ├── project_snippet.dart
│ │ ├── project_snippet_binding.dart
│ │ ├── project_snippet_controller.dart
│ │ └── project_snippet_screen.dart
│ ├── project_snippets
│ │ ├── project_snippets.dart
│ │ ├── project_snippets_binding.dart
│ │ ├── project_snippets_controller.dart
│ │ └── project_snippets_screen.dart
│ ├── projects
│ │ ├── projects.dart
│ │ ├── projects_binding.dart
│ │ ├── projects_controller.dart
│ │ └── projects_screen.dart
│ ├── settings
│ │ ├── settings.dart
│ │ ├── settings_binding.dart
│ │ ├── settings_controller.dart
│ │ └── settings_screen.dart
│ ├── starrers
│ │ ├── starrers.dart
│ │ ├── starrers_binding.dart
│ │ ├── starrers_controller.dart
│ │ └── starrers_screen.dart
│ └── tree_view
│ │ ├── tree_view.dart
│ │ ├── tree_view_binding.dart
│ │ ├── tree_view_controller.dart
│ │ └── tree_view_screen.dart
├── routes
│ ├── app_pages.dart
│ ├── app_routes.dart
│ └── routes.dart
├── shared
│ ├── constants
│ │ ├── colors.dart
│ │ ├── common.dart
│ │ ├── constants.dart
│ │ ├── secure_storage.dart
│ │ └── sp_storage.dart
│ ├── data
│ │ ├── data.dart
│ │ ├── repository.dart
│ │ ├── secure_storage.dart
│ │ └── sp_storage.dart
│ ├── flutter_highlight
│ │ ├── flutter_highlight.dart
│ │ ├── theme_map.dart
│ │ └── themes
│ │ │ ├── a11y-dark.dart
│ │ │ ├── a11y-light.dart
│ │ │ ├── agate.dart
│ │ │ ├── an-old-hope.dart
│ │ │ ├── androidstudio.dart
│ │ │ ├── arduino-light.dart
│ │ │ ├── arta.dart
│ │ │ ├── ascetic.dart
│ │ │ ├── atelier-cave-dark.dart
│ │ │ ├── atelier-cave-light.dart
│ │ │ ├── atelier-dune-dark.dart
│ │ │ ├── atelier-dune-light.dart
│ │ │ ├── atelier-estuary-dark.dart
│ │ │ ├── atelier-estuary-light.dart
│ │ │ ├── atelier-forest-dark.dart
│ │ │ ├── atelier-forest-light.dart
│ │ │ ├── atelier-heath-dark.dart
│ │ │ ├── atelier-heath-light.dart
│ │ │ ├── atelier-lakeside-dark.dart
│ │ │ ├── atelier-lakeside-light.dart
│ │ │ ├── atelier-plateau-dark.dart
│ │ │ ├── atelier-plateau-light.dart
│ │ │ ├── atelier-savanna-dark.dart
│ │ │ ├── atelier-savanna-light.dart
│ │ │ ├── atelier-seaside-dark.dart
│ │ │ ├── atelier-seaside-light.dart
│ │ │ ├── atelier-sulphurpool-dark.dart
│ │ │ ├── atelier-sulphurpool-light.dart
│ │ │ ├── atom-one-dark-reasonable.dart
│ │ │ ├── atom-one-dark.dart
│ │ │ ├── atom-one-light.dart
│ │ │ ├── brown-paper.dart
│ │ │ ├── codepen-embed.dart
│ │ │ ├── color-brewer.dart
│ │ │ ├── darcula.dart
│ │ │ ├── dark.dart
│ │ │ ├── default.dart
│ │ │ ├── docco.dart
│ │ │ ├── dracula.dart
│ │ │ ├── far.dart
│ │ │ ├── foundation.dart
│ │ │ ├── github-gist.dart
│ │ │ ├── github.dart
│ │ │ ├── gml.dart
│ │ │ ├── googlecode.dart
│ │ │ ├── gradient-dark.dart
│ │ │ ├── grayscale.dart
│ │ │ ├── gruvbox-dark.dart
│ │ │ ├── gruvbox-light.dart
│ │ │ ├── hopscotch.dart
│ │ │ ├── hybrid.dart
│ │ │ ├── idea.dart
│ │ │ ├── ir-black.dart
│ │ │ ├── isbl-editor-dark.dart
│ │ │ ├── isbl-editor-light.dart
│ │ │ ├── kimbie.dark.dart
│ │ │ ├── kimbie.light.dart
│ │ │ ├── lightfair.dart
│ │ │ ├── magula.dart
│ │ │ ├── mono-blue.dart
│ │ │ ├── monokai-sublime.dart
│ │ │ ├── monokai.dart
│ │ │ ├── night-owl.dart
│ │ │ ├── nord.dart
│ │ │ ├── obsidian.dart
│ │ │ ├── ocean.dart
│ │ │ ├── paraiso-dark.dart
│ │ │ ├── paraiso-light.dart
│ │ │ ├── pojoaque.dart
│ │ │ ├── purebasic.dart
│ │ │ ├── qtcreator_dark.dart
│ │ │ ├── qtcreator_light.dart
│ │ │ ├── railscasts.dart
│ │ │ ├── rainbow.dart
│ │ │ ├── routeros.dart
│ │ │ ├── school-book.dart
│ │ │ ├── shades-of-purple.dart
│ │ │ ├── solarized-dark.dart
│ │ │ ├── solarized-light.dart
│ │ │ ├── sunburst.dart
│ │ │ ├── tomorrow-night-blue.dart
│ │ │ ├── tomorrow-night-bright.dart
│ │ │ ├── tomorrow-night-eighties.dart
│ │ │ ├── tomorrow-night.dart
│ │ │ ├── tomorrow.dart
│ │ │ ├── vs.dart
│ │ │ ├── vs2015.dart
│ │ │ ├── xcode.dart
│ │ │ ├── xt256.dart
│ │ │ └── zenburn.dart
│ ├── highlight
│ │ ├── highlight.dart
│ │ ├── highlight_core.dart
│ │ ├── languages
│ │ │ ├── 1c.dart
│ │ │ ├── abnf.dart
│ │ │ ├── accesslog.dart
│ │ │ ├── actionscript.dart
│ │ │ ├── ada.dart
│ │ │ ├── all.dart
│ │ │ ├── angelscript.dart
│ │ │ ├── apache.dart
│ │ │ ├── applescript.dart
│ │ │ ├── arcade.dart
│ │ │ ├── arduino.dart
│ │ │ ├── armasm.dart
│ │ │ ├── asciidoc.dart
│ │ │ ├── aspectj.dart
│ │ │ ├── autohotkey.dart
│ │ │ ├── autoit.dart
│ │ │ ├── avrasm.dart
│ │ │ ├── awk.dart
│ │ │ ├── axapta.dart
│ │ │ ├── bash.dart
│ │ │ ├── basic.dart
│ │ │ ├── bnf.dart
│ │ │ ├── brainfuck.dart
│ │ │ ├── cal.dart
│ │ │ ├── capnproto.dart
│ │ │ ├── ceylon.dart
│ │ │ ├── clean.dart
│ │ │ ├── clojure-repl.dart
│ │ │ ├── clojure.dart
│ │ │ ├── cmake.dart
│ │ │ ├── coffeescript.dart
│ │ │ ├── coq.dart
│ │ │ ├── cos.dart
│ │ │ ├── cpp.dart
│ │ │ ├── crmsh.dart
│ │ │ ├── crystal.dart
│ │ │ ├── cs.dart
│ │ │ ├── csp.dart
│ │ │ ├── css.dart
│ │ │ ├── d.dart
│ │ │ ├── dart.dart
│ │ │ ├── delphi.dart
│ │ │ ├── diff.dart
│ │ │ ├── django.dart
│ │ │ ├── dns.dart
│ │ │ ├── dockerfile.dart
│ │ │ ├── dos.dart
│ │ │ ├── dsconfig.dart
│ │ │ ├── dts.dart
│ │ │ ├── dust.dart
│ │ │ ├── ebnf.dart
│ │ │ ├── elixir.dart
│ │ │ ├── elm.dart
│ │ │ ├── erb.dart
│ │ │ ├── erlang-repl.dart
│ │ │ ├── erlang.dart
│ │ │ ├── excel.dart
│ │ │ ├── fix.dart
│ │ │ ├── flix.dart
│ │ │ ├── fortran.dart
│ │ │ ├── fsharp.dart
│ │ │ ├── gams.dart
│ │ │ ├── gauss.dart
│ │ │ ├── gcode.dart
│ │ │ ├── gherkin.dart
│ │ │ ├── glsl.dart
│ │ │ ├── gml.dart
│ │ │ ├── gn.dart
│ │ │ ├── go.dart
│ │ │ ├── golo.dart
│ │ │ ├── gradle.dart
│ │ │ ├── graphql.dart
│ │ │ ├── groovy.dart
│ │ │ ├── haml.dart
│ │ │ ├── handlebars.dart
│ │ │ ├── haskell.dart
│ │ │ ├── haxe.dart
│ │ │ ├── hsp.dart
│ │ │ ├── htmlbars.dart
│ │ │ ├── http.dart
│ │ │ ├── hy.dart
│ │ │ ├── inform7.dart
│ │ │ ├── ini.dart
│ │ │ ├── irpf90.dart
│ │ │ ├── isbl.dart
│ │ │ ├── java.dart
│ │ │ ├── javascript.dart
│ │ │ ├── jboss-cli.dart
│ │ │ ├── json.dart
│ │ │ ├── julia-repl.dart
│ │ │ ├── julia.dart
│ │ │ ├── kotlin.dart
│ │ │ ├── lasso.dart
│ │ │ ├── ldif.dart
│ │ │ ├── leaf.dart
│ │ │ ├── less.dart
│ │ │ ├── lisp.dart
│ │ │ ├── livecodeserver.dart
│ │ │ ├── livescript.dart
│ │ │ ├── llvm.dart
│ │ │ ├── lsl.dart
│ │ │ ├── lua.dart
│ │ │ ├── makefile.dart
│ │ │ ├── markdown.dart
│ │ │ ├── mathematica.dart
│ │ │ ├── matlab.dart
│ │ │ ├── maxima.dart
│ │ │ ├── mel.dart
│ │ │ ├── mercury.dart
│ │ │ ├── mipsasm.dart
│ │ │ ├── mizar.dart
│ │ │ ├── mojolicious.dart
│ │ │ ├── monkey.dart
│ │ │ ├── moonscript.dart
│ │ │ ├── n1ql.dart
│ │ │ ├── nginx.dart
│ │ │ ├── nimrod.dart
│ │ │ ├── nix.dart
│ │ │ ├── nsis.dart
│ │ │ ├── objectivec.dart
│ │ │ ├── ocaml.dart
│ │ │ ├── openscad.dart
│ │ │ ├── oxygene.dart
│ │ │ ├── parser3.dart
│ │ │ ├── perl.dart
│ │ │ ├── pf.dart
│ │ │ ├── pgsql.dart
│ │ │ ├── php.dart
│ │ │ ├── plaintext.dart
│ │ │ ├── pony.dart
│ │ │ ├── powershell.dart
│ │ │ ├── processing.dart
│ │ │ ├── profile.dart
│ │ │ ├── prolog.dart
│ │ │ ├── properties.dart
│ │ │ ├── protobuf.dart
│ │ │ ├── puppet.dart
│ │ │ ├── purebasic.dart
│ │ │ ├── python.dart
│ │ │ ├── q.dart
│ │ │ ├── qml.dart
│ │ │ ├── r.dart
│ │ │ ├── reasonml.dart
│ │ │ ├── rib.dart
│ │ │ ├── roboconf.dart
│ │ │ ├── routeros.dart
│ │ │ ├── rsl.dart
│ │ │ ├── ruby.dart
│ │ │ ├── ruleslanguage.dart
│ │ │ ├── rust.dart
│ │ │ ├── sas.dart
│ │ │ ├── scala.dart
│ │ │ ├── scheme.dart
│ │ │ ├── scilab.dart
│ │ │ ├── scss.dart
│ │ │ ├── shell.dart
│ │ │ ├── smali.dart
│ │ │ ├── smalltalk.dart
│ │ │ ├── sml.dart
│ │ │ ├── solidity.dart
│ │ │ ├── sqf.dart
│ │ │ ├── sql.dart
│ │ │ ├── stan.dart
│ │ │ ├── stata.dart
│ │ │ ├── step21.dart
│ │ │ ├── stylus.dart
│ │ │ ├── subunit.dart
│ │ │ ├── swift.dart
│ │ │ ├── taggerscript.dart
│ │ │ ├── tap.dart
│ │ │ ├── tcl.dart
│ │ │ ├── tex.dart
│ │ │ ├── thrift.dart
│ │ │ ├── tp.dart
│ │ │ ├── twig.dart
│ │ │ ├── typescript.dart
│ │ │ ├── vala.dart
│ │ │ ├── vbnet.dart
│ │ │ ├── vbscript-html.dart
│ │ │ ├── vbscript.dart
│ │ │ ├── verilog.dart
│ │ │ ├── vhdl.dart
│ │ │ ├── vim.dart
│ │ │ ├── vue.dart
│ │ │ ├── x86asm.dart
│ │ │ ├── xl.dart
│ │ │ ├── xml.dart
│ │ │ ├── xquery.dart
│ │ │ ├── yaml.dart
│ │ │ └── zephir.dart
│ │ └── src
│ │ │ ├── common_modes.dart
│ │ │ ├── highlight.dart
│ │ │ ├── mode.dart
│ │ │ ├── node.dart
│ │ │ ├── result.dart
│ │ │ └── utils.dart
│ ├── http_controller.dart
│ ├── paging_controller.dart
│ ├── shared.dart
│ ├── utils
│ │ ├── common_widget.dart
│ │ ├── delayed_request.dart
│ │ ├── focus.dart
│ │ ├── generics_utils.dart
│ │ ├── navigator_helper.dart
│ │ ├── regex.dart
│ │ ├── size_config.dart
│ │ └── utils.dart
│ └── widgets
│ │ ├── app_drawer.dart
│ │ ├── app_highlight_view.dart
│ │ ├── app_markdown_view.dart
│ │ ├── color_label.dart
│ │ ├── cross_fade.dart
│ │ ├── datetime_field.dart
│ │ ├── drawer_list_tile.dart
│ │ ├── drawer_list_tile_divider.dart
│ │ ├── empty_widget.dart
│ │ ├── event_description_label.dart
│ │ ├── http_error_widget.dart
│ │ ├── http_future_builder.dart
│ │ ├── http_token_expired_widget.dart
│ │ ├── input_field.dart
│ │ ├── list_avatar.dart
│ │ ├── list_visibility_image_avatar.dart
│ │ ├── list_visibility_text_avatar.dart
│ │ ├── loading_widget.dart
│ │ ├── milestone_state_label.dart
│ │ ├── multiline_input_field.dart
│ │ ├── native_widgets.dart
│ │ ├── question_message_preset.dart
│ │ ├── syntax_highlighter.dart
│ │ ├── widgets.dart
│ │ └── x_elevated_button.dart
└── theme
│ ├── theme.dart
│ ├── theme_data.dart
│ └── theme_utils.dart
├── linux
├── .gitignore
├── CMakeLists.txt
├── flutter
│ ├── CMakeLists.txt
│ ├── generated_plugin_registrant.cc
│ ├── generated_plugin_registrant.h
│ └── generated_plugins.cmake
├── main.cc
├── my_application.cc
└── my_application.h
├── macos
├── .gitignore
├── Flutter
│ ├── Flutter-Debug.xcconfig
│ ├── Flutter-Release.xcconfig
│ └── GeneratedPluginRegistrant.swift
├── Podfile
├── Podfile.lock
├── Runner.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── xcshareddata
│ │ └── xcschemes
│ │ └── Runner.xcscheme
├── Runner.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
└── Runner
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ ├── Contents.json
│ │ ├── app_icon_1024.png
│ │ ├── app_icon_128.png
│ │ ├── app_icon_16.png
│ │ ├── app_icon_256.png
│ │ ├── app_icon_32.png
│ │ ├── app_icon_512.png
│ │ └── app_icon_64.png
│ ├── Base.lproj
│ └── MainMenu.xib
│ ├── Configs
│ ├── AppInfo.xcconfig
│ ├── Debug.xcconfig
│ ├── Release.xcconfig
│ └── Warnings.xcconfig
│ ├── DebugProfile.entitlements
│ ├── Info.plist
│ ├── MainFlutterWindow.swift
│ └── Release.entitlements
├── pubspec.lock
├── pubspec.yaml
├── release_android.bat
├── web
├── favicon.png
├── icons
│ ├── Icon-192.png
│ ├── Icon-512.png
│ ├── Icon-maskable-192.png
│ └── Icon-maskable-512.png
├── index.html
└── manifest.json
└── windows
├── .gitignore
├── CMakeLists.txt
├── flutter
├── CMakeLists.txt
├── generated_plugin_registrant.cc
├── generated_plugin_registrant.h
└── generated_plugins.cmake
└── runner
├── CMakeLists.txt
├── Runner.rc
├── flutter_window.cpp
├── flutter_window.h
├── main.cpp
├── resource.h
├── resources
└── app_icon.ico
├── runner.exe.manifest
├── utils.cpp
├── utils.h
├── win32_window.cpp
└── win32_window.h
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: thelooter
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: thelooter
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12 | polar: # Replace with a single Polar username
13 | buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
15 |
--------------------------------------------------------------------------------
/.github/workflows/flutter.yml:
--------------------------------------------------------------------------------
1 | name: Flutter
2 |
3 | on:
4 | push:
5 | branches:
6 | - main
7 | pull_request:
8 | branches:
9 | - main
10 |
11 | jobs:
12 | build:
13 | name: Build
14 | runs-on: ubuntu-latest
15 | steps:
16 | - name: Checkout code
17 | uses: actions/checkout@v2
18 | - name: Set up Flutter
19 | uses: subosito/flutter-action@v1
20 | - run: flutter pub get
21 |
22 | lint:
23 | name: Lint
24 | runs-on: ubuntu-latest
25 | steps:
26 | - name: Checkout code
27 | uses: actions/checkout@v2
28 | - name: Set up Flutter
29 | uses: subosito/flutter-action@v1
30 | - run: flutter pub get
31 | - name: Analyze Dart
32 | uses: zgosalvez/github-actions-analyze-dart@v2
--------------------------------------------------------------------------------
/.github/workflows/verify-gradle-wrapper.yml:
--------------------------------------------------------------------------------
1 | name: "Validate Gradle Wrapper"
2 |
3 | on:
4 | push:
5 |
6 | jobs:
7 | validation:
8 | name: "Validation"
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v4
12 | - uses: gradle/actions/wrapper-validation@v3
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.exclude": {
3 | "**/*.g.dart": true
4 | },
5 | "dart.flutterSdkPath": ".fvm/versions/3.24.1"
6 | }
--------------------------------------------------------------------------------
/android/.gitignore:
--------------------------------------------------------------------------------
1 | /.gradle
2 | /captures/
3 | /gradlew
4 | /gradlew.bat
5 | /local.properties
6 | GeneratedPluginRegistrant.java
7 |
8 | # Remember to never publicly share your keystore.
9 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
10 | key.properties
11 | **/*.keystore
12 | **/*.jks
13 |
--------------------------------------------------------------------------------
/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/app/src/main/kotlin/com/example/labplus_for_gitlab/MainActivity.kt:
--------------------------------------------------------------------------------
1 | package dev.labplus.app
2 |
3 | import io.flutter.embedding.android.FlutterActivity
4 |
5 | class MainActivity: FlutterActivity() {
6 | }
7 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-hdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-hdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-mdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-mdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-night-v21/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-night-v21/background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-night-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 | -
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-night/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-night/background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-night/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 | -
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-v21/background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-v21/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 | -
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-xhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-xxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable-xxxhdpi/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable-xxxhdpi/splash.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/drawable/background.png
--------------------------------------------------------------------------------
/android/app/src/main/res/drawable/launch_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | -
4 |
5 |
6 | -
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/android/app/src/profile/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/android/build.gradle:
--------------------------------------------------------------------------------
1 | allprojects {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 | }
7 |
8 | rootProject.buildDir = '../build'
9 | subprojects {
10 | project.buildDir = "${rootProject.buildDir}/${project.name}"
11 | }
12 | subprojects {
13 | project.evaluationDependsOn(':app')
14 | }
15 |
16 | tasks.register("clean", Delete) {
17 | delete rootProject.buildDir
18 | }
19 |
--------------------------------------------------------------------------------
/android/gradle.properties:
--------------------------------------------------------------------------------
1 | org.gradle.jvmargs=-Xmx1536M
2 | android.useAndroidX=true
3 | android.enableJetifier=true
4 |
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Jun 23 08:50:38 CEST 2017
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip
7 | distributionSha256Sum=85719317abd2112f021d4f41f09ec370534ba288432065f4b477b6a3b652910d
8 |
--------------------------------------------------------------------------------
/android/settings.gradle:
--------------------------------------------------------------------------------
1 | pluginManagement {
2 | def flutterSdkPath = {
3 | def properties = new Properties()
4 | file("local.properties").withInputStream { properties.load(it) }
5 | def flutterSdkPath = properties.getProperty("flutter.sdk")
6 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
7 | return flutterSdkPath
8 | }()
9 |
10 | includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
11 |
12 | repositories {
13 | google()
14 | mavenCentral()
15 | gradlePluginPortal()
16 | }
17 | }
18 |
19 | plugins {
20 | id "dev.flutter.flutter-plugin-loader" version "1.0.0"
21 | id "com.android.application" version "8.3.1" apply false
22 | id "org.jetbrains.kotlin.android" version "1.9.23" apply false
23 | }
24 |
25 | include ":app"
26 |
--------------------------------------------------------------------------------
/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/assets/splash.png
--------------------------------------------------------------------------------
/assets/splash_400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/assets/splash_400.png
--------------------------------------------------------------------------------
/build_runner.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 | fvm flutter pub run build_runner build --delete-conflicting-outputs
--------------------------------------------------------------------------------
/docs/images/IMG_2854.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2854.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2855.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2855.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2856.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2856.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2857.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2857.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2858.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2858.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2861.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2861.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2862.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2862.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2863.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2863.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2876.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2876.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2886.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2886.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2887.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2887.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_2936.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_2936.PNG
--------------------------------------------------------------------------------
/docs/images/IMG_3133.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/IMG_3133.PNG
--------------------------------------------------------------------------------
/docs/images/Simulator Screen Shot - iPad Pro (12.9-inch) (5th generation) - 2022-02-20 at 22.04.21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/docs/images/Simulator Screen Shot - iPad Pro (12.9-inch) (5th generation) - 2022-02-20 at 22.04.21.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/changelog/1.txt:
--------------------------------------------------------------------------------
1 | • Support für Fdroid hinzugefügt
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/full_description.txt:
--------------------------------------------------------------------------------
1 | Lab+ for Gitlab ist dein inoffizieller Begleiter für Gitlab.
2 | Interagiere mit deinen Repositories, Issue und Merge Requests und vielem mehr.
3 |
4 | Features:
5 |
6 | - Repositories betrachten
7 | - Issues betrachten und bearbeiten
8 | - Merge Requests betrachten und bearbeiten
9 | - Den Status deiner CI Pipelines checken
10 | - Den Code deines Projektes betrachten
11 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/icon.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/activity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/activity.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/activity_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/activity_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/auth.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/commits.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/commits.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/commits_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/commits_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-2.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-2_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-2_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-notes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-notes.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-notes_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request-notes_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-request_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-requests.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-requests.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-requests_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/merge-requests_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/project.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/project_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/project_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/projects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/projects.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/images/phoneScreenshots/projects_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/de-DE/images/phoneScreenshots/projects_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/short_description.txt:
--------------------------------------------------------------------------------
1 | Dein inoffizíeller Begleiter für Gitlab
--------------------------------------------------------------------------------
/fastlane/metadata/android/de-DE/title.txt:
--------------------------------------------------------------------------------
1 | Lab+ for Gitlab
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/changelog/1.txt:
--------------------------------------------------------------------------------
1 | • Added Support for Fdroid
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/full_description.txt:
--------------------------------------------------------------------------------
1 | Lab+ for Gitlab is your unofficial Companion for Gitlab.
2 | Use it to view your Repositories and interact with Issues, Merge Requests and Source Code
3 |
4 | Features:
5 |
6 | - View your Repositories
7 | - View and edit your Issues
8 | - View and edit your Merge Requests
9 | - View your Projects Pipeline Status
10 | - View your Projects Code
11 |
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/icon.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/activity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/activity.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/activity_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/activity_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/auth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/auth.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/commits.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/commits.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/commits_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/commits_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-2.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-2_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-2_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-notes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-notes.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-notes_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request-notes_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-request_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-requests.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-requests.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-requests_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/merge-requests_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/project.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/project.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/project_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/project_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/projects.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/projects.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/images/phoneScreenshots/projects_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fastlane/metadata/android/en-US/images/phoneScreenshots/projects_dark.png
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/short_description.txt:
--------------------------------------------------------------------------------
1 | Your unofficial Companion for Gitlab
--------------------------------------------------------------------------------
/fastlane/metadata/android/en-US/title.txt:
--------------------------------------------------------------------------------
1 | Lab+ for Gitlab
--------------------------------------------------------------------------------
/fonts/SourceCodePro-Black.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-Black.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-BlackIt.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-BlackIt.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-Bold.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-BoldIt.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-BoldIt.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-ExtraLight.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-ExtraLight.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-ExtraLightIt.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-ExtraLightIt.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-It.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-It.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-Light.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-Light.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-LightIt.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-LightIt.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-Medium.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-Medium.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-MediumIt.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-MediumIt.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-Regular.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-Semibold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-Semibold.ttf
--------------------------------------------------------------------------------
/fonts/SourceCodePro-SemiboldIt.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/fonts/SourceCodePro-SemiboldIt.ttf
--------------------------------------------------------------------------------
/ios/.gitignore:
--------------------------------------------------------------------------------
1 | **/dgph
2 | *.mode1v3
3 | *.mode2v3
4 | *.moved-aside
5 | *.pbxuser
6 | *.perspectivev3
7 | **/*sync/
8 | .sconsign.dblite
9 | .tags*
10 | **/.vagrant/
11 | **/DerivedData/
12 | Icon?
13 | **/Pods/
14 | **/.symlinks/
15 | profile
16 | xcuserdata
17 | **/.generated/
18 | Flutter/App.framework
19 | Flutter/Flutter.framework
20 | Flutter/Flutter.podspec
21 | Flutter/Generated.xcconfig
22 | Flutter/ephemeral/
23 | Flutter/app.flx
24 | Flutter/app.zip
25 | Flutter/flutter_assets/
26 | Flutter/flutter_export_environment.sh
27 | ServiceDefinitions.json
28 | Runner/GeneratedPluginRegistrant.*
29 |
30 | # Exceptions to above rules.
31 | !default.mode1v3
32 | !default.mode2v3
33 | !default.pbxuser
34 | !default.perspectivev3
35 |
--------------------------------------------------------------------------------
/ios/Flutter/AppFrameworkInfo.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | App
9 | CFBundleIdentifier
10 | io.flutter.flutter.app
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | App
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | MinimumOSVersion
24 | 9.0
25 |
26 |
27 |
--------------------------------------------------------------------------------
/ios/Flutter/Debug.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Flutter/Release.xcconfig:
--------------------------------------------------------------------------------
1 | #include? "Pods/Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"
2 | #include "Generated.xcconfig"
3 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | PreviewsEnabled
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/ios/Runner/AppDelegate.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 | import Flutter
3 |
4 | @UIApplicationMain
5 | @objc class AppDelegate: FlutterAppDelegate {
6 | override func application(
7 | _ application: UIApplication,
8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
9 | ) -> Bool {
10 | GeneratedPluginRegistrant.register(with: self)
11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions)
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/100.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/1024.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/114.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/120.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/128.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/144.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/152.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/16.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/167.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/172.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/172.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/180.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/196.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/20.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/216.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/216.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/256.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/29.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/32.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/40.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/48.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/50.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/512.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/55.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/57.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/58.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/60.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/64.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/72.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/76.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/80.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/87.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/AppIcon.appiconset/88.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/AppIcon.appiconset/88.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/LaunchBackground.imageset/background.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/LaunchBackground.imageset/darkbackground.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "filename" : "LaunchImage.png",
5 | "idiom" : "universal",
6 | "scale" : "1x"
7 | },
8 | {
9 | "filename" : "LaunchImage@2x.png",
10 | "idiom" : "universal",
11 | "scale" : "2x"
12 | },
13 | {
14 | "filename" : "LaunchImage@3x.png",
15 | "idiom" : "universal",
16 | "scale" : "3x"
17 | }
18 | ],
19 | "info" : {
20 | "author" : "xcode",
21 | "version" : 1
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/thelooter/labplus_for_gitlab/ea1596400bb033ea4a5df03436423de4463ffc7e/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png
--------------------------------------------------------------------------------
/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md:
--------------------------------------------------------------------------------
1 | # Launch Screen Assets
2 |
3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory.
4 |
5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
--------------------------------------------------------------------------------
/ios/Runner/Runner-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | #import "GeneratedPluginRegistrant.h"
2 |
--------------------------------------------------------------------------------
/lib/api/api.dart:
--------------------------------------------------------------------------------
1 | export 'base_provider.dart';
2 | export 'api_provider.dart';
3 | export 'api_repository.dart';
4 |
--------------------------------------------------------------------------------
/lib/app_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:labplus_for_gitlab/api/api.dart';
2 | import 'package:get/get.dart';
3 | import 'package:labplus_for_gitlab/shared/shared.dart';
4 |
5 | class AppBinding extends Bindings {
6 | @override
7 | void dependencies() async {
8 | Get.put(ApiProvider(), permanent: true);
9 | Get.put(ApiRepository(apiProvider: Get.find()),
10 | permanent: true);
11 |
12 | Get.put(Repository(), permanent: true);
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/lib/di.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/shared/data/data.dart';
3 |
4 | class DenpendencyInjection {
5 | static Future init() async {
6 | Get.put(SecureStorage(), permanent: true);
7 | await Get.find().init();
8 |
9 | Get.put(SPStorage(), permanent: true);
10 | await Get.find().init();
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/lib/lang/en_US.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: file_names
2 |
3 | const Map enUS = {
4 | 'covid': 'Corona Virus',
5 | 'total_confirmed': 'Total Confirmed',
6 | 'total_deaths': 'Total Deaths',
7 | 'fetch_country': 'Fetch by country',
8 | 'corona_by_country': 'Corona by country',
9 | 'total_infecteds': 'Total Infecteds',
10 | 'details': 'Details',
11 | 'total_recovered': 'Total Recovered',
12 | };
13 |
--------------------------------------------------------------------------------
/lib/lang/lang.dart:
--------------------------------------------------------------------------------
1 | export 'translation_service.dart';
2 |
--------------------------------------------------------------------------------
/lib/lang/pt_BR.dart:
--------------------------------------------------------------------------------
1 | // ignore_for_file: file_names
2 |
3 | const Map ptBR = {
4 | 'covid': 'Corona Vírus',
5 | 'total_confirmed': 'Total confirmado',
6 | 'total_deaths': 'Total de mortes',
7 | 'fetch_country': 'Listar por país',
8 | 'corona_by_country': 'Corona por país',
9 | 'total_infecteds': 'Total de infectados',
10 | 'details': 'Detalhes',
11 | 'total_recovered': 'Total de recuperados'
12 | };
13 |
--------------------------------------------------------------------------------
/lib/lang/translation_service.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:get/get.dart';
3 |
4 | import 'en_US.dart';
5 | import 'pt_BR.dart';
6 |
7 | class TranslationService extends Translations {
8 | static Locale? get locale => Get.deviceLocale;
9 | static const fallbackLocale = Locale('en', 'US');
10 | @override
11 | Map> get keys => {
12 | 'en_US': enUS,
13 | 'pt_BR': ptBR,
14 | };
15 | }
16 |
--------------------------------------------------------------------------------
/lib/models/app/app_account.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 | import 'dart:convert';
3 |
4 | part 'app_account.g.dart';
5 |
6 | @JsonSerializable()
7 | class AppAccount {
8 | int? userId;
9 | String? name;
10 | String? username;
11 | String? avatarUrl;
12 | String? baseUrl;
13 | String? accessToken;
14 | String? refreshToken;
15 |
16 | AppAccount({
17 | this.userId = -1,
18 | this.name = "",
19 | this.username = "",
20 | this.avatarUrl = "",
21 | this.accessToken = "",
22 | this.refreshToken = "",
23 | this.baseUrl = "gitlab.com",
24 | });
25 |
26 | String toJsonString() => json.encode(toJson());
27 |
28 | factory AppAccount.fromJson(Map json) =>
29 | _$AppAccountFromJson(json);
30 |
31 | Map toJson() => _$AppAccountToJson(this);
32 | }
33 |
--------------------------------------------------------------------------------
/lib/models/app/secure_app_settings.dart:
--------------------------------------------------------------------------------
1 | import 'package:labplus_for_gitlab/models/app/app_account.dart';
2 | import 'package:json_annotation/json_annotation.dart';
3 | import 'dart:convert';
4 |
5 | part 'secure_app_settings.g.dart';
6 |
7 | @JsonSerializable()
8 | class SecureAppSettings {
9 | List? accounts;
10 | int? defaultId;
11 |
12 | SecureAppSettings({
13 | this.accounts,
14 | this.defaultId = -1,
15 | });
16 |
17 | String toJsonString() => json.encode(toJson());
18 |
19 | factory SecureAppSettings.fromJson(Map json) =>
20 | _$SecureAppSettingsFromJson(json);
21 |
22 | Map toJson() => _$SecureAppSettingsToJson(this);
23 | }
24 |
--------------------------------------------------------------------------------
/lib/models/app/secure_app_settings.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'secure_app_settings.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | SecureAppSettings _$SecureAppSettingsFromJson(Map json) =>
10 | SecureAppSettings(
11 | accounts: (json['accounts'] as List?)
12 | ?.map((e) => AppAccount.fromJson(e as Map))
13 | .toList(),
14 | defaultId: json['defaultId'] as int? ?? -1,
15 | );
16 |
17 | Map _$SecureAppSettingsToJson(SecureAppSettings instance) =>
18 | {
19 | 'accounts': instance.accounts,
20 | 'defaultId': instance.defaultId,
21 | };
22 |
--------------------------------------------------------------------------------
/lib/models/artifact.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'artifact.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class Artifact {
7 | final String? fileType;
8 | final int? size;
9 | final String? filename;
10 | final String? fileFormat;
11 |
12 | Artifact(
13 | this.fileType,
14 | this.size,
15 | this.filename,
16 | this.fileFormat,
17 | );
18 |
19 | factory Artifact.fromJson(Map json) => _$ArtifactFromJson(json);
20 |
21 | Map toJson() => _$ArtifactToJson(this);
22 | }
23 |
--------------------------------------------------------------------------------
/lib/models/artifact.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'artifact.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | Artifact _$ArtifactFromJson(Map json) => Artifact(
10 | json['file_type'] as String?,
11 | json['size'] as int?,
12 | json['filename'] as String?,
13 | json['file_format'] as String?,
14 | );
15 |
16 | Map _$ArtifactToJson(Artifact instance) => {
17 | 'file_type': instance.fileType,
18 | 'size': instance.size,
19 | 'filename': instance.filename,
20 | 'file_format': instance.fileFormat,
21 | };
22 |
--------------------------------------------------------------------------------
/lib/models/artifacts_file.dart:
--------------------------------------------------------------------------------
1 |
2 | import 'package:json_annotation/json_annotation.dart';
3 |
4 | part 'artifacts_file.g.dart';
5 |
6 | @JsonSerializable(fieldRename: FieldRename.snake)
7 | class ArtifactsFile {
8 | final String? filename;
9 | final int? size;
10 |
11 | ArtifactsFile(this.filename, this.size);
12 |
13 | factory ArtifactsFile.fromJson(Map json) => _$ArtifactsFileFromJson(json);
14 |
15 | Map toJson() => _$ArtifactsFileToJson(this);
16 | }
--------------------------------------------------------------------------------
/lib/models/artifacts_file.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'artifacts_file.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | ArtifactsFile _$ArtifactsFileFromJson(Map json) =>
10 | ArtifactsFile(
11 | json['filename'] as String?,
12 | json['size'] as int?,
13 | );
14 |
15 | Map _$ArtifactsFileToJson(ArtifactsFile instance) =>
16 | {
17 | 'filename': instance.filename,
18 | 'size': instance.size,
19 | };
20 |
--------------------------------------------------------------------------------
/lib/models/author.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'author.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class Author {
7 | final int? id;
8 | final String? name;
9 | final String? username;
10 | final String? state; // AuthorState
11 | final String? avatarUrl;
12 | final String? webUrl;
13 |
14 | Author({
15 | this.id,
16 | this.name = "",
17 | this.username = "",
18 | this.state = "",
19 | this.avatarUrl = "",
20 | this.webUrl = "",
21 | });
22 |
23 | factory Author.fromJson(Map json) => _$AuthorFromJson(json);
24 |
25 | Map toJson() => _$AuthorToJson(this);
26 | }
27 |
--------------------------------------------------------------------------------
/lib/models/branch.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'branch.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class Branch {
7 | final String? name;
8 | final bool? merged;
9 | final bool? protected;
10 | final String? webUrl;
11 |
12 | Branch({
13 | this.name,
14 | this.merged,
15 | this.protected,
16 | this.webUrl,
17 | });
18 |
19 | factory Branch.fromJson(Map json) => _$BranchFromJson(json);
20 |
21 | Map toJson() => _$BranchToJson(this);
22 | }
23 |
--------------------------------------------------------------------------------
/lib/models/branch.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'branch.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | Branch _$BranchFromJson(Map json) => Branch(
10 | name: json['name'] as String?,
11 | merged: json['merged'] as bool?,
12 | protected: json['protected'] as bool?,
13 | webUrl: json['web_url'] as String?,
14 | );
15 |
16 | Map _$BranchToJson(Branch instance) => {
17 | 'name': instance.name,
18 | 'merged': instance.merged,
19 | 'protected': instance.protected,
20 | 'web_url': instance.webUrl,
21 | };
22 |
--------------------------------------------------------------------------------
/lib/models/commit_stats.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'commit_stats.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class CommitStats {
7 | final int? additions;
8 | final int? deletions;
9 | final int? total;
10 |
11 | CommitStats({
12 | this.additions,
13 | this.deletions,
14 | this.total,
15 | });
16 |
17 | factory CommitStats.fromJson(Map json) =>
18 | _$CommitStatsFromJson(json);
19 |
20 | Map toJson() => _$CommitStatsToJson(this);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/models/commit_stats.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'commit_stats.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | CommitStats _$CommitStatsFromJson(Map json) => CommitStats(
10 | additions: json['additions'] as int?,
11 | deletions: json['deletions'] as int?,
12 | total: json['total'] as int?,
13 | );
14 |
15 | Map _$CommitStatsToJson(CommitStats instance) =>
16 | {
17 | 'additions': instance.additions,
18 | 'deletions': instance.deletions,
19 | 'total': instance.total,
20 | };
21 |
--------------------------------------------------------------------------------
/lib/models/diff.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'diff.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class Diff {
7 | final String? diff;
8 | final String? newPath;
9 | final String? oldPath;
10 | final String? aMode;
11 | final String? bMode;
12 | final bool? newFile;
13 | final bool? renamedFile;
14 | final bool? deletedFile;
15 |
16 | Diff({
17 | this.diff,
18 | this.newPath,
19 | this.oldPath,
20 | this.aMode,
21 | this.bMode,
22 | this.newFile,
23 | this.renamedFile,
24 | this.deletedFile,
25 | });
26 |
27 | factory Diff.fromJson(Map json) => _$DiffFromJson(json);
28 |
29 | Map toJson() => _$DiffToJson(this);
30 | }
31 |
--------------------------------------------------------------------------------
/lib/models/diff_refs.dart:
--------------------------------------------------------------------------------
1 |
2 | import 'package:json_annotation/json_annotation.dart';
3 |
4 | part 'diff_refs.g.dart';
5 |
6 | @JsonSerializable(fieldRename: FieldRename.snake)
7 | class DiffRefs {
8 | final String? baseSha;
9 | final String? headSha;
10 | final String? startSha;
11 |
12 | DiffRefs({
13 | this.baseSha,
14 | this.headSha,
15 | this.startSha,
16 | });
17 |
18 | factory DiffRefs.fromJson(Map json) => _$DiffRefsFromJson(json);
19 |
20 | Map toJson() => _$DiffRefsToJson(this);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/models/diff_refs.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'diff_refs.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | DiffRefs _$DiffRefsFromJson(Map json) => DiffRefs(
10 | baseSha: json['base_sha'] as String?,
11 | headSha: json['head_sha'] as String?,
12 | startSha: json['start_sha'] as String?,
13 | );
14 |
15 | Map _$DiffRefsToJson(DiffRefs instance) => {
16 | 'base_sha': instance.baseSha,
17 | 'head_sha': instance.headSha,
18 | 'start_sha': instance.startSha,
19 | };
20 |
--------------------------------------------------------------------------------
/lib/models/event_push_data.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'event_push_data.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class EventPushData {
7 | final int? commitCount;
8 | final String? action;
9 | final String? refType;
10 | final String? commitFrom;
11 | final String? commitTo;
12 | final String? ref;
13 | final String? commitTitle;
14 | final int? refCount;
15 |
16 | EventPushData({
17 | this.commitCount,
18 | this.action,
19 | this.refType,
20 | this.commitFrom,
21 | this.commitTo,
22 | this.ref,
23 | this.commitTitle,
24 | this.refCount,
25 | });
26 |
27 | factory EventPushData.fromJson(Map json) =>
28 | _$EventPushDataFromJson(json);
29 |
30 | Map toJson() => _$EventPushDataToJson(this);
31 | }
32 |
--------------------------------------------------------------------------------
/lib/models/file.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'file.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class File {
7 | final String? fileName;
8 | final String? filePath;
9 | final int? size;
10 | final String? ref;
11 | final String? blobId;
12 | final String? commitId;
13 | final String? lastCommitId;
14 | final String? content;
15 |
16 | File({
17 | this.fileName = "",
18 | this.filePath = "",
19 | this.size = 0,
20 | this.ref = "",
21 | this.blobId = "",
22 | this.commitId = "",
23 | this.lastCommitId = "",
24 | this.content = "",
25 | });
26 |
27 | factory File.fromJson(Map json) => _$FileFromJson(json);
28 |
29 | Map toJson() => _$FileToJson(this);
30 | }
31 |
--------------------------------------------------------------------------------
/lib/models/permission_access.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'permission_access.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class PermissionAccess {
7 | final int? accessLevel;
8 | final int? notificationLevel;
9 |
10 | PermissionAccess({
11 | this.accessLevel,
12 | this.notificationLevel,
13 | });
14 |
15 | factory PermissionAccess.fromJson(Map json) =>
16 | _$PermissionAccessFromJson(json);
17 |
18 | Map toJson() => _$PermissionAccessToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/permission_access.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'permission_access.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | PermissionAccess _$PermissionAccessFromJson(Map json) =>
10 | PermissionAccess(
11 | accessLevel: json['access_level'] as int?,
12 | notificationLevel: json['notification_level'] as int?,
13 | );
14 |
15 | Map _$PermissionAccessToJson(PermissionAccess instance) =>
16 | {
17 | 'access_level': instance.accessLevel,
18 | 'notification_level': instance.notificationLevel,
19 | };
20 |
--------------------------------------------------------------------------------
/lib/models/project_namespace.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'project_namespace.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class ProjectNamespace {
7 | final int? id;
8 | final String? name;
9 | final String? path;
10 | final String? fullPath;
11 | final String? avatarUrl;
12 | final String? webUrl;
13 |
14 | ProjectNamespace({
15 | this.id,
16 | this.name,
17 | this.path,
18 | this.fullPath,
19 | this.avatarUrl,
20 | this.webUrl,
21 | });
22 |
23 | factory ProjectNamespace.fromJson(Map json) =>
24 | _$ProjectNamespaceFromJson(json);
25 |
26 | Map toJson() => _$ProjectNamespaceToJson(this);
27 | }
28 |
--------------------------------------------------------------------------------
/lib/models/project_permissions.dart:
--------------------------------------------------------------------------------
1 | import 'package:labplus_for_gitlab/models/models.dart';
2 | import 'package:json_annotation/json_annotation.dart';
3 |
4 | part 'project_permissions.g.dart';
5 |
6 | @JsonSerializable(fieldRename: FieldRename.snake)
7 | class ProjectPermissions {
8 | final PermissionAccess? projectAccess;
9 | final PermissionAccess? groupAccess;
10 |
11 | ProjectPermissions({
12 | this.projectAccess,
13 | this.groupAccess,
14 | });
15 |
16 | factory ProjectPermissions.fromJson(Map json) =>
17 | _$ProjectPermissionsFromJson(json);
18 |
19 | Map toJson() => _$ProjectPermissionsToJson(this);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/models/references.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'references.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class References {
7 | final String? short;
8 | final String? relative;
9 | final String? full;
10 |
11 | References({
12 | this.short,
13 | this.relative,
14 | this.full,
15 | });
16 |
17 | factory References.fromJson(Map json) =>
18 | _$ReferencesFromJson(json);
19 |
20 | Map toJson() => _$ReferencesToJson(this);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/models/references.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'references.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | References _$ReferencesFromJson(Map json) => References(
10 | short: json['short'] as String?,
11 | relative: json['relative'] as String?,
12 | full: json['full'] as String?,
13 | );
14 |
15 | Map _$ReferencesToJson(References instance) =>
16 | {
17 | 'short': instance.short,
18 | 'relative': instance.relative,
19 | 'full': instance.full,
20 | };
21 |
--------------------------------------------------------------------------------
/lib/models/request/access_token_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'access_token_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class AccessTokenReqest {
7 | final String clientId,
8 | clientSecret,
9 | code,
10 | grantType,
11 | redirectUri,
12 | codeVerifier;
13 |
14 | AccessTokenReqest({
15 | required this.clientId,
16 | required this.clientSecret,
17 | required this.code,
18 | required this.grantType,
19 | required this.redirectUri,
20 | required this.codeVerifier,
21 | });
22 |
23 | factory AccessTokenReqest.fromJson(Map json) =>
24 | _$AccessTokenReqestFromJson(json);
25 |
26 | Map toJson() => _$AccessTokenReqestToJson(this);
27 | }
28 |
--------------------------------------------------------------------------------
/lib/models/request/access_token_request_password.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'access_token_request_password.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class AccessTokenReqestPassword {
7 | final String grantType, username, password;
8 |
9 | AccessTokenReqestPassword({
10 | required this.grantType,
11 | required this.username,
12 | required this.password,
13 | });
14 |
15 | factory AccessTokenReqestPassword.fromJson(Map json) =>
16 | _$AccessTokenReqestPasswordFromJson(json);
17 |
18 | Map toJson() => _$AccessTokenReqestPasswordToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/request/access_token_request_password.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'access_token_request_password.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | AccessTokenReqestPassword _$AccessTokenReqestPasswordFromJson(
10 | Map json) =>
11 | AccessTokenReqestPassword(
12 | grantType: json['grant_type'] as String,
13 | username: json['username'] as String,
14 | password: json['password'] as String,
15 | );
16 |
17 | Map _$AccessTokenReqestPasswordToJson(
18 | AccessTokenReqestPassword instance) =>
19 | {
20 | 'grant_type': instance.grantType,
21 | 'username': instance.username,
22 | 'password': instance.password,
23 | };
24 |
--------------------------------------------------------------------------------
/lib/models/request/add_group_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'add_group_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class AddGroupRequest {
7 | final String? name;
8 | final String? path;
9 | final String? visibility; // GitLabVisibility
10 |
11 | AddGroupRequest({
12 | this.name,
13 | this.path,
14 | this.visibility,
15 | });
16 |
17 | factory AddGroupRequest.fromJson(Map json) =>
18 | _$AddGroupRequestFromJson(json);
19 |
20 | Map toJson() => _$AddGroupRequestToJson(this);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/models/request/add_member_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'add_member_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class AddMemberRequest {
7 | final int? id;
8 | final String? userId; // separated by commas
9 | final int? accessLevel; // MemberAccessLevel
10 | final String? expiresAt; // YEAR-MONTH-DAY
11 | final String? inviteSource;
12 | final int? tasksProjectId;
13 |
14 | AddMemberRequest({
15 | this.id = -1,
16 | this.userId,
17 | this.accessLevel,
18 | this.expiresAt,
19 | this.inviteSource,
20 | this.tasksProjectId,
21 | });
22 |
23 | factory AddMemberRequest.fromJson(Map json) =>
24 | _$AddMemberRequestFromJson(json);
25 |
26 | Map toJson() => _$AddMemberRequestToJson(this);
27 | }
28 |
--------------------------------------------------------------------------------
/lib/models/request/add_update_milestone_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'add_update_milestone_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class AddUpdateMilestoneRequest {
7 | final String? title;
8 | final String? description;
9 | final String? dueDate;
10 | final String? startDate;
11 | final String? stateEvent; // MilestoneStateEvent
12 |
13 | AddUpdateMilestoneRequest({
14 | this.title,
15 | this.description,
16 | this.dueDate,
17 | this.startDate,
18 | this.stateEvent,
19 | });
20 |
21 | factory AddUpdateMilestoneRequest.fromJson(Map json) =>
22 | _$AddUpdateMilestoneRequestFromJson(json);
23 |
24 | Map toJson() => _$AddUpdateMilestoneRequestToJson(this);
25 | }
26 |
--------------------------------------------------------------------------------
/lib/models/request/add_update_snippet_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'add_update_snippet_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class AddUpdateSnippetRequest {
7 | final String? title;
8 | final String? fileName;
9 | final String? content;
10 | final String? description;
11 | final String? visibility; // GitLabVisibility
12 |
13 | AddUpdateSnippetRequest({
14 | this.title,
15 | this.fileName,
16 | this.content,
17 | this.description,
18 | this.visibility,
19 | });
20 |
21 | factory AddUpdateSnippetRequest.fromJson(Map json) =>
22 | _$AddUpdateSnippetRequestFromJson(json);
23 |
24 | Map toJson() => _$AddUpdateSnippetRequestToJson(this);
25 | }
26 |
--------------------------------------------------------------------------------
/lib/models/request/branches_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'branches_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class BranchesRequest {
7 | final int? perPage;
8 | final int? page;
9 |
10 | final String? id;
11 | final String? search;
12 |
13 | BranchesRequest({
14 | this.perPage,
15 | this.page,
16 | this.id,
17 | this.search,
18 | });
19 |
20 | factory BranchesRequest.fromJson(Map json) =>
21 | _$BranchesRequestFromJson(json);
22 |
23 | Map toJson() => _$BranchesRequestToJson(this);
24 | }
25 |
--------------------------------------------------------------------------------
/lib/models/request/commit_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'commit_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class CommitReqest {
7 | final bool? stats;
8 |
9 | CommitReqest({
10 | this.stats,
11 | });
12 |
13 | factory CommitReqest.fromJson(Map json) =>
14 | _$CommitReqestFromJson(json);
15 |
16 | Map toJson() => _$CommitReqestToJson(this);
17 | }
18 |
--------------------------------------------------------------------------------
/lib/models/request/commit_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'commit_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | CommitReqest _$CommitReqestFromJson(Map json) => CommitReqest(
10 | stats: json['stats'] as bool?,
11 | );
12 |
13 | Map _$CommitReqestToJson(CommitReqest instance) {
14 | final val = {};
15 |
16 | void writeNotNull(String key, dynamic value) {
17 | if (value != null) {
18 | val[key] = value;
19 | }
20 | }
21 |
22 | writeNotNull('stats', instance.stats);
23 | return val;
24 | }
25 |
--------------------------------------------------------------------------------
/lib/models/request/create_label_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'create_label_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class CreateLabelRequest {
7 | final String? name;
8 | final String? color;
9 | final String? description;
10 | final int? priority; // for project only
11 |
12 | CreateLabelRequest({
13 | this.name,
14 | this.color,
15 | this.description,
16 | this.priority,
17 | });
18 |
19 | factory CreateLabelRequest.fromJson(Map json) =>
20 | _$CreateLabelRequestFromJson(json);
21 |
22 | Map toJson() => _$CreateLabelRequestToJson(this);
23 | }
24 |
--------------------------------------------------------------------------------
/lib/models/request/diff_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'diff_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class DiffRequest {
7 | final int? perPage;
8 | final int? page;
9 |
10 | DiffRequest({
11 | this.perPage,
12 | this.page,
13 | });
14 |
15 | factory DiffRequest.fromJson(Map json) =>
16 | _$DiffRequestFromJson(json);
17 |
18 | Map toJson() => _$DiffRequestToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/request/diff_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'diff_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | DiffRequest _$DiffRequestFromJson(Map json) => DiffRequest(
10 | perPage: json['per_page'] as int?,
11 | page: json['page'] as int?,
12 | );
13 |
14 | Map _$DiffRequestToJson(DiffRequest instance) {
15 | final val = {};
16 |
17 | void writeNotNull(String key, dynamic value) {
18 | if (value != null) {
19 | val[key] = value;
20 | }
21 | }
22 |
23 | writeNotNull('per_page', instance.perPage);
24 | writeNotNull('page', instance.page);
25 | return val;
26 | }
27 |
--------------------------------------------------------------------------------
/lib/models/request/events_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'events_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class EventsRequest {
7 | final int? perPage;
8 | final int? page;
9 |
10 | final String? action;
11 | final String? targetType; // EventTargetTypes
12 | final DateTime? before; // YYYY-MM-DD
13 | final DateTime? after; // YYYY-MM-DD
14 | final String? scope;
15 | final String? sort; // asc, desc
16 |
17 | EventsRequest({
18 | this.perPage,
19 | this.page,
20 | this.action,
21 | this.targetType,
22 | this.before,
23 | this.after,
24 | this.scope,
25 | this.sort,
26 | });
27 |
28 | factory EventsRequest.fromJson(Map json) =>
29 | _$EventsRequestFromJson(json);
30 |
31 | Map toJson() => _$EventsRequestToJson(this);
32 | }
33 |
--------------------------------------------------------------------------------
/lib/models/request/file_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'file_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class FileRequest {
7 | final String? ref;
8 |
9 | FileRequest({
10 | this.ref,
11 | });
12 |
13 | factory FileRequest.fromJson(Map json) =>
14 | _$FileRequestFromJson(json);
15 |
16 | Map toJson() => _$FileRequestToJson(this);
17 | }
18 |
--------------------------------------------------------------------------------
/lib/models/request/file_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'file_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | FileRequest _$FileRequestFromJson(Map json) => FileRequest(
10 | ref: json['ref'] as String?,
11 | );
12 |
13 | Map _$FileRequestToJson(FileRequest instance) {
14 | final val = {};
15 |
16 | void writeNotNull(String key, dynamic value) {
17 | if (value != null) {
18 | val[key] = value;
19 | }
20 | }
21 |
22 | writeNotNull('ref', instance.ref);
23 | return val;
24 | }
25 |
--------------------------------------------------------------------------------
/lib/models/request/find_users_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'find_users_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class FindUsersRequest {
7 | final int? perPage;
8 | final int? page;
9 | final String? search;
10 | final bool? active;
11 | final bool? blocked;
12 | final bool? external;
13 |
14 | FindUsersRequest({
15 | this.perPage,
16 | this.page,
17 | this.search,
18 | this.active,
19 | this.blocked,
20 | this.external,
21 | });
22 |
23 | factory FindUsersRequest.fromJson(Map json) =>
24 | _$FindUsersRequestFromJson(json);
25 |
26 | Map toJson() => _$FindUsersRequestToJson(this);
27 | }
28 |
--------------------------------------------------------------------------------
/lib/models/request/group_labels_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'group_labels_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class GroupLabelsRequest {
7 | final int? perPage;
8 | final int? page;
9 | final bool? withCounts;
10 | final bool? includeAncestorGroups;
11 | final bool? includeDescendantGroups;
12 | final bool? onlyGroupLabels;
13 | final String? search;
14 |
15 | GroupLabelsRequest({
16 | this.perPage,
17 | this.page,
18 | this.withCounts,
19 | this.includeAncestorGroups,
20 | this.includeDescendantGroups,
21 | this.onlyGroupLabels,
22 | this.search,
23 | });
24 |
25 | factory GroupLabelsRequest.fromJson(Map json) =>
26 | _$GroupLabelsRequestFromJson(json);
27 |
28 | Map toJson() => _$GroupLabelsRequestToJson(this);
29 | }
30 |
--------------------------------------------------------------------------------
/lib/models/request/jobs_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'jobs_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class ListProjectJobsRequest {
7 | final String? scope;
8 |
9 | ListProjectJobsRequest(this.scope);
10 |
11 | factory ListProjectJobsRequest.fromJson(Map json) =>
12 | _$ListProjectJobsRequestFromJson(json);
13 |
14 | Map toJson() => _$ListProjectJobsRequestToJson(this);
15 | }
--------------------------------------------------------------------------------
/lib/models/request/jobs_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'jobs_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | ListProjectJobsRequest _$ListProjectJobsRequestFromJson(
10 | Map json) =>
11 | ListProjectJobsRequest(
12 | json['scope'] as String?,
13 | );
14 |
15 | Map _$ListProjectJobsRequestToJson(
16 | ListProjectJobsRequest instance) =>
17 | {
18 | 'scope': instance.scope,
19 | };
20 |
--------------------------------------------------------------------------------
/lib/models/request/latest_pipeline_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'latest_pipeline_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class LatestPipelineRequest {
7 | final String? ref;
8 |
9 | LatestPipelineRequest({this.ref});
10 |
11 | factory LatestPipelineRequest.fromJson(Map json) =>
12 | _$LatestPipelineRequestFromJson(json);
13 |
14 | Map toJson() => _$LatestPipelineRequestToJson(this);
15 | }
16 |
--------------------------------------------------------------------------------
/lib/models/request/latest_pipeline_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'latest_pipeline_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | LatestPipelineRequest _$LatestPipelineRequestFromJson(
10 | Map json) =>
11 | LatestPipelineRequest(
12 | ref: json['ref'] as String?,
13 | );
14 |
15 | Map _$LatestPipelineRequestToJson(
16 | LatestPipelineRequest instance) {
17 | final val = {};
18 |
19 | void writeNotNull(String key, dynamic value) {
20 | if (value != null) {
21 | val[key] = value;
22 | }
23 | }
24 |
25 | writeNotNull('ref', instance.ref);
26 | return val;
27 | }
28 |
--------------------------------------------------------------------------------
/lib/models/request/members_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'members_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class MembersRequest {
7 | final int? perPage;
8 | final int? page;
9 | final String? query;
10 |
11 | MembersRequest({
12 | this.perPage,
13 | this.page,
14 | this.query,
15 | });
16 |
17 | factory MembersRequest.fromJson(Map json) =>
18 | _$MembersRequestFromJson(json);
19 |
20 | Map toJson() => _$MembersRequestToJson(this);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/models/request/milestones_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'milestones_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class MilestonesRequest {
7 | final int? perPage;
8 | final int? page;
9 | final int? id;
10 | final List? iids;
11 | final String? state;
12 | final String? title;
13 | final String? search;
14 | final bool? includeParentMilestones;
15 |
16 | MilestonesRequest({
17 | this.perPage,
18 | this.page,
19 | this.id,
20 | this.iids,
21 | this.state,
22 | this.title,
23 | this.search,
24 | this.includeParentMilestones,
25 | });
26 |
27 | factory MilestonesRequest.fromJson(Map json) =>
28 | _$MilestonesRequestFromJson(json);
29 |
30 | Map toJson() => _$MilestonesRequestToJson(this);
31 | }
32 |
--------------------------------------------------------------------------------
/lib/models/request/new_issue_note_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'new_issue_note_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class NewIssueNoteRequest {
7 | final String? body;
8 | final bool? confidential;
9 |
10 | NewIssueNoteRequest({
11 | this.body,
12 | this.confidential,
13 | });
14 |
15 | factory NewIssueNoteRequest.fromJson(Map json) =>
16 | _$NewIssueNoteRequestFromJson(json);
17 |
18 | Map toJson() => _$NewIssueNoteRequestToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/request/notes_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'notes_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class NotesRequest {
7 | final int? perPage;
8 | final int? page;
9 | final String? sort; // Sort
10 | final String? orderBy; // NotesOrderBy
11 |
12 | NotesRequest({
13 | this.perPage,
14 | this.page,
15 | this.sort,
16 | this.orderBy,
17 | });
18 |
19 | factory NotesRequest.fromJson(Map json) =>
20 | _$NotesRequestFromJson(json);
21 |
22 | Map toJson() => _$NotesRequestToJson(this);
23 | }
24 |
--------------------------------------------------------------------------------
/lib/models/request/pipeline_jobs_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'pipeline_jobs_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class ListPipelineJobsRequest {
7 | final String? scope;
8 | final bool? includeRetried;
9 |
10 | ListPipelineJobsRequest(this.scope, this.includeRetried);
11 |
12 | factory ListPipelineJobsRequest.fromJson(Map json) =>
13 | _$ListPipelineJobsRequestFromJson(json);
14 |
15 | Map toJson() => _$ListPipelineJobsRequestToJson(this);
16 | }
--------------------------------------------------------------------------------
/lib/models/request/pipeline_jobs_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'pipeline_jobs_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | ListPipelineJobsRequest _$ListPipelineJobsRequestFromJson(
10 | Map json) =>
11 | ListPipelineJobsRequest(
12 | json['scope'] as String?,
13 | json['include_retried'] as bool?,
14 | );
15 |
16 | Map _$ListPipelineJobsRequestToJson(
17 | ListPipelineJobsRequest instance) =>
18 | {
19 | 'scope': instance.scope,
20 | 'include_retried': instance.includeRetried,
21 | };
22 |
--------------------------------------------------------------------------------
/lib/models/request/project_labels_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'project_labels_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class ProjectLabelsRequest {
7 | final int? perPage;
8 | final int? page;
9 | final bool? withCounts;
10 | final bool? includeAncestorGroups;
11 | final String? search;
12 |
13 | ProjectLabelsRequest({
14 | this.perPage,
15 | this.page,
16 | this.withCounts,
17 | this.includeAncestorGroups,
18 | this.search,
19 | });
20 |
21 | factory ProjectLabelsRequest.fromJson(Map json) =>
22 | _$ProjectLabelsRequestFromJson(json);
23 |
24 | Map toJson() => _$ProjectLabelsRequestToJson(this);
25 | }
26 |
--------------------------------------------------------------------------------
/lib/models/request/project_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'project_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class ProjectRequest {
7 | final bool? license;
8 | final bool? statistics;
9 | final bool? withCustomAttributes;
10 |
11 | ProjectRequest({
12 | this.license,
13 | this.statistics,
14 | this.withCustomAttributes,
15 | });
16 |
17 | factory ProjectRequest.fromJson(Map json) =>
18 | _$ProjectRequestFromJson(json);
19 |
20 | Map toJson() => _$ProjectRequestToJson(this);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/models/request/refresh_token_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'refresh_token_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class RefreshTokenRequest {
7 | final String grantType, refreshToken;
8 |
9 | RefreshTokenRequest({
10 | required this.grantType,
11 | required this.refreshToken,
12 | });
13 |
14 | factory RefreshTokenRequest.fromJson(Map json) =>
15 | _$RefreshTokenRequestFromJson(json);
16 |
17 | Map toJson() => _$RefreshTokenRequestToJson(this);
18 | }
19 |
--------------------------------------------------------------------------------
/lib/models/request/refresh_token_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'refresh_token_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | RefreshTokenRequest _$RefreshTokenRequestFromJson(Map json) =>
10 | RefreshTokenRequest(
11 | grantType: json['grant_type'] as String,
12 | refreshToken: json['refresh_token'] as String,
13 | );
14 |
15 | Map _$RefreshTokenRequestToJson(
16 | RefreshTokenRequest instance) =>
17 | {
18 | 'grant_type': instance.grantType,
19 | 'refresh_token': instance.refreshToken,
20 | };
21 |
--------------------------------------------------------------------------------
/lib/models/request/snippets_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'snippets_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class SnippetsRequest {
7 | final int? perPage;
8 | final int? page;
9 |
10 | SnippetsRequest({
11 | this.perPage,
12 | this.page,
13 | });
14 |
15 | factory SnippetsRequest.fromJson(Map json) =>
16 | _$SnippetsRequestFromJson(json);
17 |
18 | Map toJson() => _$SnippetsRequestToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/request/snippets_request.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'snippets_request.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | SnippetsRequest _$SnippetsRequestFromJson(Map json) =>
10 | SnippetsRequest(
11 | perPage: json['per_page'] as int?,
12 | page: json['page'] as int?,
13 | );
14 |
15 | Map _$SnippetsRequestToJson(SnippetsRequest instance) {
16 | final val = {};
17 |
18 | void writeNotNull(String key, dynamic value) {
19 | if (value != null) {
20 | val[key] = value;
21 | }
22 | }
23 |
24 | writeNotNull('per_page', instance.perPage);
25 | writeNotNull('page', instance.page);
26 | return val;
27 | }
28 |
--------------------------------------------------------------------------------
/lib/models/request/starrers_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'starrers_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class StarrersRequest {
7 | final int? perPage;
8 | final int? page;
9 | final String? search;
10 | StarrersRequest({
11 | this.perPage,
12 | this.page,
13 | this.search,
14 | });
15 |
16 | factory StarrersRequest.fromJson(Map json) =>
17 | _$StarrersRequestFromJson(json);
18 |
19 | Map toJson() => _$StarrersRequestToJson(this);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/models/request/tags_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'tags_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class TagsRequest {
7 | final int? perPage;
8 | final int? page;
9 |
10 | final String? orderBy; // TagsOrderBy
11 | final String? sort; // Sort
12 | final String? search;
13 |
14 | TagsRequest({
15 | this.perPage,
16 | this.page,
17 | this.orderBy,
18 | this.sort,
19 | this.search,
20 | });
21 |
22 | factory TagsRequest.fromJson(Map json) =>
23 | _$TagsRequestFromJson(json);
24 |
25 | Map toJson() => _$TagsRequestToJson(this);
26 | }
27 |
--------------------------------------------------------------------------------
/lib/models/request/tree_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'tree_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class TreeRequest {
7 | final int? perPage;
8 | final int? page;
9 | final bool? recursive;
10 | final String? ref;
11 | final String? path;
12 |
13 | TreeRequest({
14 | this.perPage = 500,
15 | this.page,
16 | this.recursive,
17 | this.ref,
18 | this.path,
19 | });
20 |
21 | factory TreeRequest.fromJson(Map json) =>
22 | _$TreeRequestFromJson(json);
23 |
24 | Map toJson() => _$TreeRequestToJson(this);
25 | }
26 |
--------------------------------------------------------------------------------
/lib/models/request/update_issue_note_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'update_issue_note_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class UpdateIssueNoteRequest {
7 | final String? body;
8 | final bool? confidential;
9 |
10 | UpdateIssueNoteRequest({
11 | this.body,
12 | this.confidential,
13 | });
14 |
15 | factory UpdateIssueNoteRequest.fromJson(Map json) =>
16 | _$UpdateIssueNoteRequestFromJson(json);
17 |
18 | Map toJson() => _$UpdateIssueNoteRequestToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/request/update_project_label_request.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'update_project_label_request.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class UpdateProjectLabelRequest {
7 | final String? newName;
8 | final String? color;
9 | final String? description;
10 | final int? priority;
11 |
12 | UpdateProjectLabelRequest({
13 | this.newName,
14 | this.color,
15 | this.description,
16 | this.priority,
17 | });
18 |
19 | factory UpdateProjectLabelRequest.fromJson(Map json) =>
20 | _$UpdateProjectLabelRequestFromJson(json);
21 |
22 | Map toJson() => _$UpdateProjectLabelRequestToJson(this);
23 | }
24 |
--------------------------------------------------------------------------------
/lib/models/response/access_token_response.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'access_token_response.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake, includeIfNull: false)
6 | class AccessTokenResponse {
7 | final String? accessToken, tokenType, refreshToken, scope, idToken;
8 | final int? createdAt;
9 |
10 | AccessTokenResponse({
11 | required this.accessToken,
12 | required this.tokenType,
13 | required this.refreshToken,
14 | required this.scope,
15 | required this.createdAt,
16 | required this.idToken,
17 | });
18 |
19 | factory AccessTokenResponse.fromJson(Map json) =>
20 | _$AccessTokenResponseFromJson(json);
21 |
22 | Map toJson() => _$AccessTokenResponseToJson(this);
23 | }
24 |
--------------------------------------------------------------------------------
/lib/models/response/paging_response.dart:
--------------------------------------------------------------------------------
1 | class PagingResponse {
2 | final int? nextPage;
3 | final int? page;
4 | final int? perPage;
5 | final int? prevPage;
6 | final int? total;
7 | final int? totalPages;
8 | final List? data;
9 |
10 | PagingResponse({
11 | this.nextPage,
12 | this.page,
13 | this.perPage,
14 | this.prevPage,
15 | this.total,
16 | this.totalPages,
17 | this.data,
18 | });
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/runner.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'runner.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class Runner {
7 | final int? id;
8 | final String? description;
9 | final String? ipAddress;
10 | final bool? active;
11 | final bool? paused;
12 | final bool? isShared;
13 | final String? runnerType;
14 | final String? name;
15 | final bool? online;
16 | final String? status;
17 |
18 | Runner(
19 | this.id,
20 | this.description,
21 | this.ipAddress,
22 | this.active,
23 | this.paused,
24 | this.isShared,
25 | this.runnerType,
26 | this.name,
27 | this.online,
28 | this.status,
29 | );
30 |
31 | factory Runner.fromJson(Map json) => _$RunnerFromJson(json);
32 |
33 | Map toJson() => _$RunnerToJson(this);
34 | }
35 |
--------------------------------------------------------------------------------
/lib/models/starrers.dart:
--------------------------------------------------------------------------------
1 | import 'package:labplus_for_gitlab/models/user.dart';
2 | import 'package:json_annotation/json_annotation.dart';
3 |
4 | part 'starrers.g.dart';
5 |
6 | @JsonSerializable(fieldRename: FieldRename.snake)
7 | class Starrer {
8 | final String? starredSince;
9 | final User? user;
10 |
11 | Starrer({
12 | this.starredSince = "",
13 | this.user,
14 | });
15 |
16 | factory Starrer.fromJson(Map json) =>
17 | _$StarrerFromJson(json);
18 |
19 | Map toJson() => _$StarrerToJson(this);
20 | }
21 |
--------------------------------------------------------------------------------
/lib/models/starrers.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'starrers.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | Starrer _$StarrerFromJson(Map json) => Starrer(
10 | starredSince: json['starred_since'] as String? ?? "",
11 | user: json['user'] == null
12 | ? null
13 | : User.fromJson(json['user'] as Map),
14 | );
15 |
16 | Map _$StarrerToJson(Starrer instance) => {
17 | 'starred_since': instance.starredSince,
18 | 'user': instance.user,
19 | };
20 |
--------------------------------------------------------------------------------
/lib/models/tag.dart:
--------------------------------------------------------------------------------
1 | import 'package:labplus_for_gitlab/models/models.dart';
2 | import 'package:json_annotation/json_annotation.dart';
3 |
4 | part 'tag.g.dart';
5 |
6 | @JsonSerializable(fieldRename: FieldRename.snake)
7 | class Tag {
8 | final TagCommit? commit;
9 | final TagRelase? release;
10 | final String? name;
11 | final String? target;
12 | final String? message;
13 | final bool? protected;
14 |
15 | Tag({
16 | this.commit,
17 | this.release,
18 | this.name,
19 | this.target,
20 | this.message,
21 | this.protected,
22 | });
23 |
24 | factory Tag.fromJson(Map json) => _$TagFromJson(json);
25 |
26 | Map toJson() => _$TagToJson(this);
27 | }
28 |
--------------------------------------------------------------------------------
/lib/models/tag_release.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'tag_release.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class TagRelase {
7 | final String? tagName;
8 | final String? description;
9 |
10 | TagRelase({
11 | this.tagName,
12 | this.description,
13 | });
14 |
15 | factory TagRelase.fromJson(Map json) =>
16 | _$TagRelaseFromJson(json);
17 |
18 | Map toJson() => _$TagRelaseToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/tag_release.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'tag_release.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | TagRelase _$TagRelaseFromJson(Map json) => TagRelase(
10 | tagName: json['tag_name'] as String?,
11 | description: json['description'] as String?,
12 | );
13 |
14 | Map _$TagRelaseToJson(TagRelase instance) => {
15 | 'tag_name': instance.tagName,
16 | 'description': instance.description,
17 | };
18 |
--------------------------------------------------------------------------------
/lib/models/task_completion_status.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'task_completion_status.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class TaskCompletionStatus {
7 | final int? count;
8 | final int? completedCount;
9 |
10 | TaskCompletionStatus({
11 | this.count,
12 | this.completedCount,
13 | });
14 |
15 | factory TaskCompletionStatus.fromJson(Map json) =>
16 | _$TaskCompletionStatusFromJson(json);
17 |
18 | Map toJson() => _$TaskCompletionStatusToJson(this);
19 | }
20 |
--------------------------------------------------------------------------------
/lib/models/task_completion_status.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'task_completion_status.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | TaskCompletionStatus _$TaskCompletionStatusFromJson(
10 | Map json) =>
11 | TaskCompletionStatus(
12 | count: json['count'] as int?,
13 | completedCount: json['completed_count'] as int?,
14 | );
15 |
16 | Map _$TaskCompletionStatusToJson(
17 | TaskCompletionStatus instance) =>
18 | {
19 | 'count': instance.count,
20 | 'completed_count': instance.completedCount,
21 | };
22 |
--------------------------------------------------------------------------------
/lib/models/time_stats.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'time_stats.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class TimeStats {
7 | final int? timeEstimate;
8 | final int? totalTimeSpent;
9 | // final String? humanTimeEstimate;
10 | // final String? humanTimeSpent;
11 |
12 | TimeStats({
13 | this.timeEstimate,
14 | this.totalTimeSpent,
15 | });
16 |
17 | factory TimeStats.fromJson(Map json) =>
18 | _$TimeStatsFromJson(json);
19 |
20 | Map toJson() => _$TimeStatsToJson(this);
21 | }
22 |
--------------------------------------------------------------------------------
/lib/models/time_stats.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'time_stats.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | TimeStats _$TimeStatsFromJson(Map json) => TimeStats(
10 | timeEstimate: json['time_estimate'] as int?,
11 | totalTimeSpent: json['total_time_spent'] as int?,
12 | );
13 |
14 | Map _$TimeStatsToJson(TimeStats instance) => {
15 | 'time_estimate': instance.timeEstimate,
16 | 'total_time_spent': instance.totalTimeSpent,
17 | };
18 |
--------------------------------------------------------------------------------
/lib/models/tree.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'tree.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class Tree {
7 | final String? id;
8 | final String? name;
9 | final String? type;
10 | final String? path;
11 | final String? mode;
12 |
13 | Tree({
14 | this.id,
15 | this.name,
16 | this.type,
17 | this.path,
18 | this.mode,
19 | });
20 |
21 | factory Tree.fromJson(Map json) => _$TreeFromJson(json);
22 |
23 | Map toJson() => _$TreeToJson(this);
24 | }
25 |
--------------------------------------------------------------------------------
/lib/models/tree.g.dart:
--------------------------------------------------------------------------------
1 | // GENERATED CODE - DO NOT MODIFY BY HAND
2 |
3 | part of 'tree.dart';
4 |
5 | // **************************************************************************
6 | // JsonSerializableGenerator
7 | // **************************************************************************
8 |
9 | Tree _$TreeFromJson(Map json) => Tree(
10 | id: json['id'] as String?,
11 | name: json['name'] as String?,
12 | type: json['type'] as String?,
13 | path: json['path'] as String?,
14 | mode: json['mode'] as String?,
15 | );
16 |
17 | Map _$TreeToJson(Tree instance) => {
18 | 'id': instance.id,
19 | 'name': instance.name,
20 | 'type': instance.type,
21 | 'path': instance.path,
22 | 'mode': instance.mode,
23 | };
24 |
--------------------------------------------------------------------------------
/lib/models/user.dart:
--------------------------------------------------------------------------------
1 | import 'package:json_annotation/json_annotation.dart';
2 |
3 | part 'user.g.dart';
4 |
5 | @JsonSerializable(fieldRename: FieldRename.snake)
6 | class User {
7 | final int? id;
8 | final String? username;
9 | final String? name;
10 | final String? email;
11 | final String? avatarUrl;
12 | final String? webUrl;
13 |
14 | User({
15 | this.id = -1,
16 | this.username = "",
17 | this.name = "",
18 | this.email = "",
19 | this.avatarUrl = "",
20 | this.webUrl = "",
21 | });
22 |
23 | factory User.fromJson(Map json) => _$UserFromJson(json);
24 |
25 | Map toJson() => _$UserToJson(this);
26 | }
27 |
--------------------------------------------------------------------------------
/lib/modules/about/about.dart:
--------------------------------------------------------------------------------
1 | export 'about_controller.dart';
2 | export 'about_screen.dart';
3 |
--------------------------------------------------------------------------------
/lib/modules/about/about_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 |
3 | import 'about_controller.dart';
4 |
5 | class AboutBinding implements Bindings {
6 | @override
7 | void dependencies() {
8 | Get.lazyPut(() => AboutController(), fenix: true);
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/lib/modules/about/about_controller.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:package_info_plus/package_info_plus.dart';
3 |
4 | class AboutController extends GetxController {
5 | late PackageInfo _packageInfo;
6 |
7 | var version = "".obs;
8 |
9 | @override
10 | void onInit() async {
11 | super.onInit();
12 | _packageInfo = await PackageInfo.fromPlatform();
13 | version.value = _packageInfo.version;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/lib/modules/accounts_intern/accounts.dart:
--------------------------------------------------------------------------------
1 | export 'accounts_binding.dart';
2 | export 'accounts_controller.dart';
3 | export 'accounts_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/accounts_intern/accounts_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/shared.dart';
4 |
5 | import 'accounts_controller.dart';
6 |
7 | class AccountsBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => AccountsController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/add_members/add_members.dart:
--------------------------------------------------------------------------------
1 | export 'add_members_binding.dart';
2 | export 'add_members_controller.dart';
3 | export 'add_members_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/add_members/add_members_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 |
3 | import 'add_members_controller.dart';
4 |
5 | class AddMembersBinding implements Bindings {
6 | @override
7 | void dependencies() {
8 | Get.lazyPut(
9 | () => AddMembersController(
10 | apiRepository: Get.find(),
11 | repository: Get.find(),
12 | ),
13 | fenix: true);
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/lib/modules/auth/auth.dart:
--------------------------------------------------------------------------------
1 | export 'auth_binding.dart';
2 | export 'auth_controller.dart';
3 | export 'auth_screen_standard.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/auth/auth_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 |
3 | import 'auth_controller.dart';
4 |
5 | class AuthBinding implements Bindings {
6 | @override
7 | void dependencies() {
8 | Get.lazyPut(() => AuthController(apiRepository: Get.find()),
9 | fenix: true);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/lib/modules/branches/branches.dart:
--------------------------------------------------------------------------------
1 | export 'branches_binding.dart';
2 | export 'branches_controller.dart';
3 | export 'branches_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/branches/branches_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'branches_controller.dart';
6 |
7 | class BranchesBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => BranchesController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/code_view/code_view.dart:
--------------------------------------------------------------------------------
1 | export 'code_view_binding.dart';
2 | export 'code_view_controller.dart';
3 | export 'code_view_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/code_view/code_view_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'code_view_controller.dart';
6 |
7 | class CodeViewBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CodeViewController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/commit/commit.dart:
--------------------------------------------------------------------------------
1 | export 'commit_binding.dart';
2 | export 'commit_controller.dart';
3 | export 'commit_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/commit/commit_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'commit_controller.dart';
6 |
7 | class CommitBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CommitController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/commits/commits.dart:
--------------------------------------------------------------------------------
1 | export 'commits_binding.dart';
2 | export 'commits_controller.dart';
3 | export 'commits_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/commits/commits_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'commits_controller.dart';
6 |
7 | class CommitsBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CommitsController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/create_issue/create_issue.dart:
--------------------------------------------------------------------------------
1 | export 'create_issue_binding.dart';
2 | export 'create_issue_controller.dart';
3 | export 'create_issue_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/create_issue/create_issue_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'create_issue_controller.dart';
6 |
7 | class CreateIssueBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CreateIssueController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/create_merge_request/create_merge_request.dart:
--------------------------------------------------------------------------------
1 | export 'create_merge_request_binding.dart';
2 | export 'create_merge_request_controller.dart';
3 | export 'create_merge_request_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/create_merge_request/create_merge_request_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'create_merge_request_controller.dart';
6 |
7 | class CreateMergeRequestBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CreateMergeRequestController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/create_milestone/create_milestone.dart:
--------------------------------------------------------------------------------
1 | export 'create_milestone_binding.dart';
2 | export 'create_milestone_controller.dart';
3 | export 'create_milestone_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/create_milestone/create_milestone_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'create_milestone_controller.dart';
6 |
7 | class CreateMilestoneBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CreateMilestoneController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/create_project/create_project.dart:
--------------------------------------------------------------------------------
1 | export 'create_project_controller.dart';
2 | export 'create_project_binding.dart';
3 | export 'create_project_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/create_project/create_project_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'create_project_controller.dart';
6 |
7 | class CreateProjectBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CreateProjectController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/create_project_label/create_project_label.dart:
--------------------------------------------------------------------------------
1 | export 'create_project_label_binding.dart';
2 | export 'create_project_label_controller.dart';
3 | export 'create_project_label_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/create_project_label/create_project_label_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'create_project_label_controller.dart';
6 |
7 | class CreateProjectLabelBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CreateProjectLabelController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/create_project_snippet/create_project_snippet.dart:
--------------------------------------------------------------------------------
1 | export 'create_project_snippet_binding.dart';
2 | export 'create_project_snippet_controller.dart';
3 | export 'create_project_snippet_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/create_project_snippet/create_project_snippet_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'create_project_snippet_controller.dart';
6 |
7 | class CreateProjectSnippetBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => CreateProjectSnippetController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/edit_issue/edit_issue.dart:
--------------------------------------------------------------------------------
1 | export 'edit_issue_binding.dart';
2 | export 'edit_issue_controller.dart';
3 | export 'edit_issue_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/edit_issue/edit_issue_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'edit_issue_controller.dart';
6 |
7 | class EditIssueBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => EditIssueController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/edit_issue_note/edit_issue_note.dart:
--------------------------------------------------------------------------------
1 | export 'edit_issue_note_binding.dart';
2 | export 'edit_issue_note_controller.dart';
3 | export 'edit_issue_note_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/edit_issue_note/edit_issue_note_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'edit_issue_note_controller.dart';
6 |
7 | class EditIssueNoteBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => EditIssueNoteController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/edit_merge_request/edit_merge_request.dart:
--------------------------------------------------------------------------------
1 | export 'edit_merge_request_binding.dart';
2 | export 'edit_merge_request_controller.dart';
3 | export 'edit_merge_request_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/edit_merge_request/edit_merge_request_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'edit_merge_request_controller.dart';
6 |
7 | class EditMergeRequestBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => EditMergeRequestController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/edit_milestone/edit_milestone.dart:
--------------------------------------------------------------------------------
1 | export 'edit_milestone_binding.dart';
2 | export 'edit_milestone_controller.dart';
3 | export 'edit_milestone_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/edit_milestone/edit_milestone_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'edit_milestone_controller.dart';
6 |
7 | class EditMilestoneBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => EditMilestoneController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/edit_project/edit_project.dart:
--------------------------------------------------------------------------------
1 | export 'edit_project_binding.dart';
2 | export 'edit_project_controller.dart';
3 | export 'edit_project_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/edit_project/edit_project_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'edit_project_controller.dart';
6 |
7 | class EditProjectBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => EditProjectController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/edit_project_label/edit_project_label.dart:
--------------------------------------------------------------------------------
1 | export 'edit_project_label_binding.dart';
2 | export 'edit_project_label_controller.dart';
3 | export 'edit_project_label_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/edit_project_label/edit_project_label_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'edit_project_label_controller.dart';
6 |
7 | class EditProjectLabelBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => EditProjectLabelController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/edit_project_snippet/edit_project_snippet.dart:
--------------------------------------------------------------------------------
1 | export 'edit_project_snippet_binding.dart';
2 | export 'edit_project_snippet_controller.dart';
3 | export 'edit_project_snippet_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/edit_project_snippet/edit_project_snippet_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'edit_project_snippet_controller.dart';
6 |
7 | class EditProjectSnippetBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => EditProjectSnippetController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/groups/groups.dart:
--------------------------------------------------------------------------------
1 | export 'groups_binding.dart';
2 | export 'groups_controller.dart';
3 | export 'groups_screen.dart';
4 | export 'group_details_screen.dart';
5 | export 'new_group_screen.dart';
6 |
--------------------------------------------------------------------------------
/lib/modules/groups/groups_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'groups_controller.dart';
6 |
7 | class GroupsBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => GroupsController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/home/home.dart:
--------------------------------------------------------------------------------
1 | export 'tabs/tabs.dart';
2 | export 'home_binding.dart';
3 | export 'home_controller.dart';
4 | export 'home_screen.dart';
5 |
--------------------------------------------------------------------------------
/lib/modules/home/home_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'home_controller.dart';
6 |
7 | class HomeBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => HomeController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/home/tabs/tabs.dart:
--------------------------------------------------------------------------------
1 | export 'events_tab.dart';
2 | export 'issues_tab.dart';
3 | export 'merge_reqests_tab.dart';
4 | export 'projects_tab.dart';
5 |
6 | enum MainTabs {
7 | projects,
8 | events,
9 | issues,
10 | mergeRequests,
11 | }
12 |
--------------------------------------------------------------------------------
/lib/modules/image_viewer/image_viewer.dart:
--------------------------------------------------------------------------------
1 | export 'image_viewer_binding.dart';
2 | export 'image_viewer_controller.dart';
3 | export 'image_viewer_screen.dart';
4 |
--------------------------------------------------------------------------------
/lib/modules/image_viewer/image_viewer_binding.dart:
--------------------------------------------------------------------------------
1 | import 'package:get/get.dart';
2 | import 'package:labplus_for_gitlab/api/api.dart';
3 | import 'package:labplus_for_gitlab/shared/data/data.dart';
4 |
5 | import 'image_viewer_controller.dart';
6 |
7 | class ImageViewerBinding implements Bindings {
8 | @override
9 | void dependencies() {
10 | Get.lazyPut(
11 | () => ImageViewerController(
12 | apiRepository: Get.find(),
13 | repository: Get.find(),
14 | ),
15 | fenix: true);
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/lib/modules/image_viewer/image_viewer_screen.dart:
--------------------------------------------------------------------------------
1 | import 'package:flutter/material.dart';
2 | import 'package:get/get.dart';
3 | import 'package:labplus_for_gitlab/modules/image_viewer/image_viewer.dart';
4 | import 'package:labplus_for_gitlab/shared/shared.dart';
5 |
6 | class ImageViewerScreen extends GetView