Untitled
unknown
plain_text
2 years ago
5.0 kB
4
Indexable
// import { getCurrentGoals } from '@/lib/helpers/getCurrentGoals'; import getShortName from '@/lib/helpers/getShortName'; import getSlugify from '@/lib/helpers/getSlugify'; import useFetchHeadToHead from '@/lib/hooks/useFetchHeadToHead'; import Image from 'next/image'; import Link from 'next/link'; import { useState } from 'react'; export default function MatchHead2Head({ matchData }) { const [isStarClicked, setIsStarClicked] = useState(false); const { headToHeadLoading, headToHeadData } = useFetchHeadToHead( matchData?.participants.find((team) => team.meta.location === 'home')?.id, matchData?.participants.find((team) => team.meta.location === 'away')?.id ); if (headToHeadLoading) { return <>Loading . . . </>; } const handleButtonClick = (event) => { event.preventDefault(); setIsStarClicked(!isStarClicked); }; function getPreviousEncounters(counters) { const previousEncounters = []; counters?.forEach((match) => { const fixtureId = match?.id; const leagueName = match.name; const matchTime = match.starting_at; const homeTeamName = match.participants[0].name; // const scores = getCurrentGoals(match?.scores); const homeTeamImage = match.participants[0].image_path; const awayTeamName = match.participants[1].name; const awayTeamImage = match.participants[1].image_path; const matchState = match.state.state; const encounter = { id: fixtureId, league_name: leagueName, match_time: matchTime, home_team_name: homeTeamName, home_team_image: homeTeamImage, away_team_name: awayTeamName, away_team_image: awayTeamImage, match_state: matchState, // score: scores, }; previousEncounters.push(encounter); }); return previousEncounters; } const previousEncounters = getPreviousEncounters(headToHeadData); return ( <div className="max-w-3xl mx-auto"> <h4 className="font-semibold text-lg skew-y-[0.5deg] my-4"> Recent Encounters </h4> {previousEncounters?.map((encounter) => ( <div key={encounter?.id} className="relative w-full"> <h4 className="bg-gray-50 p-4 -skew-y-[0deg] "> {encounter?.match_time?.split(' ')[0]} </h4> <Link href={`/match/details/${getSlugify( encounter?.home_team_name )}-vs-${getSlugify(encounter?.home_team_name)}/${encounter?.id}`} className="w-full" > <div className={`h-auto w-full mb-1 bg-gray-200`}> <div className={`p-2 grid grid-cols-12 items-center gap-2`}> <p className="col-span-1 text-gray-400 text-sm font-semibold"> {encounter?.match_state} </p> <div className="col-span-3 flex items-center"> <Image src={encounter?.home_team_image} alt="team one" height={0} width={0} sizes="100vw" className="w-7 h-7 ring-1 ring-primary mr-3 rounded-full" /> <h4 className="text-sm font-semibold uppercase"> {getShortName(encounter?.home_team_name)} </h4> </div> <div className={`col-span-3 w-16 h-16 rounded-full flex text-xs bg-primary text-white items-center justify-center mx-auto`} > {encounter?.score} </div> <div className="col-span-3 flex items-center"> <Image src={encounter?.away_team_image} alt="team two" height={0} width={0} sizes="100vw" className="w-7 h-7 ring-1 ring-primary mr-3 rounded-full" /> <h4 className="text-sm font-semibold uppercase"> {getShortName(encounter?.away_team_name)} </h4> </div> </div> </div> </Link> <button className="col-span-2 mx-auto absolute top-20 right-5" onClick={handleButtonClick} > <svg className={`w-6 h-6 ${isStarClicked ? 'text-green-500' : ''}`} viewBox="0 0 15 15" version="1.1" id="star" xmlns="http://www.w3.org/2000/svg" > <path id="path4749-2-8-2" d="M7.5,0l-2,5h-5l4,3.5l-2,6l5-3.5
	l5,3.5l-2-6l4-3.5h-5L7.5,0z" fill={`${isStarClicked ? '#f39c12' : '#fffffff'}`} /> </svg> </button> </div> ))} </div> ); }
Editor is loading...
Leave a Comment