[APP-782] Support invalid handles correctly (#1049)
* Update profile link construction to support handle.invalid * Update list links to support using handles * Use did for isMe check to ensure invalid handles dont distort the check * Shift the red (error) colors away from the pink spectrum * Add ThemedText helper component * Add sanitizedHandle() helper to render invalid handles well * Fix regression: only show avatar in PostMeta when needed * Restore the color of likes * Remove users with invalid handles from default autosuggests
This commit is contained in:
parent
5a0899b989
commit
49356700c3
33 changed files with 291 additions and 117 deletions
|
@ -122,11 +122,7 @@ export async function getPostAsQuote(
|
|||
cid: threadView.thread.post.cid,
|
||||
text: threadView.thread.postRecord?.text || '',
|
||||
indexedAt: threadView.thread.post.indexedAt,
|
||||
author: {
|
||||
handle: threadView.thread.post.author.handle,
|
||||
displayName: threadView.thread.post.author.displayName,
|
||||
avatar: threadView.thread.post.author.avatar,
|
||||
},
|
||||
author: threadView.thread.post.author,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
15
src/lib/routes/links.ts
Normal file
15
src/lib/routes/links.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import {isInvalidHandle} from 'lib/strings/handles'
|
||||
|
||||
export function makeProfileLink(
|
||||
info: {
|
||||
did: string
|
||||
handle: string
|
||||
},
|
||||
...segments: string[]
|
||||
) {
|
||||
return [
|
||||
`/profile`,
|
||||
`${isInvalidHandle(info.handle) ? info.did : info.handle}`,
|
||||
...segments,
|
||||
].join('/')
|
||||
}
|
|
@ -11,3 +11,11 @@ export function createFullHandle(name: string, domain: string): string {
|
|||
domain = (domain || '').replace(/^[.]+/, '')
|
||||
return `${name}.${domain}`
|
||||
}
|
||||
|
||||
export function isInvalidHandle(handle: string): boolean {
|
||||
return handle === 'handle.invalid'
|
||||
}
|
||||
|
||||
export function sanitizeHandle(handle: string, prefix = ''): string {
|
||||
return isInvalidHandle(handle) ? '⚠Invalid Handle' : `${prefix}${handle}`
|
||||
}
|
||||
|
|
|
@ -25,13 +25,13 @@ export const colors = {
|
|||
blue6: '#012561',
|
||||
blue7: '#001040',
|
||||
|
||||
red1: '#ffe6f2',
|
||||
red2: '#fba2ce',
|
||||
red3: '#ec4899',
|
||||
red4: '#d1106f',
|
||||
red5: '#97074e',
|
||||
red6: '#690436',
|
||||
red7: '#4F0328',
|
||||
red1: '#ffe6eb',
|
||||
red2: '#fba2b2',
|
||||
red3: '#ec4868',
|
||||
red4: '#d11043',
|
||||
red5: '#970721',
|
||||
red6: '#690419',
|
||||
red7: '#4F0314',
|
||||
|
||||
pink1: '#f8ccff',
|
||||
pink2: '#e966ff',
|
||||
|
@ -53,6 +53,7 @@ export const colors = {
|
|||
|
||||
unreadNotifBg: '#ebf6ff',
|
||||
brandBlue: '#0066FF',
|
||||
like: '#ec4899',
|
||||
}
|
||||
|
||||
export const gradients = {
|
||||
|
@ -224,6 +225,7 @@ export const s = StyleSheet.create({
|
|||
green5: {color: colors.green5},
|
||||
|
||||
brandBlue: {color: colors.brandBlue},
|
||||
likeColor: {color: colors.like},
|
||||
})
|
||||
|
||||
export function lh(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue