author-type-fix

This commit is contained in:
Untone 2024-04-08 15:54:01 +03:00
parent 58c4d6eae7
commit 6d12b01d56
5 changed files with 21 additions and 21 deletions

View File

@ -53,10 +53,10 @@ export const AuthorView = (props: Props) => {
// current author
createEffect(() => {
if(props.authorSlug) {
if (props.authorSlug) {
if (session()?.user?.app_data?.profile?.slug === props.authorSlug) {
console.info('my own profile')
const {profile, authors, topics} = session().user.app_data
const { profile, authors, topics } = session().user.app_data
setAuthor(profile)
setFollowing([...authors, ...topics])
}

View File

@ -5,7 +5,7 @@ import { useFollowing } from '../../../context/following'
import { useLocalize } from '../../../context/localize'
import { useSession } from '../../../context/session'
import { apiClient } from '../../../graphql/client/core'
import { Author, Topic } from '../../../graphql/schema/core.gen'
import { Author as AuthorType, Topic } from '../../../graphql/schema/core.gen'
import { SubscriptionFilter } from '../../../pages/types'
import { dummyFilter } from '../../../utils/dummyFilter'
// TODO: refactor styles
@ -23,8 +23,8 @@ export const ProfileSubscriptions = () => {
const { t, lang } = useLocalize()
const { author, session } = useSession()
const { subscriptions } = useFollowing()
const [following, setFollowing] = (createSignal < Array < Author) | (Topic >> [])
const [filtered, setFiltered] = (createSignal < Array < Author) | (Topic >> [])
const [following, setFollowing] = (createSignal < Array < AuthorType) | (Topic >> [])
const [filtered, setFiltered] = (createSignal < Array < AuthorType) | (Topic >> [])
const [subscriptionFilter, setSubscriptionFilter] = createSignal < SubscriptionFilter > 'all'
const [searchQuery, setSearchQuery] = createSignal('')

View File

@ -2,7 +2,7 @@ import { Accessor, JSX, createContext, createEffect, createSignal, useContext }
import { createStore } from 'solid-js/store'
import { apiClient } from '../graphql/client/core'
import { AuthorFollows, FollowingEntity, Author } from '../graphql/schema/core.gen'
import { Author, AuthorFollows, FollowingEntity } from '../graphql/schema/core.gen'
import { useSession } from './session'
@ -83,8 +83,8 @@ export const FollowingProvider = (props: { children: JSX.Element }) => {
const { authors, followers, topics } = session().user.app_data
setSubscriptions({ authors, topics })
setFollowers(followers)
if(!authors) fetchData()
} catch(e) {
if (!authors) fetchData()
} catch (e) {
console.error(e)
}
}

View File

@ -223,8 +223,8 @@ export const SessionProvider = (props: {
const { profile } = session().user.app_data
setAuthor(profile)
addAuthors([profile])
if(!profile) loadAuthor()
} catch(e) {
if (!profile) loadAuthor()
} catch (e) {
console.error(e)
}
@ -271,7 +271,7 @@ export const SessionProvider = (props: {
() => props.onStateChangeCallback,
() => {
props.onStateChangeCallback(session())
}
},
),
)

View File

@ -15,17 +15,17 @@ export const getImageUrl = (
src: string,
options: { width?: number; height?: number; noSizeUrlPart?: boolean } = {},
) => {
if (!src.includes('discours.io') && src.includes('http')) {
return src
}
const filename = src.toLowerCase().split('/').pop()
const ext = filename.split('.').pop()
const isAudio = ext in ['wav', 'mp3', 'ogg', 'aif', 'flac']
const base = isAudio ? cdnUrl : `${thumborUrl}/unsafe/`
const suffix = isAudio || options.noSizeUrlPart ? '' : getSizeUrlPart(options)
const subfolder = isAudio ? 'audio' : 'image'
if (!src.includes('discours.io') && src.includes('http')) {
return src
}
const filename = src.toLowerCase().split('/').pop()
const ext = filename.split('.').pop()
const isAudio = ext in ['wav', 'mp3', 'ogg', 'aif', 'flac']
const base = isAudio ? cdnUrl : `${thumborUrl}/unsafe/`
const suffix = isAudio || options.noSizeUrlPart ? '' : getSizeUrlPart(options)
const subfolder = isAudio ? 'audio' : 'image'
return `${base}${suffix}production/${subfolder}/${filename}`
return `${base}${suffix}production/${subfolder}/${filename}`
}
export const getOpenGraphImageUrl = (