123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- import 'package:auto_route/annotations.dart';
- import 'package:auto_route/auto_route.dart';
- import 'package:easy_localization/easy_localization.dart';
- import 'package:flutter/foundation.dart';
- import 'package:flutter/material.dart';
- import 'package:http/http.dart' as http;
- import 'package:telnow_mobile_new/src/api/api_auth_provider.dart';
- import 'package:telnow_mobile_new/src/utils/U.dart';
- import '../components/template.dart';
- @RoutePage()
- class EndSessionPage extends StatefulWidget {
- const EndSessionPage({super.key});
- @override
- State<EndSessionPage> createState() => _EndSessionPageState();
- }
- class _EndSessionPageState extends State<EndSessionPage> {
- @override
- Widget build(BuildContext context) {
- bool useAsset = false;
- String imageUrl = '';
- final ApiAuthProvider apiAuthProvider = ApiAuthProvider();
- try {
- imageUrl = apiAuthProvider.baseUrl + U.decodeBase64Url(Uri.decodeComponent(U.getAccessCode()!))+'/assets/background/tn';
- http.head(Uri.parse(imageUrl));
- }catch(e){
- useAsset = true;
- }
- return Scaffold(
- resizeToAvoidBottomInset: false,
- body: Stack(
- children: [
- SizedBox(
- width: double.infinity, height: double.infinity,
- child: Image.network(imageUrl, fit: BoxFit.cover, width: double.infinity, height: double.infinity, errorBuilder: (context, error, stacktrace){
- return Image.asset('assets/image/background/background.jpg', fit: BoxFit.cover, width: double.infinity, height: double.infinity);
- })
- ),
- SingleChildScrollView(
- child: Container(
- padding: EdgeInsets.fromLTRB(16, kIsWeb?105:200, 16, 16),
- width: MediaQuery.of(context).size.width,
- height: kIsWeb && MediaQuery.of(context).size.height<700 ? 700 : MediaQuery.of(context).size.height,
- decoration: BoxDecoration(
- gradient: LinearGradient(
- begin: Alignment.topCenter, end: Alignment.bottomCenter,
- colors: [
- primaryColor.withValues(alpha: 0.50), Colors.black.withValues(alpha: 0.91)
- ]
- )
- ),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.center,
- children: [
- Image.asset('assets/image/logo/logo.png', width: 160),
- Expanded(
- child: Column(
- mainAxisAlignment: MainAxisAlignment.start,
- children: [
- Container(
- margin: EdgeInsets.only(top: 100, left: 16, right: 16, bottom: 48),
- child: Column(
- children: [
- Text('endSessionTitle'.tr(), style: TextStyle(color: Colors.white, fontSize: 16, fontWeight: FontWeight.w500), textAlign: TextAlign.center),
- SizedBox(height: 16),
- Text('endSessionDesc'.tr(), style: TextStyle(color: Colors.white, fontSize: 16), textAlign: TextAlign.center),
- ],
- )
- ),
- GestureDetector(
- onTap: (){
- setState(() {
- token.logout();
- context.router.removeLast();
- // context.replaceRoute(NamedRoute(name));
- context.navigateToPath("/app/${U.getAccessCode()}");
- // context.navigateToPath("/app/${U.getAccessCode()}/login");
- });
- },
- child: Container(
- padding: EdgeInsets.symmetric(vertical: 32, horizontal: 64),
- decoration: BoxDecoration(
- color: primaryColor.withValues(alpha: 0.50),
- border: Border.all(color: Colors.white),
- borderRadius: BorderRadius.all(Radius.circular(12))
- ),
- child: Row(
- mainAxisSize: MainAxisSize.min,
- children: [
- Text('backToLogin'.tr(), style: TextStyle(color: Colors.white, fontSize: 16)),
- ],
- ),
- ),
- ),
- ],
- ),
- ),
- SizedBox(height: 5),
- Text('${'version'.tr()} ${ApiAuthProvider().displayVersion}', style: TextStyle(color: Colors.white, fontSize: 14)),
- SizedBox(height: 5),
- Text('Build ${ApiAuthProvider().buildNumber}', style: TextStyle(color: Colors.white, fontSize: 13)),
- ],
- ),
- ),
- ),
- ],
- ),
- );
- }
- }
- // class EndSessionPage extends StatelessWidget {
- // const EndSessionPage({super.key});
- //
- // @override
- // Widget build(BuildContext context) {
- //
- // }
|