{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":775563659,"defaultBranch":"master","name":"Bytegrad_Professional-React-and-NextJS-Course","ownerLogin":"libertycoverage","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-03-21T16:11:34.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5951210?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1711039976.0","currentOid":""},"activityList":{"items":[{"before":"b8a66499ec887da7cae4b37c645836118294013b","after":"462bada288d3c0cc8f8686359399f2fc8d45d684","ref":"refs/heads/master","pushedAt":"2024-06-14T20:52:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"EventCard scroll-based animation with Framer Motion (for the event cards)(evento) V241","shortMessageHtmlLink":"EventCard scroll-based animation with Framer Motion (for the event ca…"}},{"before":"7f7f657c9f389aad51f51d27421f80d39e320395","after":"b8a66499ec887da7cae4b37c645836118294013b","ref":"refs/heads/master","pushedAt":"2024-06-13T13:55:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Create data fetching utilities to keep the code DRY (evento); getEvent(), getEvents() fetching functions V240","shortMessageHtmlLink":"Create data fetching utilities to keep the code DRY (evento); getEven…"}},{"before":"aaef474bde0c7b54fa754c94a17f459fc6a1317f","after":"7f7f657c9f389aad51f51d27421f80d39e320395","ref":"refs/heads/master","pushedAt":"2024-06-12T16:49:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Built-in fetch memoization in React & Next.js (evento) V239","shortMessageHtmlLink":"Built-in fetch memoization in React & Next.js (evento) V239"}},{"before":"a9f92268d1c762d9a8a9c16ee3e7db16e9c7c596","after":"aaef474bde0c7b54fa754c94a17f459fc6a1317f","ref":"refs/heads/master","pushedAt":"2024-06-12T11:58:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Display the event name as the title of the page using the generateMetadata function; capitalize function (evento) V238","shortMessageHtmlLink":"Display the event name as the title of the page using the generateMet…"}},{"before":"d54c1f49ec50ba34f3a5462daf86f0d2a4487402","after":"a9f92268d1c762d9a8a9c16ee3e7db16e9c7c596","ref":"refs/heads/master","pushedAt":"2024-06-10T12:32:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Data Cache (server-side) and revalidate options in Next.js, Fetch example (evento) V237","shortMessageHtmlLink":"Data Cache (server-side) and revalidate options in Next.js, Fetch exa…"}},{"before":"e926768ee6ca7f2dd8992eddb725f8d3242e0d0a","after":"d54c1f49ec50ba34f3a5462daf86f0d2a4487402","ref":"refs/heads/master","pushedAt":"2024-06-08T17:19:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Advanced pattern for data fetching in Next.js: Data fetching wrapper component for EventsList (in order to keep the reusability of EventsList) (evento) V236","shortMessageHtmlLink":"Advanced pattern for data fetching in Next.js: Data fetching wrapper …"}},{"before":"a461bd5e113829475a43b1761e9311f59088ac48","after":"e926768ee6ca7f2dd8992eddb725f8d3242e0d0a","ref":"refs/heads/master","pushedAt":"2024-06-07T23:58:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"EventsList Suspense & Streaming (part of the website, Loading() [loading.tsx] component on fallback) (Advanced pattern for data fetching), fetch data in a component and wrap it in Suspense (evento) V235","shortMessageHtmlLink":"EventsList Suspense & Streaming (part of the website, Loading() [load…"}},{"before":"a34a3cc77460f05fed4da23022fb2e99fc719d3d","after":"a461bd5e113829475a43b1761e9311f59088ac48","ref":"refs/heads/master","pushedAt":"2024-06-05T13:10:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Suspense & Streaming in Next.js (loading.tsx), how the loading.tsx file works with Suspense (evento) V234","shortMessageHtmlLink":"Suspense & Streaming in Next.js (loading.tsx), how the loading.tsx fi…"}},{"before":"1ca506254baeceb8148f794cf29749281e711135","after":"a34a3cc77460f05fed4da23022fb2e99fc719d3d","ref":"refs/heads/master","pushedAt":"2024-06-05T12:43:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"SkeletonCard component for the events page while loading, mapping over array of SkeletonCards (evento) V233","shortMessageHtmlLink":"SkeletonCard component for the events page while loading, mapping ove…"}},{"before":"e05dd651a712cb7c5ef1207ffd0c7708410739a3","after":"1ca506254baeceb8148f794cf29749281e711135","ref":"refs/heads/master","pushedAt":"2024-06-03T19:18:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Skeleton component (Tailwind CSS, Cn() utility function) to show while loading (/event/[slug/]/loading.tsx) (evento) V232","shortMessageHtmlLink":"Skeleton component (Tailwind CSS, Cn() utility function) to show whil…"}},{"before":"7101153ef60f7556c630e3b458d33acc52627fe8","after":"e05dd651a712cb7c5ef1207ffd0c7708410739a3","ref":"refs/heads/master","pushedAt":"2024-06-03T14:27:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Client-side cache in Next.js (Router Cache) and Loading.tsx, despite the cache, the Loading React component (loading indicator) is still needed (evento) V231","shortMessageHtmlLink":"Client-side cache in Next.js (Router Cache) and Loading.tsx, despite …"}},{"before":"67223c73c5eb77f06fdfb20eb740cb8fa38ea3ba","after":"7101153ef60f7556c630e3b458d33acc52627fe8","ref":"refs/heads/master","pushedAt":"2024-06-03T12:53:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Client-side cache in Next.js (Router Cache), sleeper function to emphasize the normally observed delay (evento) V230","shortMessageHtmlLink":"Client-side cache in Next.js (Router Cache), sleeper function to emph…"}},{"before":"b9bfe998bde4c3b6787f7af91d1f3db2e2d79f2b","after":"67223c73c5eb77f06fdfb20eb740cb8fa38ea3ba","ref":"refs/heads/master","pushedAt":"2024-06-01T17:09:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Fix Image Next.js component (object-fit vs object-cover CSS className) (evento) V229","shortMessageHtmlLink":"Fix Image Next.js component (object-fit vs object-cover CSS className…"}},{"before":"ce769f63e8714e6e054f4454a19406b00a28505d","after":"b9bfe998bde4c3b6787f7af91d1f3db2e2d79f2b","ref":"refs/heads/master","pushedAt":"2024-06-01T16:12:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Finish the event page and learn some Tailwind CSS and React {children} pattern to abstract logic away into separate components (evento) V228","shortMessageHtmlLink":"Finish the event page and learn some Tailwind CSS and React {children…"}},{"before":"aa03b429e59fa0fc6bf1e5f631b175939a407fb7","after":"ce769f63e8714e6e054f4454a19406b00a28505d","ref":"refs/heads/master","pushedAt":"2024-05-30T17:13:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Extract the hover effect to a reusable class with the Tailwind CSS @apply rule (Trick to centralize Tailwind CSS classes shared by components) (evento) V227","shortMessageHtmlLink":"Extract the hover effect to a reusable class with the Tailwind CSS @a…"}},{"before":"ca7dc93cc71f01abed2c4326f5555aed98c67689","after":"aa03b429e59fa0fc6bf1e5f631b175939a407fb7","ref":"refs/heads/master","pushedAt":"2024-05-30T15:01:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"libertycoverage","name":"Michal M. Nadolny","path":"/libertycoverage","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5951210?s=80&v=4"},"commit":{"message":"Finish the intro section of the event page; Styling of
, component,
,