From e69190abb09661caa19fa3905a0d8f3b7e72648b Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 13 Jul 2020 20:59:52 +0800 Subject: Move front end to a submodule. --- Timeline/ClientApp/src/app/user/api.ts | 79 ---------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 Timeline/ClientApp/src/app/user/api.ts (limited to 'Timeline/ClientApp/src/app/user/api.ts') diff --git a/Timeline/ClientApp/src/app/user/api.ts b/Timeline/ClientApp/src/app/user/api.ts deleted file mode 100644 index a9855eb0..00000000 --- a/Timeline/ClientApp/src/app/user/api.ts +++ /dev/null @@ -1,79 +0,0 @@ -import React from 'react'; -import axios from 'axios'; -import { BehaviorSubject, Observable } from 'rxjs'; - -import { apiBaseUrl } from '../config'; -import { User } from '../data/user'; -import { updateQueryString } from '../helper'; - -export function changeNickname( - token: string, - username: string, - newNickname: string -): Promise { - return axios - .patch(`${apiBaseUrl}/users/${username}?token=${token}`, { - nickname: newNickname, - }) - .then((res) => res.data); -} - -const avatarVersionSubject = new BehaviorSubject(undefined); - -export function changeAvatar( - token: string, - username: string, - data: Blob, - type: string -): Promise { - return axios - .put(`${apiBaseUrl}/users/${username}/avatar?token=${token}`, data, { - headers: { - 'Content-Type': type, - }, - }) - .then(() => { - avatarVersionSubject.next((avatarVersionSubject.value ?? 0) + 1); - }); -} - -export const avatarVersion$: Observable< - number | undefined -> = avatarVersionSubject; - -export function useAvatarVersion(): number | undefined { - const [version, setVersion] = React.useState(); - React.useEffect(() => { - const subscription = avatarVersion$.subscribe((v) => setVersion(v)); - return () => subscription.unsubscribe(); - }, []); - return version; -} - -export function useOptionalVersionedAvatarUrl( - url: string | undefined -): string | undefined { - const avatarVersion = useAvatarVersion(); - return React.useMemo( - () => - url == null - ? undefined - : updateQueryString( - 'v', - avatarVersion == null ? null : avatarVersion.toString(), - url - ), - [avatarVersion, url] - ); -} - -export function useAvatarUrlWithGivenVersion( - version: number | null | undefined, - url: string -): string { - return React.useMemo( - () => - updateQueryString('v', version == null ? null : version.toString(), url), - [version, url] - ); -} -- cgit v1.2.3