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,33 +46,46 @@ class LoginScaffold extends StatelessWidget {
end: Alignment.bottomRight, end: Alignment.bottomRight,
), ),
), ),
child: Column( child: Stack(
children: [ children: [
const SizedBox(height: 16), ParticleNetwork(
Expanded( particleColor: theme.colorScheme.primary,
child: Center( lineColor: theme.colorScheme.secondary,
child: Padding( ),
padding: const EdgeInsets.symmetric(horizontal: 16.0), Column(
child: Material( children: [
borderRadius: BorderRadius.circular(AppConfig.borderRadius), const SizedBox(height: 16),
clipBehavior: Clip.hardEdge, Expanded(
elevation: theme.appBarTheme.scrolledUnderElevation ?? 4, child: Center(
shadowColor: theme.appBarTheme.shadowColor, child: Padding(
child: ConstrainedBox( padding: const EdgeInsets.symmetric(horizontal: 16.0),
constraints: isMobileMode child: Material(
? const BoxConstraints() borderRadius: BorderRadius.circular(
: const BoxConstraints(maxWidth: 480, maxHeight: 640), AppConfig.borderRadius,
child: Scaffold( ),
key: const Key('LoginScaffold'), clipBehavior: Clip.hardEdge,
appBar: appBar, elevation: theme.appBarTheme.scrolledUnderElevation ?? 4,
body: SafeArea(child: body), shadowColor: theme.appBarTheme.shadowColor,
child: ConstrainedBox(
constraints: isMobileMode
? const BoxConstraints()
: const BoxConstraints(
maxWidth: 480,
maxHeight: 640,
),
child: Scaffold(
key: const Key('LoginScaffold'),
appBar: appBar,
body: SafeArea(child: body),
),
),
), ),
), ),
), ),
), ),
), 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