diff --git a/app/images/avatar-missing.png b/app/images/avatar-missing.png index b3e6b5709..6de33a5a4 100644 Binary files a/app/images/avatar-missing.png and b/app/images/avatar-missing.png differ diff --git a/app/images/avatar-missing.svg b/app/images/avatar-missing.svg index 7eb156089..d5833c90c 100644 --- a/app/images/avatar-missing.svg +++ b/app/images/avatar-missing.svg @@ -1,116 +1,30 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - + xmlns:dc="http://purl.org/dc/elements/1.1/">image/svg+xml diff --git a/app/images/header-missing.png b/app/images/header-missing.png new file mode 100644 index 000000000..26b59e75a Binary files /dev/null and b/app/images/header-missing.png differ diff --git a/app/soapbox/normalizers/__tests__/account-test.js b/app/soapbox/normalizers/__tests__/account-test.js index c52f86bd2..cbe45419f 100644 --- a/app/soapbox/normalizers/__tests__/account-test.js +++ b/app/soapbox/normalizers/__tests__/account-test.js @@ -3,6 +3,7 @@ import { Record as ImmutableRecord, fromJS } from 'immutable'; import { normalizeAccount } from '../account'; const AVATAR_MISSING = require('images/avatar-missing.png'); +const HEADER_MISSING = require('images/header-missing.png'); describe('normalizeAccount()', () => { it('adds base fields', () => { @@ -13,6 +14,7 @@ describe('normalizeAccount()', () => { expect(result.acct).toEqual(''); expect(result.note).toEqual(''); expect(result.avatar).toEqual(AVATAR_MISSING); + expect(result.header_static).toEqual(HEADER_MISSING); }); it('normalizes a mention', () => { @@ -149,4 +151,14 @@ describe('normalizeAccount()', () => { expect(field.value_emojified).toBe('https://soapbox.pub :soapbox:'); expect(field.value_plain).toBe('https://soapbox.pub :soapbox:'); }); + + it('adds default avatar and banner to GoToSocial account', () => { + const account = require('soapbox/__fixtures__/gotosocial-account.json'); + const result = normalizeAccount(account); + + expect(result.avatar).toEqual(AVATAR_MISSING); + expect(result.avatar_static).toEqual(AVATAR_MISSING); + expect(result.header).toEqual(HEADER_MISSING); + expect(result.header_static).toEqual(HEADER_MISSING); + }); }); diff --git a/app/soapbox/normalizers/account.ts b/app/soapbox/normalizers/account.ts index f85bcb924..a96c9ad2d 100644 --- a/app/soapbox/normalizers/account.ts +++ b/app/soapbox/normalizers/account.ts @@ -97,6 +97,18 @@ const normalizeAvatar = (account: ImmutableMap) => { }); }; +// Add header, if missing +const normalizeHeader = (account: ImmutableMap) => { + const header = account.get('header'); + const headerStatic = account.get('header_static'); + const missing = require('images/header-missing.png'); + + return account.withMutations(account => { + account.set('header', header || headerStatic || missing); + account.set('header_static', headerStatic || header || missing); + }); +}; + // Normalize custom fields const normalizeFields = (account: ImmutableMap) => { return account.update('fields', ImmutableList(), fields => fields.map(FieldRecord)); @@ -189,6 +201,7 @@ export const normalizeAccount = (account: Record): IAccount => { normalizePleromaLegacyFields(account); normalizeEmojis(account); normalizeAvatar(account); + normalizeHeader(account); normalizeFields(account); normalizeVerified(account); normalizeBirthday(account);