From 21913c2239c4355fe831b6dc360be47bf65f670f Mon Sep 17 00:00:00 2001 From: Arpit Gupta Date: Fri, 2 Aug 2024 18:42:03 +0530 Subject: [PATCH 1/2] fix extra gap --- components/Cast/Cast.tsx | 11 +++++------ components/UserDetails.tsx | 13 +++++++++++-- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/components/Cast/Cast.tsx b/components/Cast/Cast.tsx index 8c35dfd1..446360b8 100644 --- a/components/Cast/Cast.tsx +++ b/components/Cast/Cast.tsx @@ -10,7 +10,6 @@ import { TrackMetadata } from '@/types/Track'; import Like from './Like'; import Share from './Share'; import { Separator } from '@/components/ui/separator'; -import { timeFromNow } from '@/lib/utils'; import UpvoteDownvote from '../UpvoteDownvote'; import { isNil } from 'lodash'; import CollectButton from './CollectButton'; @@ -44,11 +43,11 @@ const Cast = ({ cast = {} as SupabasePost }: { cast: SupabasePost }) => { return (
- - - {'• '} - {timeFromNow(cast.created_at)} - +
diff --git a/components/UserDetails.tsx b/components/UserDetails.tsx index 14051b91..31d08815 100644 --- a/components/UserDetails.tsx +++ b/components/UserDetails.tsx @@ -1,17 +1,20 @@ import { User } from '@neynar/nodejs-sdk/build/neynar-api/v2'; import { Avatar, AvatarFallback, AvatarImage } from './ui/avatar'; -import { cn } from '@/lib/utils'; +import { cn, timeFromNow } from '@/lib/utils'; import Image from 'next/image'; import Link from 'next/link'; +import { SupabasePost } from '@/types/SupabasePost'; export default function UserDetails({ user, hasHypersub, className, + createdAt, }: { user: User; hasHypersub?: boolean; className?: string; + createdAt?: SupabasePost['created_at']; }) { return (
@@ -22,7 +25,7 @@ export default function UserDetails({
-
+ Date: Fri, 2 Aug 2024 18:59:52 +0530 Subject: [PATCH 2/2] close button added --- components/GlobalPlayer.tsx | 15 ++++++++++++--- providers/audio/PlayerProvider.tsx | 9 ++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/components/GlobalPlayer.tsx b/components/GlobalPlayer.tsx index 7dbb5d63..f83ebfee 100644 --- a/components/GlobalPlayer.tsx +++ b/components/GlobalPlayer.tsx @@ -3,9 +3,11 @@ import { usePlayer } from '@/providers/audio/PlayerProvider'; import Image from 'next/image'; import Scrubber from '@/components/Scrubber'; import PlayerButtons from './PlayerButtons'; +import { Button } from './ui/button'; +import { Cross1Icon } from '@radix-ui/react-icons'; export default function GlobalPlayer() { - const [player] = usePlayer(); + const [player, dispatch] = usePlayer(); const { metadata } = player; if (!metadata) return <>; @@ -16,6 +18,13 @@ export default function GlobalPlayer() { className="sticky bottom-0 left-0 mt-auto w-screen space-y-6 overflow-hidden bg-white py-3 shadow-2xl shadow-black" >
+
-
+
{metadata.trackName}
{metadata.artistName} @@ -34,7 +43,7 @@ export default function GlobalPlayer() {
- {metadata && } +
diff --git a/providers/audio/PlayerProvider.tsx b/providers/audio/PlayerProvider.tsx index 86e82d81..0fa27ff9 100644 --- a/providers/audio/PlayerProvider.tsx +++ b/providers/audio/PlayerProvider.tsx @@ -44,6 +44,9 @@ export type PlayerAction = id: string; }; } + | { + type: 'STOP'; + } | { type: 'SEEK'; payload: { @@ -76,6 +79,7 @@ const initialState: Player = { loading: false, seekTo: null, feedId: -1, + metadata: undefined, }; const PlayerContext = createContext<[Player, Dispatch]>([initialState, () => {}]); @@ -103,6 +107,9 @@ const playerReducer = (state: Player, action: PlayerAction) => { if (state.metadata?.id !== id) return state; return { ...state, playing: false }; } + case 'STOP': { + return initialState; + } case 'SEEK': return { ...state, seekTo: action.payload.position }; case 'SEEKED': @@ -142,7 +149,7 @@ export default function PlayerProvider({ children }: { children: ReactNode }) { soundController, spotifyController, youtubeController, - zoraController + zoraController, ]); useEffect(() => {