|
@@ -1,5 +1,5 @@
|
1
|
1
|
// @flow
|
2
|
|
-import md5 from 'js-md5';
|
|
2
|
+import { getAvatarURL as _getAvatarURL } from 'js-utils/avatar';
|
3
|
3
|
|
4
|
4
|
import { toState } from '../redux';
|
5
|
5
|
|
|
@@ -42,40 +42,18 @@ export function getAvatarURL({ avatarID, avatarURL, email, id }: {
|
42
|
42
|
return avatarURL;
|
43
|
43
|
}
|
44
|
44
|
|
45
|
|
- let key = email || avatarID;
|
46
|
|
- let urlPrefix;
|
47
|
|
- let urlSuffix;
|
48
|
|
-
|
49
|
|
- // If the ID looks like an e-mail address, we'll use Gravatar because it
|
50
|
|
- // supports e-mail addresses.
|
51
|
|
- if (key && key.indexOf('@') > 0) {
|
52
|
|
- urlPrefix = 'https://www.gravatar.com/avatar/';
|
53
|
|
- urlSuffix = '?d=wavatar&size=200';
|
54
|
|
- } else {
|
55
|
|
- // Otherwise, we do not have much a choice but a random avatar (fetched
|
56
|
|
- // from a configured avatar service).
|
57
|
|
- if (!key) {
|
58
|
|
- key = id;
|
59
|
|
- if (!key) {
|
60
|
|
- return undefined;
|
61
|
|
- }
|
62
|
|
- }
|
63
|
|
-
|
64
|
|
- // The deployment is allowed to choose the avatar service which is to
|
65
|
|
- // generate the random avatars.
|
66
|
|
- urlPrefix
|
67
|
|
- = typeof interfaceConfig === 'object'
|
68
|
|
- && interfaceConfig.RANDOM_AVATAR_URL_PREFIX;
|
69
|
|
- if (urlPrefix) {
|
70
|
|
- urlSuffix = interfaceConfig.RANDOM_AVATAR_URL_SUFFIX;
|
71
|
|
- } else {
|
72
|
|
- // Otherwise, use a default (meeples, of course).
|
73
|
|
- urlPrefix = 'https://abotars.jitsi.net/meeple/';
|
74
|
|
- urlSuffix = '';
|
75
|
|
- }
|
76
|
|
- }
|
77
|
|
-
|
78
|
|
- return urlPrefix + md5.hex(key.trim().toLowerCase()) + urlSuffix;
|
|
45
|
+ // The deployment is allowed to choose the avatar service which is to
|
|
46
|
+ // generate the random avatars.
|
|
47
|
+ const avatarService
|
|
48
|
+ = typeof interfaceConfig === 'object'
|
|
49
|
+ && interfaceConfig.RANDOM_AVATAR_URL_PREFIX
|
|
50
|
+ ? {
|
|
51
|
+ urlPrefix: interfaceConfig.RANDOM_AVATAR_URL_PREFIX,
|
|
52
|
+ urlSuffix: interfaceConfig.RANDOM_AVATAR_URL_SUFFIX }
|
|
53
|
+ : undefined;
|
|
54
|
+
|
|
55
|
+ // eslint-disable-next-line object-property-newline
|
|
56
|
+ return _getAvatarURL({ avatarID, email, id }, avatarService);
|
79
|
57
|
}
|
80
|
58
|
|
81
|
59
|
/**
|