mirror of
https://github.com/feeddeck/feeddeck.git
synced 2026-04-30 11:28:45 -05:00
* Bump the pub group across 1 directory with 17 updates Bumps the pub group with 16 updates in the /app directory: | Package | From | To | | --- | --- | --- | | [app_links](https://github.com/llfbandit/app_links) | `3.5.1` | `6.1.1` | | [cupertino_icons](https://github.com/flutter/packages/tree/main/third_party/packages) | `1.0.6` | `1.0.8` | | [flutter_cache_manager](https://github.com/Baseflow/flutter_cache_manager) | `3.3.1` | `3.3.2` | | [flutter_lints](https://github.com/flutter/packages/tree/main/packages) | `3.0.2` | `4.0.0` | | [flutter_markdown](https://github.com/flutter/packages/tree/main/packages) | `0.6.22` | `0.7.1` | | [html2md](https://github.com/jarontai/html2md) | `1.3.1` | `1.3.2` | | [just_audio](https://github.com/ryanheise/just_audio) | `0.9.37` | `0.9.38` | | [just_audio_background](https://github.com/ryanheise/just_audio) | `0.0.1-beta.11` | `0.0.1-beta.12` | | [just_audio_media_kit](https://github.com/Pato05/just_audio_media_kit) | `2.0.2` | `2.0.4` | | [package_info_plus](https://github.com/fluttercommunity/plus_plugins/tree/main/packages/package_info_plus) | `6.0.0` | `8.0.0` | | [purchases_flutter](https://github.com/RevenueCat/purchases-flutter) | `6.24.0` | `6.29.2` | | [shared_preferences](https://github.com/flutter/packages/tree/main/packages/shared_preferences) | `2.2.2` | `2.2.3` | | [sign_in_with_apple](https://github.com/aboutyou/dart_packages) | `6.0.0` | `6.1.0` | | [url_launcher](https://github.com/flutter/packages/tree/main/packages/url_launcher) | `6.2.5` | `6.2.6` | | [window_manager](https://github.com/leanflutter/window_manager) | `0.3.8` | `0.3.9` | | [youtube_explode_dart](https://github.com/Hexer10/youtube_explode_dart) | `2.1.0` | `2.2.1` | Updates `app_links` from 3.5.1 to 6.1.1 - [Release notes](https://github.com/llfbandit/app_links/releases) - [Changelog](https://github.com/llfbandit/app_links/blob/master/CHANGELOG.md) - [Commits](https://github.com/llfbandit/app_links/compare/3.5.1...6.1.1) Updates `cupertino_icons` from 1.0.6 to 1.0.8 - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/cupertino_icons-v1.0.8/third_party/packages) Updates `flutter_cache_manager` from 3.3.1 to 3.3.2 - [Commits](https://github.com/Baseflow/flutter_cache_manager/commits/flutter_cache_manager_v3.3.2) Updates `flutter_lints` from 3.0.2 to 4.0.0 - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/flutter_lints-v4.0.0/packages) Updates `flutter_markdown` from 0.6.22 to 0.7.1 - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/flutter_markdown-v0.7.1/packages) Updates `html2md` from 1.3.1 to 1.3.2 - [Changelog](https://github.com/jarontai/html2md/blob/master/CHANGELOG.md) - [Commits](https://github.com/jarontai/html2md/commits) Updates `just_audio` from 0.9.37 to 0.9.38 - [Release notes](https://github.com/ryanheise/just_audio/releases) - [Commits](https://github.com/ryanheise/just_audio/compare/just_audio-v0.9.37...just_audio-v0.9.38) Updates `just_audio_background` from 0.0.1-beta.11 to 0.0.1-beta.12 - [Release notes](https://github.com/ryanheise/just_audio/releases) - [Commits](https://github.com/ryanheise/just_audio/compare/just_audio_background-v0.0.1-beta.11...just_audio_background-v0.0.1-beta.12) Updates `just_audio_media_kit` from 2.0.2 to 2.0.4 - [Changelog](https://github.com/Pato05/just_audio_media_kit/blob/main/CHANGELOG.md) - [Commits](https://github.com/Pato05/just_audio_media_kit/compare/v2.0.2...v2.0.4) Updates `package_info_plus` from 6.0.0 to 8.0.0 - [Release notes](https://github.com/fluttercommunity/plus_plugins/releases) - [Commits](https://github.com/fluttercommunity/plus_plugins/commits/package_info_plus-v8.0.0/packages/package_info_plus) Updates `purchases_flutter` from 6.24.0 to 6.29.2 - [Release notes](https://github.com/RevenueCat/purchases-flutter/releases) - [Changelog](https://github.com/RevenueCat/purchases-flutter/blob/main/CHANGELOG.md) - [Commits](https://github.com/RevenueCat/purchases-flutter/compare/6.24.0...6.29.2) Updates `shared_preferences` from 2.2.2 to 2.2.3 - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/shared_preferences-v2.2.3/packages/shared_preferences) Updates `sign_in_with_apple` from 6.0.0 to 6.1.0 - [Release notes](https://github.com/aboutyou/dart_packages/releases) - [Commits](https://github.com/aboutyou/dart_packages/commits) Updates `supabase_flutter` from 2.3.4 to 2.5.4 - [Changelog](https://github.com/supabase/supabase-flutter/blob/main/CHANGELOG.md) - [Commits](https://github.com/supabase/supabase-flutter/commits/supabase_flutter-v2.5.4/packages) Updates `url_launcher` from 6.2.5 to 6.2.6 - [Release notes](https://github.com/flutter/packages/releases) - [Commits](https://github.com/flutter/packages/commits/url_launcher-v6.2.6/packages/url_launcher) Updates `window_manager` from 0.3.8 to 0.3.9 - [Release notes](https://github.com/leanflutter/window_manager/releases) - [Changelog](https://github.com/leanflutter/window_manager/blob/main/CHANGELOG.md) - [Commits](https://github.com/leanflutter/window_manager/commits/v0.3.9) Updates `youtube_explode_dart` from 2.1.0 to 2.2.1 - [Release notes](https://github.com/Hexer10/youtube_explode_dart/releases) - [Changelog](https://github.com/Hexer10/youtube_explode_dart/blob/master/CHANGELOG.md) - [Commits](https://github.com/Hexer10/youtube_explode_dart/compare/v2.1.0...v2.2.1) --- updated-dependencies: - dependency-name: app_links dependency-type: direct:production update-type: version-update:semver-major dependency-group: pub - dependency-name: cupertino_icons dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: flutter_cache_manager dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: flutter_lints dependency-type: direct:production update-type: version-update:semver-major dependency-group: pub - dependency-name: flutter_markdown dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pub - dependency-name: html2md dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: just_audio dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: just_audio_background dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: just_audio_media_kit dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: package_info_plus dependency-type: direct:production update-type: version-update:semver-major dependency-group: pub - dependency-name: purchases_flutter dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pub - dependency-name: shared_preferences dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: sign_in_with_apple dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pub - dependency-name: supabase_flutter dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pub - dependency-name: url_launcher dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: window_manager dependency-type: direct:production update-type: version-update:semver-patch dependency-group: pub - dependency-name: youtube_explode_dart dependency-type: direct:production update-type: version-update:semver-minor dependency-group: pub ... Signed-off-by: dependabot[bot] <support@github.com> * Update Flutter Version and Podfile --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: ricoberger <mail@ricoberger.de>
92 lines
2.6 KiB
Dart
92 lines
2.6 KiB
Dart
import 'dart:io';
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'package:app_links/app_links.dart';
|
|
import 'package:flutter_native_splash/flutter_native_splash.dart';
|
|
import 'package:provider/provider.dart';
|
|
|
|
import 'package:feeddeck/repositories/app_repository.dart';
|
|
import 'package:feeddeck/widgets/deck/deck_layout.dart';
|
|
import 'package:feeddeck/widgets/signin/signin.dart';
|
|
|
|
/// [Home] is the central widget of our app. If the user is already
|
|
/// authenticated is shows the [DeckLayout] widget otherwise the [SignIn]
|
|
/// widget. To check if the user is authenticated we have to call the `init`
|
|
/// method from the [AppRepository].
|
|
///
|
|
/// While the method is running we show a [CircularProgressIndicator]. On iOS,
|
|
/// Android and Web we do not really display the [CircularProgressIndicator]
|
|
/// instead we show the native splash screen until the method is finished.
|
|
class Home extends StatefulWidget {
|
|
const Home({super.key});
|
|
|
|
@override
|
|
State<Home> createState() => _HomeState();
|
|
}
|
|
|
|
class _HomeState extends State<Home> {
|
|
final _appLinks = AppLinks();
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
Provider.of<AppRepository>(context, listen: false)
|
|
.init()
|
|
.then((_) => FlutterNativeSplash.remove());
|
|
});
|
|
|
|
if (!kIsWeb && (Platform.isIOS || Platform.isAndroid)) {
|
|
_appLinks.uriLinkStream.listen((uri) {
|
|
if (uri
|
|
.toString()
|
|
.startsWith('app.feeddeck.feeddeck://signin-callback/')) {
|
|
Provider.of<AppRepository>(context, listen: false)
|
|
.signInWithCallback(uri)
|
|
.then((_) {
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
Navigator.pushAndRemoveUntil(
|
|
context,
|
|
MaterialPageRoute(
|
|
builder: (BuildContext context) => const DeckLayout(),
|
|
),
|
|
(route) => false,
|
|
);
|
|
});
|
|
}).catchError((_) {});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
@override
|
|
void dispose() {
|
|
super.dispose();
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
AppRepository app = Provider.of<AppRepository>(
|
|
context,
|
|
listen: true,
|
|
);
|
|
|
|
switch (app.status) {
|
|
case FDAppStatus.unauthenticated:
|
|
return const SignIn();
|
|
case FDAppStatus.authenticated:
|
|
return const DeckLayout();
|
|
default:
|
|
return const Scaffold(
|
|
body: Center(
|
|
child: SingleChildScrollView(
|
|
child: CircularProgressIndicator(),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|
|
}
|