feat(ui_components): add portfolio & skill cards #126

This commit is contained in:
Malo Léon 2023-02-09 15:15:53 +01:00 committed by Gitea
parent dd75ecfc7a
commit 6c85faba82
7 changed files with 213 additions and 23 deletions

View File

@ -19,13 +19,17 @@ import 'package:wyatt_ui_components/src/domain/entities/component.dart';
abstract class CardComponent extends Component {
const CardComponent({
this.radius,
this.padding,
this.radius = 12,
this.padding = 25,
this.borderColors,
this.backgroundColor,
this.minSize,
this.maxSize,
this.shadow,
this.minSize = const Size(330, 230),
this.maxSize = const Size(330, 530),
this.shadow = const BoxShadow(
blurRadius: 30,
offset: Offset(0, 5),
color: Color.fromRGBO(0, 0, 0, 0.05),
),
this.background,
super.key,
});

View File

@ -30,17 +30,13 @@ abstract class InformationCardComponent extends CardComponent
this.subtitle,
this.body,
this.axis = Axis.vertical,
super.radius = 12,
super.padding = 25,
super.radius,
super.padding,
super.borderColors,
super.backgroundColor,
super.minSize = const Size(330, 230),
super.maxSize = const Size(330, 530),
super.shadow = const BoxShadow(
blurRadius: 30,
offset: Offset(0, 5),
color: Color.fromRGBO(0, 0, 0, 0.05),
),
super.minSize,
super.maxSize,
super.shadow,
super.background,
super.key,
});

View File

@ -0,0 +1,55 @@
// Copyright (C) 2023 WYATT GROUP
// Please see the AUTHORS file for details.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/widgets.dart';
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart';
import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart';
part 'portfolio_card_component.g.dart';
@ComponentProxyExtension()
abstract class PortfolioCardComponent extends CardComponent
with CopyWithMixin<$PortfolioCardComponentCWProxy> {
const PortfolioCardComponent({
this.showImagesOnTop,
this.keyword,
this.description,
this.logo,
this.projectName,
this.subtitle,
this.ctas,
this.assets,
super.radius,
super.padding,
super.borderColors,
super.backgroundColor,
super.minSize,
super.maxSize,
super.shadow,
super.background,
super.key,
});
final bool? showImagesOnTop;
final List<TextWrapper>? keyword;
final List<String>? assets;
final TextWrapper? description;
final String? logo;
final TextWrapper? projectName;
final TextWrapper? subtitle;
final List<Widget>? ctas;
}

View File

@ -0,0 +1,46 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'portfolio_card_component.dart';
// **************************************************************************
// ComponentProxyGenerator
// **************************************************************************
abstract class $PortfolioCardComponentCWProxy {
PortfolioCardComponent showImagesOnTop(bool? showImagesOnTop);
PortfolioCardComponent keyword(List<TextWrapper>? keyword);
PortfolioCardComponent description(TextWrapper? description);
PortfolioCardComponent logo(String? logo);
PortfolioCardComponent projectName(TextWrapper? projectName);
PortfolioCardComponent subtitle(TextWrapper? subtitle);
PortfolioCardComponent ctas(List<Widget>? ctas);
PortfolioCardComponent assets(List<String>? assets);
PortfolioCardComponent radius(double? radius);
PortfolioCardComponent padding(double? padding);
PortfolioCardComponent borderColors(List<Color>? borderColors);
PortfolioCardComponent backgroundColor(Color? backgroundColor);
PortfolioCardComponent minSize(Size? minSize);
PortfolioCardComponent maxSize(Size? maxSize);
PortfolioCardComponent shadow(BoxShadow? shadow);
PortfolioCardComponent background(Widget? background);
PortfolioCardComponent key(Key? key);
PortfolioCardComponent call({
bool? showImagesOnTop,
List<TextWrapper>? keyword,
TextWrapper? description,
String? logo,
TextWrapper? projectName,
TextWrapper? subtitle,
List<Widget>? ctas,
List<String>? assets,
double? radius,
double? padding,
List<Color>? borderColors,
Color? backgroundColor,
Size? minSize,
Size? maxSize,
BoxShadow? shadow,
Widget? background,
Key? key,
});
}

View File

@ -32,17 +32,13 @@ abstract class QuoteCardComponent extends CardComponent
this.quote,
this.leftQuote,
this.rightQuote,
super.radius = 12,
super.padding = 25,
super.radius,
super.padding,
super.borderColors,
super.backgroundColor,
super.minSize = const Size(330, 230),
super.maxSize = const Size(330, 530),
super.shadow = const BoxShadow(
blurRadius: 30,
offset: Offset(0, 5),
color: Color.fromRGBO(0, 0, 0, 0.05),
),
super.minSize,
super.maxSize,
super.shadow,
super.background,
super.key,
});

View File

@ -0,0 +1,51 @@
// Copyright (C) 2023 WYATT GROUP
// Please see the AUTHORS file for details.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
import 'package:flutter/widgets.dart';
import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart';
import 'package:wyatt_ui_components/src/domain/entities/cards/card_component.dart';
import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart';
part 'skill_card_component.g.dart';
@ComponentProxyExtension()
abstract class SkillCardComponent extends CardComponent
with CopyWithMixin<$SkillCardComponentCWProxy> {
const SkillCardComponent({
this.icon,
this.gradient,
this.title,
this.description,
this.skills,
this.leadingIcon,
super.radius,
super.padding,
super.borderColors,
super.backgroundColor,
super.minSize,
super.maxSize,
super.shadow,
super.background,
super.key,
});
final IconData? icon;
final List<Color>? gradient;
final TextWrapper? title;
final TextWrapper? description;
final List<TextWrapper>? skills;
final IconData? leadingIcon;
}

View File

@ -0,0 +1,42 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'skill_card_component.dart';
// **************************************************************************
// ComponentProxyGenerator
// **************************************************************************
abstract class $SkillCardComponentCWProxy {
SkillCardComponent icon(IconData? icon);
SkillCardComponent gradient(List<Color>? gradient);
SkillCardComponent title(TextWrapper? title);
SkillCardComponent description(TextWrapper? description);
SkillCardComponent skills(List<TextWrapper>? skills);
SkillCardComponent leadingIcon(IconData? leadingIcon);
SkillCardComponent radius(double? radius);
SkillCardComponent padding(double? padding);
SkillCardComponent borderColors(List<Color>? borderColors);
SkillCardComponent backgroundColor(Color? backgroundColor);
SkillCardComponent minSize(Size? minSize);
SkillCardComponent maxSize(Size? maxSize);
SkillCardComponent shadow(BoxShadow? shadow);
SkillCardComponent background(Widget? background);
SkillCardComponent key(Key? key);
SkillCardComponent call({
IconData? icon,
List<Color>? gradient,
TextWrapper? title,
TextWrapper? description,
List<TextWrapper>? skills,
IconData? leadingIcon,
double? radius,
double? padding,
List<Color>? borderColors,
Color? backgroundColor,
Size? minSize,
Size? maxSize,
BoxShadow? shadow,
Widget? background,
Key? key,
});
}