import 'package:diplomaticquarterapp/pages/BookAppointment/Search.dart';
import 'package:diplomaticquarterapp/widgets/transitions/fade_page.dart';
import 'package:flutter/material.dart';

import '../../../Constants.dart';

class CardCommon extends StatelessWidget {
  final image;
  final text;
  final subText;
  final type;

  const CardCommon(
      {@required this.image,
      @required this.text,
      @required this.subText,
      @required this.type});

  @override
  Widget build(BuildContext context) {
    return GestureDetector(
      onTap: () {
        navigateToSearch(context, this.type);
      },
      child: Container(
        margin: EdgeInsets.fromLTRB(9.0, 9.0, 9.0, 9.0),
        decoration: BoxDecoration(boxShadow: [
          BoxShadow(color: Colors.grey[400], blurRadius: 2.0, spreadRadius: 0.0)
        ], borderRadius: BorderRadius.circular(10), color: Colors.white),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: <Widget>[
            Container(
              margin: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 0.0),
              child: Text(this.text,
                  overflow: TextOverflow.clip,
                  style: TextStyle(
                      color: secondaryColor,
                      letterSpacing: 1.0,
                      fontSize: 20.0)),
            ),
            Container(
              margin: EdgeInsets.fromLTRB(10.0, 0.0, 10.0, 0.0),
              child: Text(this.subText,
                  overflow: TextOverflow.clip,
                  style: TextStyle(
                      color: Colors.black, letterSpacing: 1.0, fontSize: 15.0)),
            ),
            Container(
              alignment: Alignment.bottomRight,
              margin: EdgeInsets.fromLTRB(0.0, 0.0, 10.0, 8.0),
              child: Image.asset(this.image, width: 60.0, height: 60.0),
            ),
          ],
        ),
      ),
    );
  }

  Future navigateToSearch(context, type) async {
    Navigator.push(
        context,
        FadePage(
            page: Search(
          type: type,
        )));
  }
}
