Files
jamshalat-diary/lib/app/icons/app_icons.dart
2026-03-18 00:07:10 +07:00

120 lines
4.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:hugeicons/hugeicons.dart';
@immutable
class AppIconGlyph {
const AppIconGlyph.material(this.material) : huge = null;
const AppIconGlyph.huge(this.huge) : material = null;
final IconData? material;
final List<List<dynamic>>? huge;
}
class AppIcon extends StatelessWidget {
const AppIcon({
super.key,
required this.glyph,
this.color,
this.size,
this.strokeWidth,
this.semanticLabel,
});
final AppIconGlyph glyph;
final Color? color;
final double? size;
final double? strokeWidth;
final String? semanticLabel;
@override
Widget build(BuildContext context) {
final huge = glyph.huge;
if (huge != null) {
return HugeIcon(
icon: huge,
color: color,
size: size,
strokeWidth: strokeWidth,
);
}
return Icon(
glyph.material,
color: color,
size: size,
semanticLabel: semanticLabel,
);
}
}
class AppIcons {
const AppIcons._();
static const AppIconGlyph home =
AppIconGlyph.huge(HugeIcons.strokeRoundedHome01);
static const AppIconGlyph calendar =
AppIconGlyph.huge(HugeIcons.strokeRoundedCalendar01);
static const AppIconGlyph quran =
AppIconGlyph.huge(HugeIcons.strokeRoundedQuran02);
static const AppIconGlyph dzikir =
AppIconGlyph.huge(HugeIcons.strokeRoundedTasbih);
static const AppIconGlyph lainnya =
AppIconGlyph.huge(HugeIcons.strokeRoundedGridView);
static const AppIconGlyph ibadah =
AppIconGlyph.huge(HugeIcons.strokeRoundedCheckList);
static const AppIconGlyph laporan =
AppIconGlyph.huge(HugeIcons.strokeRoundedChart01);
static const AppIconGlyph murattal =
AppIconGlyph.huge(HugeIcons.strokeRoundedHeadset);
static const AppIconGlyph qibla =
AppIconGlyph.huge(HugeIcons.strokeRoundedCompass);
static const AppIconGlyph doa = AppIconGlyph.huge(HugeIcons.strokeRoundedDua);
static const AppIconGlyph hadits =
AppIconGlyph.huge(HugeIcons.strokeRoundedBooks01);
static const AppIconGlyph quranEnrichment =
AppIconGlyph.huge(HugeIcons.strokeRoundedQuran01);
static const AppIconGlyph notification =
AppIconGlyph.huge(HugeIcons.strokeRoundedNotification03);
static const AppIconGlyph settings =
AppIconGlyph.huge(HugeIcons.strokeRoundedSettings02);
static const AppIconGlyph share =
AppIconGlyph.huge(HugeIcons.strokeRoundedShare01);
static const AppIconGlyph themeMoon =
AppIconGlyph.huge(HugeIcons.strokeRoundedMoon02);
static const AppIconGlyph themeSun =
AppIconGlyph.huge(HugeIcons.strokeRoundedSun02);
static const AppIconGlyph checkCircle =
AppIconGlyph.huge(HugeIcons.strokeRoundedCheckmarkCircle02);
static const AppIconGlyph circle =
AppIconGlyph.huge(HugeIcons.strokeRoundedCircle);
static const AppIconGlyph musicNote =
AppIconGlyph.huge(HugeIcons.strokeRoundedMusicNote01);
static const AppIconGlyph shuffle =
AppIconGlyph.huge(HugeIcons.strokeRoundedShuffle);
static const AppIconGlyph previousTrack =
AppIconGlyph.huge(HugeIcons.strokeRoundedPrevious);
static const AppIconGlyph nextTrack =
AppIconGlyph.huge(HugeIcons.strokeRoundedNext);
static const AppIconGlyph play =
AppIconGlyph.huge(HugeIcons.strokeRoundedPlay);
static const AppIconGlyph pause =
AppIconGlyph.huge(HugeIcons.strokeRoundedPause);
static const AppIconGlyph playlist =
AppIconGlyph.huge(HugeIcons.strokeRoundedPlaylist01);
static const AppIconGlyph user =
AppIconGlyph.huge(HugeIcons.strokeRoundedUser03);
static const AppIconGlyph arrowDown =
AppIconGlyph.huge(HugeIcons.strokeRoundedArrowDown01);
static const AppIconGlyph backArrow =
AppIconGlyph.huge(HugeIcons.strokeRoundedArrowLeft01);
static const AppIconGlyph location =
AppIconGlyph.huge(HugeIcons.strokeRoundedMosqueLocation);
static const AppIconGlyph locationActive =
AppIconGlyph.huge(HugeIcons.strokeRoundedLocation01);
static const AppIconGlyph locationOffline =
AppIconGlyph.huge(HugeIcons.strokeRoundedLocationOffline01);
}