Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
61f4939
Compose The App With Components
WitekG14 Jan 27, 2026
789ea84
Fetch Data In UseEffect (Fetch API Anatomy)
WitekG14 Jan 28, 2026
c86edc3
Showing Search Results (Lift State Up, Map Over Data)
WitekG14 Jan 28, 2026
ad57cee
Typing API Response (TypeScript)
WitekG14 Jan 28, 2026
21e2307
Prevent Prop Drilling (Children Pattern)
WitekG14 Jan 29, 2026
71301b2
Loading State (JobList)
WitekG14 Jan 29, 2026
e8e9e67
UseJobItems (Custom Hook Benefits)
WitekG14 Jan 29, 2026
e76f514
Remove unused import of useEffect in App.tsx
WitekG14 Jan 29, 2026
24bf439
Slice JobItems (Derived State)
WitekG14 Jan 30, 2026
e263a46
Custom Hook Rules (Return Object Or Array?)
WitekG14 Jan 30, 2026
b9fccbd
Type Custom Hook Return Value (As Const)
WitekG14 Jan 30, 2026
17fab63
Fix Key (Key Is Not A Prop)
WitekG14 Jan 30, 2026
0f446c0
Keep Track Of ActiveId (Reading And Writing To URL, UseEffect)
WitekG14 Jan 30, 2026
8917ae4
Merge original repo
WitekG14 Jan 30, 2026
507bba6
Custom Hook For ActiveId
WitekG14 Jan 30, 2026
c7e93a9
Fetch JobItem (Custom Hook)
WitekG14 Jan 30, 2026
6b202d6
Render JobItem (Custom Type)
WitekG14 Jan 31, 2026
3d72b89
Loading State (JobItemContent)
WitekG14 Jan 31, 2026
1757e72
Active Item In List (Custom Hook)
WitekG14 Jan 31, 2026
64bce32
Results Count (Derived State, Custom Hook)
WitekG14 Jan 31, 2026
e69565f
Return Object Instead Of Array From Custom Hook
WitekG14 Jan 31, 2026
0982fea
Debounce SearchText (UseDebounce Custom Hook)
WitekG14 Feb 2, 2026
66433c9
Change Fetch To React-Query
WitekG14 Feb 3, 2026
8880a99
Type Return Value Of Fetcher Function (API Response, Promise)
WitekG14 Feb 3, 2026
8e5c85f
Fix Loading State In React-Query (IsInitialLoading)
WitekG14 Feb 3, 2026
8b5709d
Error Handling When Fetching Data
WitekG14 Feb 4, 2026
97a3d22
Refactor UseJobItems To React-Query (+ Loading State)
WitekG14 Feb 4, 2026
8350e94
Toast Messages (Show Error Message)
WitekG14 Feb 5, 2026
510c4c9
Pagination
WitekG14 Feb 6, 2026
73c6762
Reusable Component (Pagination Button)
WitekG14 Feb 6, 2026
e4536d9
Finish Pagination (Derived State)
WitekG14 Feb 6, 2026
337246d
Extract Constant For Results Per Page
WitekG14 Feb 6, 2026
730bd07
Sorting (Derived State)
WitekG14 Feb 8, 2026
796884e
Extract Type For Page Direction
WitekG14 Feb 8, 2026
4ad8d0d
Mutable Update Vs Creating New
WitekG14 Feb 8, 2026
ee8929f
Reusable Component (Sorting Button)
WitekG14 Feb 8, 2026
149c30e
Keep Track Of Bookmarked Ids In Context API
WitekG14 Feb 9, 2026
49ea1c0
Event Bubbling / Prevent Default / Stop Propagation
WitekG14 Feb 9, 2026
e330b8c
Persist Data in LocalStorage (UseState Initializer Function)
WitekG14 Feb 10, 2026
9e27747
UseLocalStorage (Custom Hook)
WitekG14 Feb 10, 2026
9f3bc9c
Context Api TypeScript (Custom Hook)
WitekG14 Feb 10, 2026
e8c05e4
Create Popover (Reuse Custom Hook)
WitekG14 Feb 11, 2026
c023b98
Multiple Fetch Calls In Parallel Without Waterfall (React-Query)
WitekG14 Feb 12, 2026
7d5bcc6
Fix Spinner CSS
WitekG14 Feb 12, 2026
edbad80
Part 1: Close Popover - ClassName
WitekG14 Feb 13, 2026
685e4ef
Part 2: Close Popover - UseRef
WitekG14 Feb 13, 2026
c8f8706
Part 3: Close Popover - UseOnClickOutside (Custom Hook)
WitekG14 Feb 13, 2026
513244a
Create Portal For Popover
WitekG14 Feb 13, 2026
1c4f18a
ActiveId Optimization Custom Hook Vs Context API
WitekG14 Feb 13, 2026
0618f4e
State Management In Context Api (Multiple Contexts, Dependency Betwee…
WitekG14 Feb 14, 2026
9f0fe29
JobList (Data Wrapper Pattern)
WitekG14 Feb 14, 2026
bacf1dd
UseMemo (Memoize Derived State)
WitekG14 Feb 14, 2026
daadacd
Memoize Context Value
WitekG14 Feb 14, 2026
3eb6e83
UseCallback For Event Handler Functions
WitekG14 Feb 14, 2026
2574117
Merge pull request #1 from WitekG14/v1
WitekG14 Feb 14, 2026
d094336
Delete syntax highlighting
WitekG14 Feb 14, 2026
f21a473
Update onClick handlers for PaginationButton
WitekG14 Feb 16, 2026
6e6b64b
Simplify onClick handlers for pagination buttons
WitekG14 Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
517 changes: 517 additions & 0 deletions bun.lock

Large diffs are not rendered by default.

14 changes: 12 additions & 2 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!DOCTYPE html>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
Expand All @@ -7,8 +7,18 @@
<link
rel="icon"
type="image/png"
href="https://bytegrad.com/course-assets/js/2/favicon.png"
href="/favicon/favicon-96x96.png"
sizes="96x96"
/>
<link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg" />
<link rel="shortcut icon" href="/favicon/favicon.ico" />
<link
rel="apple-touch-icon"
sizes="180x180"
href="/favicon/apple-touch-icon.png"
/>
<meta name="apple-mobile-web-app-title" content="rmtDev" />
<link rel="manifest" href="/favicon/site.webmanifest" />

<link
rel="stylesheet"
Expand Down
Loading