Polish navigation, Quran flows, and sharing UX
This commit is contained in:
119
lib/app/icons/app_icons.dart
Normal file
119
lib/app/icons/app_icons.dart
Normal file
@@ -0,0 +1,119 @@
|
||||
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);
|
||||
}
|
||||
Reference in New Issue
Block a user