feat: download options

This commit is contained in:
2026-09-03 09:30:31 +02:00
parent f4549b694f
commit 99431f9ae4
20 changed files with 837 additions and 1512 deletions
+1
View File
@@ -23,6 +23,7 @@ const Playbacks = () => {
const [viewMode, setViewMode] = useState(initialFocusProjectId ? 'feed' : 'charts')
const { data: rawPlaybacks = [], loadMore } = useDataFromRef({
ref: projectsRef.where('playbackUrl', '!=', null),
format: (docs) => docs.filter((item) => item?.playbackPublishedOnMusicLand !== false),
simpleRef: false,
listener: false,
usePagination: true,
+1
View File
@@ -38,6 +38,7 @@ const Playbacks = () => {
loading,
} = useDataFromRef({
ref: projectsRef.where('playbackUrl', '!=', null),
format: (docs) => docs.filter((item) => item?.playbackPublishedOnMusicLand !== false),
simpleRef: false,
listener: false,
usePagination: true,
@@ -40,12 +40,10 @@ const chunkArray = (items = [], size = 10) => {
const PlaybackCharts = ({ onPlaybackPress }) => {
const isWeb = Platform.OS === 'web'
const [selectedCategory, setSelectedCategory] = useState('Playbacks')
const {
data: allPlaybacks,
loading: allPlaybacksLoading,
} = useDataFromRef({
const { data: allPlaybacks, loading: allPlaybacksLoading } = useDataFromRef({
ref: projectsRef.where('playbackUrl', '!=', null),
format: (docs) => docs.filter((item) => !!item?.playbackUrl),
format: (docs) =>
docs.filter((item) => !!item?.playbackUrl && item?.playbackPublishedOnMusicLand !== false),
simpleRef: false,
listener: true,
condition: true,
@@ -53,7 +51,8 @@ const PlaybackCharts = ({ onPlaybackPress }) => {
const { data: topMonthPlaybacks, loading: topMonthLoading } = useDataFromRef({
ref: projectsRef.where('monthViews', '>', 0).orderBy('monthViews', 'desc').limit(20),
format: (docs) => docs.filter((item) => !!item?.playbackUrl),
format: (docs) =>
docs.filter((item) => !!item?.playbackUrl && item?.playbackPublishedOnMusicLand !== false),
simpleRef: false,
listener: false,
condition: true,
@@ -61,7 +60,8 @@ const PlaybackCharts = ({ onPlaybackPress }) => {
const { data: allTimePlaybacks, loading: allTimeLoading } = useDataFromRef({
ref: projectsRef.where('views', '>', 0).orderBy('views', 'desc').limit(20),
format: (docs) => docs.filter((item) => !!item?.playbackUrl),
format: (docs) =>
docs.filter((item) => !!item?.playbackUrl && item?.playbackPublishedOnMusicLand !== false),
simpleRef: false,
listener: false,
condition: true,