import 'package:doctor_app_flutter/core/viewModel/PatientMedicalReportViewModel.dart';
import 'package:doctor_app_flutter/core/model/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/screens/base/base_view.dart';
import 'package:doctor_app_flutter/utils/translations_delegate_base_utils.dart';
import 'package:doctor_app_flutter/widgets/patients/profile/app_bar/patient-profile-app-bar.dart';
import 'package:doctor_app_flutter/widgets/patients/patient_service_title.dart';
import 'package:doctor_app_flutter/widgets/shared/app_scaffold_widget.dart';
import 'package:doctor_app_flutter/widgets/shared/errors/error_message.dart';
import 'package:flutter/material.dart';
import 'package:flutter_html/flutter_html.dart';

class SpecialLabResultDetailsPage extends StatelessWidget {
  final String resultData;
  final PatiantInformtion patient;

  const SpecialLabResultDetailsPage({Key? key, required this.resultData, required this.patient})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return BaseView<PatientMedicalReportViewModel>(
      builder: (_, model, w) => AppScaffold(
        baseViewModel: model,
        isShowAppBar: true,
        backgroundColor: Theme.of(context).scaffoldBackgroundColor,
        appBar: PatientProfileAppBar(
          patient,
        ),
        body: Container(
          child: SingleChildScrollView(
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                ServiceTitle(
                  title: TranslationBase.of(context).special +
                      " " +
                      TranslationBase.of(context).lab,
                  subTitle: TranslationBase.of(context).result,
                ),
                resultData != null
                    ? Container(
                        width: double.infinity,
                        margin:
                            EdgeInsets.symmetric(horizontal: 16, vertical: 16),
                        padding:
                            EdgeInsets.symmetric(horizontal: 16, vertical: 16),
                        decoration: BoxDecoration(
                          color: Colors.white,
                          shape: BoxShape.rectangle,
                          borderRadius: BorderRadius.all(Radius.circular(8)),
                          border: Border.fromBorderSide(
                            BorderSide(
                              color: Colors.white,
                              width: 1.0,
                            ),
                          ),
                        ),
                        child: Html(data: resultData ?? ""),
                      )
                    : Container(
                        child: ErrorMessage(
                          error: TranslationBase.of(context).noItem,
                        ),
                      ),
              ],
            ),
          ),
        ),
      ),
    );
  }
}
