chore: make new user's avatar URLs point to S3 assets (#4495)
This commit is contained in:
parent
22ab4baa6e
commit
e1d52c5328
7 changed files with 15 additions and 23 deletions
Binary file not shown.
|
Before Width: | Height: | Size: 99 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 219 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 178 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 348 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 641 KiB |
|
|
@ -6,6 +6,7 @@ import 'package:cached_network_image/cached_network_image.dart';
|
|||
import 'package:cached_network_image_platform_interface/cached_network_image_platform_interface.dart';
|
||||
import 'package:shimmer/shimmer.dart';
|
||||
|
||||
import 'package:fluffychat/pangea/common/config/environment.dart';
|
||||
import 'package:fluffychat/widgets/matrix.dart';
|
||||
import 'package:fluffychat/widgets/mxc_image.dart';
|
||||
|
||||
|
|
@ -29,6 +30,12 @@ class ImageByUrl extends StatelessWidget {
|
|||
return replacement ?? const SizedBox();
|
||||
}
|
||||
|
||||
final Map<String, String> headers = {};
|
||||
if (imageUrl.toString().contains(Environment.cmsApi)) {
|
||||
headers['Authorization'] =
|
||||
'Bearer ${MatrixState.pangeaController.userController.accessToken}';
|
||||
}
|
||||
|
||||
return SizedBox(
|
||||
width: width,
|
||||
height: width,
|
||||
|
|
@ -70,10 +77,7 @@ class ImageByUrl extends StatelessWidget {
|
|||
error,
|
||||
) =>
|
||||
replacement ?? const SizedBox(),
|
||||
httpHeaders: {
|
||||
'Authorization':
|
||||
'Bearer ${MatrixState.pangeaController.userController.accessToken}',
|
||||
},
|
||||
httpHeaders: headers,
|
||||
imageRenderMethodForWeb: ImageRenderMethodForWeb.HttpGet,
|
||||
),
|
||||
),
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ import 'dart:async';
|
|||
import 'dart:math';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:matrix/matrix.dart';
|
||||
|
||||
import 'package:fluffychat/config/app_config.dart';
|
||||
import 'package:fluffychat/l10n/l10n.dart';
|
||||
import 'package:fluffychat/pangea/common/utils/error_handler.dart';
|
||||
import 'package:fluffychat/pangea/common/widgets/error_indicator.dart';
|
||||
|
|
@ -32,14 +32,6 @@ class CreatePangeaAccountPageState extends State<CreatePangeaAccountPage> {
|
|||
Object? _profileError;
|
||||
Object? _courseError;
|
||||
|
||||
final List<String> avatarPaths = const [
|
||||
"assets/pangea/Avatar_1.png",
|
||||
"assets/pangea/Avatar_2.png",
|
||||
"assets/pangea/Avatar_3.png",
|
||||
"assets/pangea/Avatar_4.png",
|
||||
"assets/pangea/Avatar_5.png",
|
||||
];
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
|
@ -49,6 +41,8 @@ class CreatePangeaAccountPageState extends State<CreatePangeaAccountPage> {
|
|||
String? _spaceId;
|
||||
String? _courseLangCode;
|
||||
|
||||
String avatarPath(int num) => "avatar_$num.png";
|
||||
|
||||
Future<LanguageSettings?> get _cachedLangCode => LangCodeRepo.get();
|
||||
|
||||
Future<String?> get _targetLangCode async =>
|
||||
|
|
@ -122,16 +116,10 @@ class CreatePangeaAccountPageState extends State<CreatePangeaAccountPage> {
|
|||
final client = Matrix.of(context).client;
|
||||
try {
|
||||
final random = Random();
|
||||
final selectedAvatarPath =
|
||||
avatarPaths[random.nextInt(avatarPaths.length)];
|
||||
|
||||
final ByteData byteData = await rootBundle.load(selectedAvatarPath);
|
||||
final Uint8List bytes = byteData.buffer.asUint8List();
|
||||
final file = MatrixFile(
|
||||
bytes: bytes,
|
||||
name: selectedAvatarPath,
|
||||
);
|
||||
await client.setAvatar(file);
|
||||
final selectedAvatarPath = avatarPath(random.nextInt(4) + 1);
|
||||
final avatarUrl =
|
||||
Uri.parse("${AppConfig.assetsBaseURL}/$selectedAvatarPath");
|
||||
await client.setAvatarUrl(client.userID!, avatarUrl);
|
||||
} catch (err, s) {
|
||||
ErrorHandler.logError(
|
||||
e: err,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue