File tree Expand file tree Collapse file tree 12 files changed +54
-18
lines changed
01.problem.vite-plugin/app/routes
01.solution.vite-plugin/app/routes
02.solution.loader-rsc/app/routes
03.solution.rsc-route/app/routes
04.solution.server-fns/app/routes
05.solution.use-client/app/routes Expand file tree Collapse file tree 12 files changed +54
-18
lines changed Original file line number Diff line number Diff line change @@ -44,7 +44,9 @@ export default function MoviesPage({ loaderData }: Route.ComponentProps) {
4444 { movie . description }
4545 </ p >
4646 < div className = "flex items-center gap-2" >
47- < span className = "rr-badge" >
47+ < span
48+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
49+ >
4850 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
4951 </ span >
5052 </ div >
Original file line number Diff line number Diff line change @@ -51,7 +51,11 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
5151 </ h1 >
5252 < div className = "mb-4 flex items-center gap-4" >
5353 < span className = "rr-text text-lg" > { movie . year } </ span >
54- < span className = "rr-badge" > Rating: { movie . rating } /10</ span >
54+ < span
55+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
56+ >
57+ Rating: { movie . rating } /10
58+ </ span >
5559 < Form method = "post" preventScrollReset >
5660 < input type = "hidden" name = "id" value = { movie . id } />
5761 < input
@@ -61,7 +65,7 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
6165 />
6266 < button
6367 type = "submit"
64- className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
68+ className = { `rr-badge cursor-pointer ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
6569 >
6670 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
6771 </ button >
Original file line number Diff line number Diff line change @@ -44,7 +44,9 @@ export default function MoviesPage({ loaderData }: Route.ComponentProps) {
4444 { movie . description }
4545 </ p >
4646 < div className = "flex items-center gap-2" >
47- < span className = "rr-badge" >
47+ < span
48+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
49+ >
4850 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
4951 </ span >
5052 </ div >
Original file line number Diff line number Diff line change @@ -51,7 +51,11 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
5151 </ h1 >
5252 < div className = "mb-4 flex items-center gap-4" >
5353 < span className = "rr-text text-lg" > { movie . year } </ span >
54- < span className = "rr-badge" > Rating: { movie . rating } /10</ span >
54+ < span
55+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
56+ >
57+ Rating: { movie . rating } /10
58+ </ span >
5559 < Form method = "post" preventScrollReset >
5660 < input type = "hidden" name = "id" value = { movie . id } />
5761 < input
@@ -61,7 +65,7 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
6165 />
6266 < button
6367 type = "submit"
64- className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
68+ className = { `rr-badge cursor-pointer ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
6569 >
6670 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
6771 </ button >
Original file line number Diff line number Diff line change @@ -23,7 +23,9 @@ export async function loader() {
2323 { movie . description }
2424 </ p >
2525 < div className = "flex items-center gap-2" >
26- < span className = "rr-badge" >
26+ < span
27+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
28+ >
2729 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
2830 </ span >
2931 </ div >
Original file line number Diff line number Diff line change @@ -51,7 +51,11 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
5151 </ h1 >
5252 < div className = "mb-4 flex items-center gap-4" >
5353 < span className = "rr-text text-lg" > { movie . year } </ span >
54- < span className = "rr-badge" > Rating: { movie . rating } /10</ span >
54+ < span
55+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
56+ >
57+ Rating: { movie . rating } /10
58+ </ span >
5559 < Form method = "post" preventScrollReset >
5660 < input type = "hidden" name = "id" value = { movie . id } />
5761 < input
@@ -61,7 +65,7 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
6165 />
6266 < button
6367 type = "submit"
64- className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
68+ className = { `rr-badge cursor-pointer ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
6569 >
6670 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
6771 </ button >
Original file line number Diff line number Diff line change @@ -38,7 +38,9 @@ export async function ServerComponent() {
3838 { movie . description }
3939 </ p >
4040 < div className = "flex items-center gap-2" >
41- < span className = "rr-badge" >
41+ < span
42+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
43+ >
4244 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
4345 </ span >
4446 </ div >
Original file line number Diff line number Diff line change @@ -51,7 +51,11 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
5151 </ h1 >
5252 < div className = "mb-4 flex items-center gap-4" >
5353 < span className = "rr-text text-lg" > { movie . year } </ span >
54- < span className = "rr-badge" > Rating: { movie . rating } /10</ span >
54+ < span
55+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
56+ >
57+ Rating: { movie . rating } /10
58+ </ span >
5559 < Form method = "post" preventScrollReset >
5660 < input type = "hidden" name = "id" value = { movie . id } />
5761 < input
@@ -61,7 +65,7 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
6165 />
6266 < button
6367 type = "submit"
64- className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
68+ className = { `rr-badge cursor-pointer ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
6569 >
6670 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
6771 </ button >
Original file line number Diff line number Diff line change @@ -38,7 +38,9 @@ export async function ServerComponent() {
3838 { movie . description }
3939 </ p >
4040 < div className = "flex items-center gap-2" >
41- < span className = "rr-badge" >
41+ < span
42+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
43+ >
4244 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
4345 </ span >
4446 </ div >
Original file line number Diff line number Diff line change @@ -39,7 +39,11 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
3939 </ h1 >
4040 < div className = "mb-4 flex items-center gap-4" >
4141 < span className = "rr-text text-lg" > { movie . year } </ span >
42- < span className = "rr-badge" > Rating: { movie . rating } /10</ span >
42+ < span
43+ className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
44+ >
45+ Rating: { movie . rating } /10
46+ </ span >
4347 < form action = { setIsFavorite } >
4448 < input type = "hidden" name = "id" value = { movie . id } />
4549 < input
@@ -49,7 +53,7 @@ export default function MovieDetailsPage({ loaderData }: Route.ComponentProps) {
4953 />
5054 < button
5155 type = "submit"
52- className = { `rr-badge ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
56+ className = { `rr-badge cursor-pointer ${ movie . isFavorite ? 'rr-badge-red' : '' } ` }
5357 >
5458 { movie . isFavorite ? 'Favorite' : 'Not Favorite' }
5559 </ button >
You can’t perform that action at this time.
0 commit comments