ponshu-room-lite/lib/widgets/common/munyun_like_button.dart

44 lines
1.4 KiB
Dart
Raw Normal View History

import 'package:flutter/material.dart';
import 'package:lucide_icons/lucide_icons.dart';
// Riveアニメーション用のウィジェットv1.2: フォールバックモード)
// 注意: .rivファイルが存在しないため、現在はLucideIconsで表示されます
// TODO: assets/rive/munyun_heart.riv を配置すればアニメーション有効化
class MunyunLikeButton extends StatefulWidget {
final bool isLiked;
final VoidCallback onTap;
final double size;
const MunyunLikeButton({
super.key,
required this.isLiked,
required this.onTap,
this.size = 24.0,
});
@override
State<MunyunLikeButton> createState() => _MunyunLikeButtonState();
}
class _MunyunLikeButtonState extends State<MunyunLikeButton> {
// v1.2: Riveパッケージのバージョン問題により、一旦フォールバックのみで実装
// .rivファイルの配置 + Riveパッケージ更新後に再度実装予定
@override
Widget build(BuildContext context) {
// 現在はフォールバック表示のみ
return _buildFallback();
}
Widget _buildFallback() {
return IconButton(
icon: Icon(
LucideIcons.heart, // Lucideには塗りつぶしハートがないため、色で区別
),
color: widget.isLiked ? Colors.pink : Colors.white,
tooltip: 'お気に入り',
onPressed: widget.onTap,
);
}
}