feat: Display particle animation on login page

This commit is contained in:
Christian Kußowski 2026-01-18 14:05:39 +01:00
commit 2d508da82d
No known key found for this signature in database
GPG key ID: E067ECD60F1A0652
3 changed files with 44 additions and 21 deletions

View file

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:particles_network/particles_network.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
import 'package:url_launcher/url_launcher_string.dart'; import 'package:url_launcher/url_launcher_string.dart';
@ -45,7 +46,13 @@ class LoginScaffold extends StatelessWidget {
end: Alignment.bottomRight, end: Alignment.bottomRight,
), ),
), ),
child: Column( child: Stack(
children: [
ParticleNetwork(
particleColor: theme.colorScheme.primary,
lineColor: theme.colorScheme.secondary,
),
Column(
children: [ children: [
const SizedBox(height: 16), const SizedBox(height: 16),
Expanded( Expanded(
@ -53,14 +60,19 @@ class LoginScaffold extends StatelessWidget {
child: Padding( child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 16.0), padding: const EdgeInsets.symmetric(horizontal: 16.0),
child: Material( child: Material(
borderRadius: BorderRadius.circular(AppConfig.borderRadius), borderRadius: BorderRadius.circular(
AppConfig.borderRadius,
),
clipBehavior: Clip.hardEdge, clipBehavior: Clip.hardEdge,
elevation: theme.appBarTheme.scrolledUnderElevation ?? 4, elevation: theme.appBarTheme.scrolledUnderElevation ?? 4,
shadowColor: theme.appBarTheme.shadowColor, shadowColor: theme.appBarTheme.shadowColor,
child: ConstrainedBox( child: ConstrainedBox(
constraints: isMobileMode constraints: isMobileMode
? const BoxConstraints() ? const BoxConstraints()
: const BoxConstraints(maxWidth: 480, maxHeight: 640), : const BoxConstraints(
maxWidth: 480,
maxHeight: 640,
),
child: Scaffold( child: Scaffold(
key: const Key('LoginScaffold'), key: const Key('LoginScaffold'),
appBar: appBar, appBar: appBar,
@ -74,6 +86,8 @@ class LoginScaffold extends StatelessWidget {
const _PrivacyButtons(mainAxisAlignment: .center), const _PrivacyButtons(mainAxisAlignment: .center),
], ],
), ),
],
),
); );
} }
} }

View file

@ -1172,6 +1172,14 @@ packages:
url: "https://pub.dev" url: "https://pub.dev"
source: hosted source: hosted
version: "0.23.3" version: "0.23.3"
particles_network:
dependency: "direct main"
description:
name: particles_network
sha256: "10350bbf446b504acf591b928b1a39ba687237a8895d73e6567abba1a2740c4c"
url: "https://pub.dev"
source: hosted
version: "1.9.0"
path: path:
dependency: "direct main" dependency: "direct main"
description: description:

View file

@ -57,6 +57,7 @@ dependencies:
mime: ^2.0.0 mime: ^2.0.0
opus_caf_converter_dart: ^1.0.1 opus_caf_converter_dart: ^1.0.1
package_info_plus: ^8.3.1 package_info_plus: ^8.3.1
particles_network: ^1.9.0
path: ^1.9.0 path: ^1.9.0
path_provider: ^2.1.2 path_provider: ^2.1.2
permission_handler: ^12.0.1 permission_handler: ^12.0.1