splash_page.dart 1.43 KB
import 'dart:async';

import 'package:flutter/material.dart';
import 'package:wow_english/common/extension/string_extension.dart';
import 'package:wow_english/network/basic_configuration.dart';
import 'package:wow_english/route/route.dart';


class SplashPage extends StatelessWidget {
  const SplashPage({super.key});

  @override
  Widget build(BuildContext context) {
    return const TransitionView();
  }
}

class TransitionView extends StatefulWidget {
  const TransitionView({super.key});

  @override
  State<StatefulWidget> createState() {
    return _TransitionViewState();
  }
}

class _TransitionViewState extends State<TransitionView> {

  Future startTime() async {
    Timer(const Duration(seconds: 1),() {
      if(BasicConfigurationManager().sessionId!.isNotEmpty) {
        Navigator.of(context).pushNamedAndRemoveUntil(AppRouteName.tab, (route) => false);
      } else {
        Navigator.of(context).pushNamedAndRemoveUntil(AppRouteName.login,(route) => false);
      }
    });
  }

  @override
  void initState() {
    super.initState();
    startTime();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Container(
          decoration: BoxDecoration(
              image: DecorationImage(
                  image: AssetImage(
                    'splash'.assetPng,
                  ),
                  fit: BoxFit.fill
              )
          ),
        ),
      ),
    );
  }
}