Enable skia in web
This commit is contained in:
parent
70806d9f4d
commit
d6836ad3df
8 changed files with 104 additions and 150 deletions
|
|
@ -1,8 +1,8 @@
|
|||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:famedlysdk/famedlysdk.dart';
|
||||
import 'package:fluffychat/utils/string_color.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_advanced_networkimage/provider.dart';
|
||||
|
||||
import 'matrix.dart';
|
||||
|
||||
|
|
@ -40,13 +40,7 @@ class Avatar extends StatelessWidget {
|
|||
child: CircleAvatar(
|
||||
radius: size / 2,
|
||||
backgroundImage: mxContent.mxc?.isNotEmpty ?? false
|
||||
? kIsWeb
|
||||
? NetworkImage(
|
||||
src,
|
||||
)
|
||||
: CachedNetworkImageProvider(
|
||||
src,
|
||||
)
|
||||
? AdvancedNetworkImage(src)
|
||||
: null,
|
||||
backgroundColor: mxContent.mxc.isEmpty
|
||||
? name?.color ?? Theme.of(context).secondaryHeaderColor
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:famedlysdk/famedlysdk.dart';
|
||||
import 'package:fluffychat/views/image_viewer.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_advanced_networkimage/provider.dart';
|
||||
|
||||
import 'matrix.dart';
|
||||
|
||||
|
|
@ -32,55 +31,44 @@ class ContentBanner extends StatelessWidget {
|
|||
height: bannerSize,
|
||||
method: ThumbnailMethod.scale,
|
||||
);
|
||||
return InkWell(
|
||||
onTap: () => mxContent.mxc?.isNotEmpty ?? false
|
||||
? ImageViewer.show(context, mxContent)
|
||||
: null,
|
||||
child: Container(
|
||||
height: 300,
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(context).secondaryHeaderColor,
|
||||
),
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
Positioned(
|
||||
left: 0,
|
||||
right: 0,
|
||||
top: 0,
|
||||
bottom: 0,
|
||||
child: Opacity(
|
||||
opacity: 0.75,
|
||||
child: !loading
|
||||
? mxContent.mxc?.isNotEmpty ?? false
|
||||
? kIsWeb
|
||||
? Image.network(
|
||||
src,
|
||||
height: 300,
|
||||
fit: BoxFit.cover,
|
||||
)
|
||||
: CachedNetworkImage(
|
||||
imageUrl: src,
|
||||
height: 300,
|
||||
fit: BoxFit.cover,
|
||||
)
|
||||
: Icon(defaultIcon, size: 300)
|
||||
: Icon(defaultIcon, size: 300),
|
||||
return Container(
|
||||
height: 300,
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: Theme.of(context).secondaryHeaderColor,
|
||||
),
|
||||
child: Stack(
|
||||
children: <Widget>[
|
||||
Positioned(
|
||||
left: 0,
|
||||
right: 0,
|
||||
top: 0,
|
||||
bottom: 0,
|
||||
child: Opacity(
|
||||
opacity: 0.75,
|
||||
child: !loading
|
||||
? mxContent.mxc?.isNotEmpty ?? false
|
||||
? Image(
|
||||
height: 300,
|
||||
fit: BoxFit.cover,
|
||||
image: AdvancedNetworkImage(src),
|
||||
)
|
||||
: Icon(defaultIcon, size: 300)
|
||||
: Icon(defaultIcon, size: 300),
|
||||
),
|
||||
),
|
||||
if (this.onEdit != null)
|
||||
Container(
|
||||
margin: EdgeInsets.all(8),
|
||||
alignment: Alignment.bottomRight,
|
||||
child: FloatingActionButton(
|
||||
mini: true,
|
||||
backgroundColor: Theme.of(context).primaryColor,
|
||||
child: Icon(Icons.camera_alt),
|
||||
onPressed: onEdit,
|
||||
),
|
||||
),
|
||||
if (this.onEdit != null)
|
||||
Container(
|
||||
margin: EdgeInsets.all(8),
|
||||
alignment: Alignment.bottomRight,
|
||||
child: FloatingActionButton(
|
||||
mini: true,
|
||||
backgroundColor: Theme.of(context).primaryColor,
|
||||
child: Icon(Icons.camera_alt),
|
||||
onPressed: onEdit,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ import 'package:fluffychat/i18n/i18n.dart';
|
|||
import 'package:fluffychat/utils/date_time_extension.dart';
|
||||
import 'package:fluffychat/utils/event_extension.dart';
|
||||
import 'package:fluffychat/utils/string_color.dart';
|
||||
import 'package:fluffychat/views/image_viewer.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
import '../avatar.dart';
|
||||
|
|
@ -17,6 +16,7 @@ class Message extends StatelessWidget {
|
|||
final Event event;
|
||||
final Event nextEvent;
|
||||
final Function(Event) onSelect;
|
||||
final Function(Event) onAvatarTab;
|
||||
final bool longPressSelect;
|
||||
final bool selected;
|
||||
final Timeline timeline;
|
||||
|
|
@ -25,6 +25,7 @@ class Message extends StatelessWidget {
|
|||
{this.nextEvent,
|
||||
this.longPressSelect,
|
||||
this.onSelect,
|
||||
this.onAvatarTab,
|
||||
this.selected,
|
||||
this.timeline});
|
||||
|
||||
|
|
@ -119,11 +120,13 @@ class Message extends StatelessWidget {
|
|||
.tryRequestWithLoadingDialog(event.requestKey()),
|
||||
),
|
||||
SizedBox(height: 4),
|
||||
_MetaRow(
|
||||
event,
|
||||
ownMessage,
|
||||
textColor,
|
||||
invisible: true,
|
||||
Opacity(
|
||||
opacity: 0,
|
||||
child: _MetaRow(
|
||||
event,
|
||||
ownMessage,
|
||||
textColor,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
|
@ -147,7 +150,7 @@ class Message extends StatelessWidget {
|
|||
: Avatar(
|
||||
event.sender.avatarUrl,
|
||||
event.sender.calcDisplayname(),
|
||||
onTap: () => ImageViewer.show(context, event.sender.avatarUrl),
|
||||
onTap: () => onAvatarTab(event),
|
||||
);
|
||||
if (ownMessage) {
|
||||
rowChildren.add(avatarOrSizedBox);
|
||||
|
|
@ -181,12 +184,10 @@ class Message extends StatelessWidget {
|
|||
|
||||
class _MetaRow extends StatelessWidget {
|
||||
final Event event;
|
||||
final bool invisible;
|
||||
final bool ownMessage;
|
||||
final Color color;
|
||||
|
||||
const _MetaRow(this.event, this.ownMessage, this.color,
|
||||
{this.invisible = false, Key key})
|
||||
const _MetaRow(this.event, this.ownMessage, this.color, {Key key})
|
||||
: super(key: key);
|
||||
|
||||
@override
|
||||
|
|
@ -203,14 +204,14 @@ class _MetaRow extends StatelessWidget {
|
|||
style: TextStyle(
|
||||
fontSize: 11,
|
||||
fontWeight: FontWeight.bold,
|
||||
color: invisible ? Colors.transparent : displayname.color,
|
||||
color: displayname.color,
|
||||
),
|
||||
),
|
||||
if (showDisplayname) SizedBox(width: 4),
|
||||
Text(
|
||||
event.time.localizedTime(context),
|
||||
style: TextStyle(
|
||||
color: invisible ? Colors.transparent : color,
|
||||
color: color,
|
||||
fontSize: 11,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue