44
55use JustBetter \Detour \Contracts \ListsDetours ;
66use JustBetter \Detour \Contracts \ResolvesRepository ;
7+ use JustBetter \Detour \Data \Paginate ;
78use Statamic \Fields \Blueprint ;
89
910class ListDetours implements ListsDetours
@@ -12,18 +13,21 @@ public function __construct(
1213 protected ResolvesRepository $ resolvesRepository
1314 ) {}
1415
15- public function list (): array
16+ public function list (int $ size , int $ page ): array
1617 {
1718 $ repository = $ this ->resolvesRepository ->resolve ();
1819
1920 // @phpstan-ignore-next-line
2021 $ oldDirectory = Blueprint::directory ();
21- $ values = $ repository ->get ();
22+
23+ $ paginate = Paginate::make (['size ' => $ size , 'page ' => $ page ])->validate ();
24+
25+ $ paginator = $ repository ->paginate ($ paginate );
2226
2327 // @phpstan-ignore-next-line
2428 $ blueprint = Blueprint::setDirectories (__DIR__ .'/../../resources/blueprints ' )->find ('detour ' );
2529 $ fields = $ blueprint ->fields ();
26- $ fields = $ fields ->addValues ($ values );
30+ $ fields = $ fields ->addValues ($ paginator -> items () );
2731 $ fields = $ fields ->preProcess ();
2832
2933 if ($ oldDirectory ) {
@@ -35,8 +39,9 @@ public function list(): array
3539 'blueprint ' => $ blueprint ->toPublishArray (),
3640 'values ' => $ fields ->values (),
3741 'meta ' => $ fields ->meta (),
38- 'data ' => $ values ,
42+ 'data ' => $ paginator -> items () ,
3943 'action ' => cp_route ('justbetter.detours.store ' ),
44+ 'paginator ' => $ paginator ,
4045 ];
4146 }
4247
0 commit comments