Flutter Fixes etc
Build Docker and Deploy / Build Docker Container (push) Successful in 1m7s
Build Docker and Deploy / Run Unit-Tests (push) Failing after 7m34s
Build Docker and Deploy / Deploy to Server (push) Has been skipped

This commit is contained in:
2026-05-31 04:13:13 +02:00
parent 0b7be0908d
commit bb34f3b2b4
8 changed files with 13793 additions and 13839 deletions
File diff suppressed because it is too large Load Diff
@@ -1,85 +1,12 @@
library font_awesome_flutter; library font_awesome_flutter;
import 'package:flutter/widgets.dart'; // NOTE:
// This file previously declared IconDataBrands / IconDataSolid / IconDataRegular
/// [IconData] for a font awesome brand icon from a code point // / IconDataLight / IconDataThin / IconDataDuotone as subclasses of [IconData].
/// // Newer Flutter SDKs mark [IconData] as a `final class`, which can no longer be
/// Code points can be obtained from fontawesome.com // extended outside its own library, so those subclasses no longer compile.
class IconDataBrands extends IconData { //
const IconDataBrands(int codePoint) // The generated icon constants in `font_awesome_flutter.dart` now construct
: super( // plain `const IconData(..., fontFamily: '<FontAwesome...>', fontPackage:
codePoint, // 'font_awesome_flutter')` directly, so these helper subclasses are no longer
fontFamily: 'FontAwesomeBrands', // needed. Using const [IconData] literals also keeps icon tree-shaking working.
fontPackage: 'font_awesome_flutter',
);
}
/// [IconData] for a font awesome solid icon from a code point
///
/// Code points can be obtained from fontawesome.com
class IconDataSolid extends IconData {
const IconDataSolid(int codePoint)
: super(
codePoint,
fontFamily: 'FontAwesomeSolid',
fontPackage: 'font_awesome_flutter',
);
}
/// [IconData] for a font awesome regular icon from a code point
///
/// Code points can be obtained from fontawesome.com
class IconDataRegular extends IconData {
const IconDataRegular(int codePoint)
: super(
codePoint,
fontFamily: 'FontAwesomeRegular',
fontPackage: 'font_awesome_flutter',
);
}
/// [IconData] for a font awesome light icon from a code point. Only works if
/// light icons (font awesome pro) have been installed.
///
/// Code points can be obtained from fontawesome.com
class IconDataLight extends IconData {
const IconDataLight(int codePoint)
: super(
codePoint,
fontFamily: 'FontAwesomeLight',
fontPackage: 'font_awesome_flutter',
);
}
/// [IconData] for a font awesome duotone icon from a code point. Only works if
/// duotone icons (font awesome pro) have been installed.
///
/// Code points can be obtained from fontawesome.com. Each duotone icon consists
/// of a primary [codePoint] and a [secondary].
class IconDataDuotone extends IconData {
/// Secondary glyph of the duotone icon
///
/// Due to tree-shaking restraints [secondary] cannot be the codepoint itself,
/// but has to be an [IconData] object.
final IconData? secondary;
const IconDataDuotone(int codePoint, {this.secondary})
: super(
codePoint,
fontFamily: 'FontAwesomeDuotone',
fontPackage: 'font_awesome_flutter',
);
}
/// [IconData] for a font awesome thin icon from a code point. Only works if
/// thin icons (font awesome pro, v6+) have been installed.
///
/// Code points can be obtained from fontawesome.com
class IconDataThin extends IconData {
const IconDataThin(int codePoint)
: super(
codePoint,
fontFamily: 'FontAwesomeThin',
fontPackage: 'font_awesome_flutter',
);
}
@@ -98,7 +98,7 @@ class _SCNNavLayoutState extends State<SCNNavLayout> {
selectedIndex: _selectedIndex, selectedIndex: _selectedIndex,
onTabSelected: _onItemTapped, onTabSelected: _onItemTapped,
color: Theme.of(context).disabledColor, color: Theme.of(context).disabledColor,
selectedColor: Theme.of(context).primaryColorDark, selectedColor: Theme.of(context).colorScheme.primary,
notchedShape: const AutomaticNotchedShape( notchedShape: const AutomaticNotchedShape(
RoundedRectangleBorder( RoundedRectangleBorder(
borderRadius: BorderRadius.only( borderRadius: BorderRadius.only(
+1 -1
View File
@@ -31,7 +31,7 @@ class SCNScaffold extends StatelessWidget {
showShare: showShare, showShare: showShare,
onShare: onShare ?? () {}, onShare: onShare ?? () {},
), ),
body: child, body: SafeArea(child: child),
floatingActionButton: floatingActionButton, floatingActionButton: floatingActionButton,
); );
} }
@@ -69,6 +69,11 @@ class _ChannelListItemState extends State<ChannelListItem> {
margin: EdgeInsets.fromLTRB(0, 4, 0, 4), margin: EdgeInsets.fromLTRB(0, 4, 0, 4),
shape: BeveledRectangleBorder(borderRadius: BorderRadius.circular(0)), shape: BeveledRectangleBorder(borderRadius: BorderRadius.circular(0)),
color: Theme.of(context).cardTheme.color, color: Theme.of(context).cardTheme.color,
child: IntrinsicHeight(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Expanded(
child: InkWell( child: InkWell(
onTap: () { onTap: () {
if (widget.mode == ChannelListItemMode.Messages) { if (widget.mode == ChannelListItemMode.Messages) {
@@ -112,8 +117,13 @@ class _ChannelListItemState extends State<ChannelListItem> {
], ],
), ),
), ),
SizedBox(width: 4), ],
),
),
),
),
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () { onTap: () {
if (widget.mode == ChannelListItemMode.Messages) { if (widget.mode == ChannelListItemMode.Messages) {
Navi.push(context, () => ChannelViewPage(channelID: widget.channel.channelID, preloadedData: (widget.channel, widget.subscription), needsReload: widget.onChannelListReloadTrigger)); Navi.push(context, () => ChannelViewPage(channelID: widget.channel.channelID, preloadedData: (widget.channel, widget.subscription), needsReload: widget.onChannelListReloadTrigger));
@@ -122,14 +132,13 @@ class _ChannelListItemState extends State<ChannelListItem> {
} }
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.all(8), padding: const EdgeInsets.only(left: 12, right: 16),
child: (widget.mode == ChannelListItemMode.Messages) ? Icon(FontAwesomeIcons.solidSquareInfo, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24) : Icon(FontAwesomeIcons.solidEnvelopes, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24), child: Center(widthFactor: 1.0, child: (widget.mode == ChannelListItemMode.Messages) ? Icon(FontAwesomeIcons.solidSquareInfo, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24) : Icon(FontAwesomeIcons.solidEnvelopes, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24)),
), ),
), ),
], ],
), ),
), ),
),
); );
} }
@@ -31,6 +31,11 @@ class KeyTokenListItem extends StatelessWidget {
margin: EdgeInsets.fromLTRB(0, 4, 0, 4), margin: EdgeInsets.fromLTRB(0, 4, 0, 4),
shape: BeveledRectangleBorder(borderRadius: BorderRadius.circular(0)), shape: BeveledRectangleBorder(borderRadius: BorderRadius.circular(0)),
color: Theme.of(context).cardTheme.color, color: Theme.of(context).cardTheme.color,
child: IntrinsicHeight(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Expanded(
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Navi.push(context, () => KeyTokenViewPage(keytokenID: item.keytokenID, preloadedData: item, needsReload: needsReload)); Navi.push(context, () => KeyTokenViewPage(keytokenID: item.keytokenID, preloadedData: item, needsReload: needsReload));
@@ -75,20 +80,24 @@ class KeyTokenListItem extends StatelessWidget {
], ],
), ),
), ),
SizedBox(width: 4), ],
),
),
),
),
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () { onTap: () {
Navi.push(context, () => FilteredMessageViewPage(title: item.name, alertText: 'All message sent with the key \'${item.name}\'', filter: MessageFilter(usedKeys: [item.keytokenID]))); Navi.push(context, () => FilteredMessageViewPage(title: item.name, alertText: 'All message sent with the key \'${item.name}\'', filter: MessageFilter(usedKeys: [item.keytokenID])));
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.all(8), padding: const EdgeInsets.only(left: 12, right: 16),
child: Icon(FontAwesomeIcons.solidEnvelopes, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24), child: Center(widthFactor: 1.0, child: Icon(FontAwesomeIcons.solidEnvelopes, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24)),
), ),
), ),
], ],
), ),
), ),
),
); );
} }
@@ -28,6 +28,11 @@ class SenderListItem extends StatelessWidget {
margin: EdgeInsets.fromLTRB(0, 4, 0, 4), margin: EdgeInsets.fromLTRB(0, 4, 0, 4),
shape: BeveledRectangleBorder(borderRadius: BorderRadius.circular(0)), shape: BeveledRectangleBorder(borderRadius: BorderRadius.circular(0)),
color: Theme.of(context).cardTheme.color, color: Theme.of(context).cardTheme.color,
child: IntrinsicHeight(
child: Row(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: [
Expanded(
child: InkWell( child: InkWell(
onTap: () { onTap: () {
Navi.push(context, () => FilteredMessageViewPage(title: item.name, alertText: 'All message sent from \'${item.name}\'', filter: MessageFilter(senderNames: [item.name]))); Navi.push(context, () => FilteredMessageViewPage(title: item.name, alertText: 'All message sent from \'${item.name}\'', filter: MessageFilter(senderNames: [item.name])));
@@ -68,20 +73,24 @@ class SenderListItem extends StatelessWidget {
], ],
), ),
), ),
SizedBox(width: 4), ],
),
),
),
),
GestureDetector( GestureDetector(
behavior: HitTestBehavior.opaque,
onTap: () { onTap: () {
Navi.push(context, () => FilteredMessageViewPage(title: item.name, alertText: 'All message sent from \'${item.name}\'', filter: MessageFilter(senderNames: [item.name]))); Navi.push(context, () => FilteredMessageViewPage(title: item.name, alertText: 'All message sent from \'${item.name}\'', filter: MessageFilter(senderNames: [item.name])));
}, },
child: Padding( child: Padding(
padding: const EdgeInsets.all(8), padding: const EdgeInsets.only(left: 12, right: 16),
child: Icon(FontAwesomeIcons.solidEnvelopes, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24), child: Center(widthFactor: 1.0, child: Icon(FontAwesomeIcons.solidEnvelopes, color: Theme.of(context).colorScheme.onPrimaryContainer.withAlpha(128), size: 24)),
), ),
), ),
], ],
), ),
), ),
),
); );
} }
} }
+1 -1
View File
@@ -2,7 +2,7 @@ name: simplecloudnotifier
description: "Receive push messages" description: "Receive push messages"
publish_to: 'none' publish_to: 'none'
version: 2.2.2+544 version: 2.2.8+553
environment: environment:
sdk: '>=3.9.0 <4.0.0' sdk: '>=3.9.0 <4.0.0'