feat(ui): Lucide migration unit 1 — dependency + heart (#60)
Design system mandates Lucide, not Material. Foundation before the mechanical Icons.* sweep: - pubspec: add flutter_lucide ^1.11.0 - shared/widgets/lucide_heart.dart: LucideHeart renders the verified lucide-icons/lucide heart path as outline (stroke) or filled, via flutter_svg, tinted by color — Lucide ships no filled heart, so the liked state fills the same Lucide silhouette (user-chosen approach) - like_button: use LucideHeart instead of Icons.favorite/_border - notification drawables re-derived from the verbatim Lucide heart path (border = stroke, filled = fill); separators spaced for Android pathData Unit 2 (mechanical Icons.* -> LucideIcons.* sweep) follows once this is CI-green. pubspec.lock regenerated by CI. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||
|
||||
import '../api/endpoints/likes.dart';
|
||||
import '../shared/widgets/lucide_heart.dart';
|
||||
import '../theme/theme_extension.dart';
|
||||
import 'likes_provider.dart';
|
||||
|
||||
@@ -25,8 +26,8 @@ class LikeButton extends ConsumerWidget {
|
||||
orElse: () => false,
|
||||
);
|
||||
return IconButton(
|
||||
icon: Icon(
|
||||
liked ? Icons.favorite : Icons.favorite_border,
|
||||
icon: LucideHeart(
|
||||
filled: liked,
|
||||
color: liked ? fs.accent : fs.ash,
|
||||
size: size,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user