tweak URL of user avatar
This commit is contained in:
parent
b8dab4b57a
commit
d4e482abb7
|
|
@ -23,7 +23,7 @@ class UserMenuComposer
|
|||
public function compose(View $view)
|
||||
{
|
||||
$user = auth()->user();
|
||||
$avatarUrl = route('avatar.user', ['uid' => $user->uid, 'size' => 36]);
|
||||
$avatarUrl = route('avatar.texture', ['tid' => $user->avatar, 'size' => 36]);
|
||||
$avatar = $this->filter->apply('user_avatar', $avatarUrl, [$user]);
|
||||
$cli = $this->request->is('admin', 'admin/*');
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class UserPanelComposer
|
|||
{
|
||||
/** @var User */
|
||||
$user = auth()->user();
|
||||
$avatarUrl = route('avatar.user', ['uid' => $user->uid, 'size' => 45]);
|
||||
$avatarUrl = route('avatar.texture', ['tid' => $user->avatar, 'size' => 45]);
|
||||
$avatar = $this->filter->apply('user_avatar', $avatarUrl, [$user]);
|
||||
|
||||
$badges = [];
|
||||
|
|
|
|||
|
|
@ -4,6 +4,6 @@
|
|||
window.blessing = JSON.parse(blessingElement.textContent!)
|
||||
|
||||
window.addEventListener('load', () => {
|
||||
navigator.serviceWorker.register('/sw.js?v5')
|
||||
navigator.serviceWorker.register('/sw.js?v6')
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -38,8 +38,8 @@ registerRoute(
|
|||
)
|
||||
|
||||
registerRoute(
|
||||
/\/avatar\/user\/\d+/,
|
||||
new StaleWhileRevalidate({
|
||||
/\/avatar\/\d+/,
|
||||
new CacheFirst({
|
||||
cacheName: 'avatar-v2',
|
||||
fetchOptions: {
|
||||
credentials: 'omit',
|
||||
|
|
|
|||
|
|
@ -21,7 +21,9 @@ export default async function setAsAvatar(tid: number) {
|
|||
toast.success(message)
|
||||
document
|
||||
.querySelectorAll<HTMLImageElement>('[alt="User Image"]')
|
||||
.forEach((el) => (el.src += `?${new Date().getTime()}`))
|
||||
.forEach((el) => {
|
||||
el.src = `${blessing.base_url}/avatar/${tid}`
|
||||
})
|
||||
} else {
|
||||
toast.error(message)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,6 +16,6 @@ export default async function resetAvatar() {
|
|||
document
|
||||
.querySelectorAll<HTMLImageElement>('[alt="User Image"]')
|
||||
.forEach((el) => {
|
||||
el.src += `?${new Date().getTime()}`
|
||||
el.src = `${blessing.base_url}/avatar/0`
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -319,7 +319,10 @@ describe('set avatar', () => {
|
|||
)
|
||||
expect(queryByText('success')).toBeInTheDocument()
|
||||
expect(getByRole('status')).toHaveClass('alert-success')
|
||||
expect(document.querySelector('[alt="User Image"]')).toHaveAttribute('src')
|
||||
expect(document.querySelector('[alt="User Image"]')).toHaveAttribute(
|
||||
'src',
|
||||
`/avatar/${fixtureSkin.tid}`,
|
||||
)
|
||||
})
|
||||
|
||||
it('failed', async () => {
|
||||
|
|
|
|||
|
|
@ -16,5 +16,5 @@ test('reset avatar', async () => {
|
|||
await resetAvatar()
|
||||
expect(post).toBeCalledWith('/user/profile/avatar', { tid: 0 })
|
||||
expect(toast.success).toBeCalledWith('ok')
|
||||
expect(document.querySelector('img')!.src).toMatch(/\d+$/)
|
||||
expect(document.querySelector('img')!.src).toBe('/avatar/0')
|
||||
})
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ class UserControllerTest extends TestCase
|
|||
->assertSee($announcement, false);
|
||||
$filter->assertApplied('grid:user.index');
|
||||
$filter->assertApplied('user_avatar', function ($url, $user) use ($uid) {
|
||||
$this->assertTrue(Str::contains($url, '/avatar/user/'.$uid));
|
||||
$this->assertTrue(Str::contains($url, '/avatar/'.$user->avatar));
|
||||
$this->assertEquals($uid, $user->uid);
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -8,15 +8,9 @@ class UserMenuComposerTest extends TestCase
|
|||
{
|
||||
public function testAvatar()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
$this->actingAs($user)
|
||||
->get('/')
|
||||
->assertSee(url('/avatar/user/'.$user->uid.'?size=36'));
|
||||
$this->actingAs($user)
|
||||
->get('/skinlib')
|
||||
->assertSee(url('/avatar/user/'.$user->uid.'?size=36'));
|
||||
$this->actingAs($user)
|
||||
->get('/user')
|
||||
->assertSee(url('/avatar/user/'.$user->uid.'?size=36'));
|
||||
$user = factory(User::class)->create(['avatar' => 5]);
|
||||
$this->actingAs($user)->get('/')->assertSee(url('/avatar/5?size=36'));
|
||||
$this->get('/skinlib')->assertSee(url('/avatar/5?size=36'));
|
||||
$this->get('/user')->assertSee(url('/avatar/5?size=36'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class UserPanelComposerTest extends TestCase
|
|||
$user = factory(User::class)->create();
|
||||
$this->actingAs($user);
|
||||
|
||||
$this->get('/user')->assertSee(url('/avatar/user/'.$user->uid.'?size=45'));
|
||||
$this->get('/user')->assertSee(url('/avatar/0?size=45'));
|
||||
}
|
||||
|
||||
public function testBadges()
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user