Line data Source code
1 : // Copyright 2023 The terCAD team. All rights reserved.
2 : // Use of this source code is governed by a CC BY-NC-ND 4.0 license that can be found in the LICENSE file.
3 :
4 : import 'package:app_finance/_classes/herald/app_locale.dart';
5 : import 'package:app_finance/_configs/theme_helper.dart';
6 : import 'package:app_finance/_mixins/launcher_mixin.dart';
7 : import 'package:app_finance/design/button/full_sized_button_widget.dart';
8 : import 'package:app_finance/pages/about/widgets/member_widget.dart';
9 : import 'package:flutter/material.dart';
10 :
11 : class MembersTab extends StatelessWidget with LauncherMixin {
12 0 : static late final members = [
13 0 : (name: 'Viachaslau Lyskouski', badge: [AppLocale.labels.coAuthor]),
14 0 : (name: 'Iryna Shepetovetska', badge: [AppLocale.labels.coTranslator]),
15 0 : (name: 'Aman Raj Singh Mourya', badge: [AppLocale.labels.coDeveloper]),
16 0 : (name: 'Ivan Alessandro Sala', badge: [AppLocale.labels.coPromoter]),
17 0 : (name: 'Carolina Murazik', badge: [AppLocale.labels.coPromoter]),
18 0 : (name: 'Zbymal', badge: [AppLocale.labels.coPromoter]),
19 0 : (name: 'Hazem', badge: [AppLocale.labels.coPromoter]),
20 0 : (name: 'Andrei Tarasevich', badge: [AppLocale.labels.coConsult]),
21 0 : (name: 'Halina Gulevich', badge: [AppLocale.labels.coConsult]),
22 0 : (name: 'Muhammadyusuf Kurbonov', badge: [AppLocale.labels.coDeveloper]),
23 0 : (name: 'Edivaldo Brito', badge: [AppLocale.labels.coPromoter]),
24 0 : (name: 'Jardeson Márcio', badge: [AppLocale.labels.coPromoter]),
25 0 : (name: 'Paul', badge: [AppLocale.labels.coPromoter]),
26 0 : (name: 'Alexey Alter-Pesotskiy', badge: [AppLocale.labels.coPromoter]),
27 : ];
28 :
29 5 : const MembersTab({super.key});
30 :
31 0 : @override
32 : Widget build(BuildContext context) {
33 0 : final indent = ThemeHelper.getIndent();
34 0 : final crossAxisCount = ThemeHelper.getWidthCount(null, context);
35 0 : final width = ThemeHelper.getWidth(context) / (64 * crossAxisCount);
36 0 : return Padding(
37 0 : padding: EdgeInsets.fromLTRB(indent, indent * 4, indent, indent),
38 0 : child: GridView.builder(
39 0 : gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
40 : crossAxisCount: crossAxisCount,
41 : crossAxisSpacing: indent,
42 : mainAxisSpacing: indent,
43 : childAspectRatio: width,
44 : ),
45 : shrinkWrap: true,
46 0 : itemCount: members.length + 1,
47 0 : itemBuilder: (BuildContext context, int index) => index == 0
48 0 : ? Padding(
49 0 : padding: EdgeInsets.only(right: indent, top: indent),
50 0 : child: FullSizedButtonWidget(
51 0 : onPressed: () => openURL('https://github.com/lyskouski/app-finance/blob/main/CONTRIBUTING.md'),
52 0 : title: AppLocale.labels.coNew,
53 : icon: Icons.add,
54 : ),
55 : )
56 0 : : MemberWidget(members[index - 1]),
57 : ),
58 : );
59 : }
60 : }
|