Skip to content
Snippets Groups Projects
Select Git revision
  • 31a83d4edb22923dd8c2ea73923e0d015b0b1757
  • master default protected
  • chrome-manifest-v3
  • feature/migrate-cordova-13
  • feat/improve-network-scan
  • feat/force-migration-check
  • develop
  • feature/encrypted_comment
  • feature/android_api_19
  • gitlab_migration_1
  • rml8
  • v1.7.15-rc1
  • v1.7.14
  • v1.7.13
  • v1.7.12
  • v1.7.11
  • v1.7.10
  • v1.7.9
  • v1.7.8
  • v1.7.7
  • v1.7.6
  • v1.7.5
  • v1.7.4
  • v1.7.3
  • v1.7.2
  • v1.7.1
  • v1.7.0
  • v1.7.0-rc2
  • v1.7.0-rc1
  • v1.6.12
  • v1.6.11
31 results

wot-controllers.js

Blame
    • Benoit Lavenier's avatar
      31a83d4e
      - add new ubuntu platform - fix #400 · 31a83d4e
      Benoit Lavenier authored
      - Ubuntu build: keep large screen code, allow camera enable or not, ...
      - Blockchain (advanced) search: avoid row-header to be display twice during loading
      - Index: add 'apple-touch-icon' head for icon in web build
      31a83d4e
      History
      - add new ubuntu platform - fix #400
      Benoit Lavenier authored
      - Ubuntu build: keep large screen code, allow camera enable or not, ...
      - Blockchain (advanced) search: avoid row-header to be display twice during loading
      - Index: add 'apple-touch-icon' head for icon in web build
    certs_list.dart 4.34 KiB
    import 'package:easy_localization/easy_localization.dart';
    import 'package:flutter/material.dart';
    import 'package:gecko/globals.dart';
    import 'package:gecko/models/queries_indexer.dart';
    import 'package:gecko/models/scale_functions.dart';
    import 'package:gecko/models/widgets_keys.dart';
    import 'package:gecko/providers/duniter_indexer.dart';
    import 'package:gecko/widgets/cert_tile.dart';
    import 'package:graphql_flutter/graphql_flutter.dart';
    import 'package:provider/provider.dart';
    
    class CertsList extends StatelessWidget {
      const CertsList({super.key, required this.address, this.direction = CertDirection.received});
      final String address;
      final CertDirection direction;
    
      String formatNumber(int number) {
        return number < 10 ? '0$number' : '$number';
      }
    
      @override
      Widget build(BuildContext context) {
        final indexerProvider = Provider.of<DuniterIndexer>(context, listen: false);
        final screenHeight = MediaQuery.of(context).size.height;
        final appBarHeight = AppBar().preferredSize.height;
        final windowHeight = screenHeight - appBarHeight - (isTall ? 170 : 140);
    
        late String gertCertsReq;
        late String certFrom;
    
        if (direction == CertDirection.received) {
          gertCertsReq = getCertsReceived;
          certFrom = 'issuer';
        } else {
          gertCertsReq = getCertsSent;
          certFrom = 'receiver';
        }
    
        return GraphQLProvider(
          client: ValueNotifier(indexerProvider.indexerClient),
          child: Query(
            options: QueryOptions(
              document: gql(gertCertsReq),
              variables: <String, dynamic>{
                'address': address,
              },
            ),
            builder: (QueryResult result, {fetchMore, refetch}) {
              if (result.isLoading || result.data == null) {
                return const Center(
                  child: CircularProgressIndicator(),
                );
              }
    
              if (result.hasException || result.data == null) {
                log.e('Error Indexer: ${result.exception}');
                return Column(children: <Widget>[
                  ScaledSizedBox(height: 50),
                  Text(
                    "noNetworkNoHistory".tr(),
                    textAlign: TextAlign.center,
                    style: scaledTextStyle(fontSize: 17),
                  )
                ]);
              } else if (result.data?['certConnection']['edges']?.isEmpty) {
                return Column(children: <Widget>[
                  ScaledSizedBox(height: 50),
                  Text(
                    "noDataToDisplay".tr(),
                    style: scaledTextStyle(fontSize: 17),