diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/api/feed/home.ts | 3 | ||||
-rw-r--r-- | src/lib/strings/embed-player.ts | 6 | ||||
-rw-r--r-- | src/lib/themes.ts | 110 |
3 files changed, 62 insertions, 57 deletions
diff --git a/src/lib/api/feed/home.ts b/src/lib/api/feed/home.ts index 91634927a..436a66d07 100644 --- a/src/lib/api/feed/home.ts +++ b/src/lib/api/feed/home.ts @@ -68,7 +68,8 @@ export class HomeFeedAPI implements FeedAPI { const res = await this.following.fetch({cursor, limit}) returnCursor = res.cursor posts = posts.concat(res.feed) - if (res.feed.length === 0 || !cursor) { + if (!returnCursor) { + cursor = '' posts.push(FALLBACK_MARKER_POST) this.usingDiscover = true } diff --git a/src/lib/strings/embed-player.ts b/src/lib/strings/embed-player.ts index 0f97eb080..3270b6f07 100644 --- a/src/lib/strings/embed-player.ts +++ b/src/lib/strings/embed-player.ts @@ -68,11 +68,12 @@ export function parseEmbedPlayerFromUrl( // youtube if (urlp.hostname === 'youtu.be') { const videoId = urlp.pathname.split('/')[1] + const seek = encodeURIComponent(urlp.searchParams.get('t') ?? 0) if (videoId) { return { type: 'youtube_video', source: 'youtube', - playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1`, + playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1&start=${seek}`, } } } @@ -84,13 +85,14 @@ export function parseEmbedPlayerFromUrl( const [_, page, shortVideoId] = urlp.pathname.split('/') const videoId = page === 'shorts' ? shortVideoId : (urlp.searchParams.get('v') as string) + const seek = encodeURIComponent(urlp.searchParams.get('t') ?? 0) if (videoId) { return { type: page === 'shorts' ? 'youtube_short' : 'youtube_video', source: page === 'shorts' ? 'youtubeShorts' : 'youtube', hideDetails: page === 'shorts' ? true : undefined, - playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1`, + playerUri: `https://www.youtube.com/embed/${videoId}?autoplay=1&playsinline=1&start=${seek}`, } } } diff --git a/src/lib/themes.ts b/src/lib/themes.ts index ad7574db6..2d4515c77 100644 --- a/src/lib/themes.ts +++ b/src/lib/themes.ts @@ -2,30 +2,32 @@ import {Platform} from 'react-native' import type {Theme} from './ThemeContext' import {colors} from './styles' +import {darkPalette, lightPalette} from '#/alf/themes' + export const defaultTheme: Theme = { colorScheme: 'light', palette: { default: { - background: colors.white, - backgroundLight: colors.gray1, - text: colors.black, - textLight: colors.gray5, - textInverted: colors.white, - link: colors.blue3, - border: '#f0e9e9', - borderDark: '#e0d9d9', - icon: colors.gray4, + background: lightPalette.white, + backgroundLight: lightPalette.contrast_50, + text: lightPalette.black, + textLight: lightPalette.contrast_700, + textInverted: lightPalette.white, + link: lightPalette.primary_500, + border: lightPalette.contrast_100, + borderDark: lightPalette.contrast_200, + icon: lightPalette.contrast_500, // non-standard - textVeryLight: colors.gray4, - replyLine: colors.gray2, - replyLineDot: colors.gray3, - unreadNotifBg: '#ebf6ff', - unreadNotifBorder: colors.blue1, - postCtrl: '#71768A', - brandText: '#0066FF', - emptyStateIcon: '#B6B6C9', - borderLinkHover: '#cac1c1', + textVeryLight: lightPalette.contrast_400, + replyLine: lightPalette.contrast_100, + replyLineDot: lightPalette.contrast_200, + unreadNotifBg: lightPalette.primary_25, + unreadNotifBorder: lightPalette.primary_100, + postCtrl: lightPalette.contrast_500, + brandText: lightPalette.primary_500, + emptyStateIcon: lightPalette.contrast_300, + borderLinkHover: lightPalette.contrast_300, }, primary: { background: colors.blue3, @@ -50,15 +52,15 @@ export const defaultTheme: Theme = { icon: colors.green4, }, inverted: { - background: colors.black, - backgroundLight: colors.gray6, - text: colors.white, - textLight: colors.gray3, - textInverted: colors.black, - link: colors.blue2, - border: colors.gray3, - borderDark: colors.gray2, - icon: colors.gray5, + background: darkPalette.black, + backgroundLight: darkPalette.contrast_50, + text: darkPalette.white, + textLight: darkPalette.contrast_700, + textInverted: darkPalette.black, + link: darkPalette.primary_500, + border: darkPalette.contrast_100, + borderDark: darkPalette.contrast_200, + icon: darkPalette.contrast_500, }, error: { background: colors.red3, @@ -292,26 +294,26 @@ export const darkTheme: Theme = { palette: { ...defaultTheme.palette, default: { - background: colors.black, - backgroundLight: colors.gray7, - text: colors.white, - textLight: colors.gray3, - textInverted: colors.black, - link: colors.blue3, - border: colors.gray7, - borderDark: colors.gray6, - icon: colors.gray4, + background: darkPalette.black, + backgroundLight: darkPalette.contrast_50, + text: darkPalette.white, + textLight: darkPalette.contrast_700, + textInverted: darkPalette.black, + link: darkPalette.primary_500, + border: darkPalette.contrast_100, + borderDark: darkPalette.contrast_200, + icon: darkPalette.contrast_500, // non-standard - textVeryLight: colors.gray4, - replyLine: colors.gray5, - replyLineDot: colors.gray6, - unreadNotifBg: colors.blue7, - unreadNotifBorder: colors.blue6, - postCtrl: '#707489', - brandText: '#0085ff', - emptyStateIcon: colors.gray4, - borderLinkHover: colors.gray5, + textVeryLight: darkPalette.contrast_400, + replyLine: darkPalette.contrast_100, + replyLineDot: darkPalette.contrast_200, + unreadNotifBg: darkPalette.primary_975, + unreadNotifBorder: darkPalette.primary_900, + postCtrl: darkPalette.contrast_500, + brandText: darkPalette.primary_500, + emptyStateIcon: darkPalette.contrast_300, + borderLinkHover: darkPalette.contrast_300, }, primary: { ...defaultTheme.palette.primary, @@ -322,15 +324,15 @@ export const darkTheme: Theme = { textInverted: colors.green2, }, inverted: { - background: colors.white, - backgroundLight: colors.gray2, - text: colors.black, - textLight: colors.gray5, - textInverted: colors.white, - link: colors.blue3, - border: colors.gray3, - borderDark: colors.gray4, - icon: colors.gray1, + background: lightPalette.white, + backgroundLight: lightPalette.contrast_50, + text: lightPalette.black, + textLight: lightPalette.contrast_700, + textInverted: lightPalette.white, + link: lightPalette.primary_500, + border: lightPalette.contrast_100, + borderDark: lightPalette.contrast_200, + icon: lightPalette.contrast_500, }, }, } |