prosapp_web_app has chat, dashboard, calendar, support, 13 providers and Fluro URL routing. Keep Dockerfile + nginx.conf from previous prosappweb. Upgrade google_fonts 6.2.1 → 8.1.0 (Dart 3.12 compat fix). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
91 lines
2.2 KiB
Dart
91 lines
2.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
import 'package:prosapp_web_app/ui/layouts/auth/widgets/custom_title.dart';
|
|
import 'package:prosapp_web_app/ui/layouts/auth/widgets/background_auth.dart';
|
|
|
|
class AuthLayout extends StatelessWidget {
|
|
final Widget child;
|
|
const AuthLayout({super.key, required this.child});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final size = MediaQuery.of(context).size;
|
|
|
|
return Scaffold(
|
|
body: Scrollbar(
|
|
child: ListView(
|
|
physics: const ClampingScrollPhysics(),
|
|
children: [
|
|
size.width > 1000
|
|
? _DesktopBody(child: child)
|
|
: _MobileBody(child: child),
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|
|
|
|
class _MobileBody extends StatelessWidget {
|
|
final Widget child;
|
|
|
|
const _MobileBody({super.key, required this.child});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Container(
|
|
color: Colors.white,
|
|
child: Column(
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: [
|
|
const SizedBox(height: 20),
|
|
const CustomTitle(),
|
|
SizedBox(width: double.infinity, height: 420, child: child),
|
|
const SizedBox(
|
|
width: double.infinity,
|
|
height: 400,
|
|
child: BackgroundAuth(),
|
|
)
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|
|
|
|
class _DesktopBody extends StatelessWidget {
|
|
final Widget child;
|
|
|
|
const _DesktopBody({super.key, required this.child});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final size = MediaQuery.of(context).size;
|
|
|
|
return Container(
|
|
width: size.width,
|
|
height: size.height,
|
|
color: Colors.white,
|
|
child: Row(
|
|
children: [
|
|
const Expanded(child: BackgroundAuth()),
|
|
|
|
// View container
|
|
Container(
|
|
width: 600,
|
|
height: double.infinity,
|
|
color: Colors.white,
|
|
child: Column(
|
|
children: [
|
|
const SizedBox(height: 20),
|
|
const CustomTitle(),
|
|
const SizedBox(height: 50),
|
|
Expanded(child: child),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
}
|