Widget build()

in ui/lib/modules/my_services/my_service.dart [63:166]


  Widget build(BuildContext context) {
    return Scaffold(
      appBar: App_AppBar(),
      drawer: AppDrawer(),
      body: SingleChildScrollView(
        child: Container(
          margin: EdgeInsets.all(100),
          padding: EdgeInsets.all(25),
          color: Colors.white,
          child: Column(
            children: [
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceBetween,
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  // <<  SERVICE SUMMARY  >>
                  ServiceSummary(service: service),

                  // << CLOSE BUTTON >>
                  IconButton(
                    style: TextButton.styleFrom(
                      textStyle: Theme.of(context).textTheme.labelLarge,
                    ),
                    onPressed: () {
                      Navigator.of(context).pop();
                    },
                    icon: Icon(
                      Icons.close,
                      color: Theme.of(context).primaryColor,
                    ),
                    tooltip: "Close",
                  )
                ],
              ),

              Row(
                crossAxisAlignment: CrossAxisAlignment.center,
                children: [
                  //   << REPO LINK >>
                  SummaryItem(
                    label: "Repository",
                    child: Text.rich(
                      TextSpan(
                        style: TextStyle(
                            color: Theme.of(context).primaryColor,
                            decoration: TextDecoration.underline),
                        text: service.instanceRepo,
                        recognizer: TapGestureRecognizer()
                          ..onTap = () async {
                            launchUrl(Uri.parse(service.instanceRepo));
                          },
                      ),
                    ),
                  ),
                ],
              ),
              Divider(),
              //   << CLOUD SHELL || WORKSTATION BUTTON >>

              service.workstationConfig.isNotEmpty
                  ? WorkStationWidget(service)
                  : LaunchInCloudShellButton(service: service),
              Divider(),
              //   << VULNERABILITIES >>

              VulnerabilityWidget(service: service),
              Divider(),

              //   << RECOMMENDATIONS >>
              if (_serviceUses(["cloudrun"]))
                RecommendationsWidget(service: service),
              Divider(),

              //   << BUILD HISTORY >>
              BuildHistoryWidget(service: service),

              //   << RESOURCES >>
              ServiceResourcesWidget(service: service),

              //   << TEMPLATE DETAILS >>
              TemplateDetailsWidget(service: service),
              Divider(),

              // <<  DELETE BUTTON  >>
              IconButton(
                tooltip: 'Delete',
                onPressed: () async {
                  await ref
                      .read(servicesRepositoryProvider)
                      .deleteService(service);
                  ref.invalidate(servicesProvider);
                  Navigator.of(context).pop();
                },
                icon: Icon(
                  Icons.delete,
                  color: Colors.red,
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }