{"version":3,"file":"D4c2PIqf.js","sources":["../../../../src/components/Icons/NewTabIcon.vue","../../../../src/components/Campaign/LeaderBoardSIdebar.vue","../../../../src/utils/leaderboard.ts","../../../../src/components/Campaign/Leaderboard.vue","../../../../src/utils/date.js"],"sourcesContent":["\n","\n\n\n","import type { LeaderboardEntryDto } from \"~~/_api_generated_\";\n\nexport function addMemberStyles(\n members: LeaderboardEntryDto[] = [],\n layout = \"default\",\n) {\n return members.map((member: LeaderboardEntryDto, index) => {\n let rowClass = \"\";\n\n if (member?.isLoggedUser) {\n rowClass = \"bg-black text-white\";\n } else if (index == 0) {\n rowClass = \"bg-purple-light\";\n\n if (layout == \"paycheck\") {\n rowClass = \"bg-white text-black\";\n }\n } else if (index == 1) {\n rowClass = \"bg-grey-light\";\n\n if (layout == \"paycheck\") {\n rowClass = \"bg-black/20 text-black\";\n }\n }\n\n return {\n ...member,\n rowClass,\n };\n });\n}\n","\n\n\n","export function calculateDurationWithSeconds(startDateStr, endDateStr) {\n // Parse the dates from the provided strings\n const startDate = new Date(startDateStr);\n const endDate = new Date(endDateStr);\n\n // Calculate the difference in milliseconds\n const differenceInMilliseconds = endDate - startDate;\n\n // Convert milliseconds to hours, minutes, and seconds\n const hours = Math.floor(differenceInMilliseconds / (1000 * 60 * 60));\n const minutes = Math.floor((differenceInMilliseconds / (1000 * 60)) % 60);\n const seconds = Math.floor((differenceInMilliseconds / 1000) % 60);\n\n // Calculate the remaining milliseconds after converting to hours, minutes, and seconds\n const milliseconds = differenceInMilliseconds % 1000; // remainder of milliseconds\n\n // Format the duration string\n return [\n `${hours} hours`,\n `${minutes} minutes`,\n `${seconds} seconds`,\n `${milliseconds} milliseconds`,\n ].join(\"
\");\n}\n\nexport function getCampaignDateStatus(startDateStr, endDateStr) {\n // Parse the dates from the provided strings\n const startDate = new Date(startDateStr);\n const endDate = new Date(endDateStr);\n\n // Get the current date\n const now = new Date();\n\n const isUrgent = () => {\n const timeRemaining = endDate - now;\n const twoDaysInMilliseconds = 2 * 24 * 60 * 60 * 1000;\n return timeRemaining <= twoDaysInMilliseconds && timeRemaining > 0;\n };\n\n const showStartsIn = () => {\n return startDate > now;\n };\n\n const startsIn = () => {\n const timeDiff = startDate - now;\n const days = Math.floor(timeDiff / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (timeDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60),\n );\n\n if (days > 0) {\n return `${days} day${days > 1 ? \"s\" : \"\"}`;\n } else if (hours > 0) {\n return `${hours} hour${hours > 1 ? \"s\" : \"\"}`;\n } else {\n return \"less than an hour\";\n }\n };\n\n const endsIn = () => {\n const timeDiff = endDate - now;\n const days = Math.floor(timeDiff / (1000 * 60 * 60 * 24));\n const hours = Math.floor(\n (timeDiff % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60),\n );\n\n if (days > 0) {\n return `${days} day${days > 1 ? \"s\" : \"\"}`;\n } else if (hours > 0) {\n return `${hours} hour${hours > 1 ? \"s\" : \"\"}`;\n } else {\n return \"less than an hour\";\n }\n };\n\n const startsOnNiceDate = () => {\n return formatNiceDate(startDate);\n };\n\n const endsOnNiceDate = () => {\n return formatNiceDate(endDate);\n };\n\n return {\n isUrgent: isUrgent(),\n showStartsIn: showStartsIn(),\n startsIn: startsIn(),\n endsIn: endsIn(),\n startsOnNiceDate: startsOnNiceDate(),\n endsOnNiceDate: endsOnNiceDate(),\n };\n}\n"],"names":["_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","getRowClassForMember","member","index","rowClass","__props","addMemberStyles","members","layout","props","creatorNumber","computed","leaderboardSidebarVisible","ref","getTopMembersWithYou","topMembers","removeReactivity","currentLoggedUserIndex","restNum","currentLoggedUserMember","hiddenMembersCount","rest","getCampaignDateStatus","startDateStr","endDateStr","startDate","endDate","now","isUrgent","timeRemaining","twoDaysInMilliseconds","showStartsIn","startsIn","timeDiff","days","hours","endsIn","startsOnNiceDate","formatNiceDate","endsOnNiceDate"],"mappings":"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"}