@@ -40,6 +40,7 @@ class PackageList(TypedDict):
4040
4141class PackageListContext (TypedDict ):
4242 packages : PackageList
43+ selectable : bool
4344
4445
4546class AffectedContext (TypedDict ):
@@ -59,6 +60,15 @@ class Maintainer(TypedDict):
5960 github_id : int
6061
6162
63+ class MaintainerContext (TypedDict ):
64+ maintainer : Maintainer
65+
66+
67+ class MaintainersListContext (TypedDict ):
68+ maintainers : list [Maintainer ]
69+ selectable : bool
70+
71+
6272@register .filter
6373def getitem (dictionary : dict , key : str ) -> Any | None :
6474 return dictionary .get (key )
@@ -145,7 +155,7 @@ def nixpkgs_package(attribute_name: str, pdata: Package) -> PackageContext:
145155 return {"attribute_name" : attribute_name , "pdata" : pdata }
146156
147157
148- @register .inclusion_tag ("components/selectable_nixpkgs_package_list .html" )
158+ @register .inclusion_tag ("components/nixpkgs_package_list .html" )
149159def selectable_nixpkgs_package_list (packages : PackageList ) -> PackageListContext :
150160 """Renders the nixpkgs package list with additional checkboxes to have packages selectable.
151161
@@ -160,6 +170,7 @@ def selectable_nixpkgs_package_list(packages: PackageList) -> PackageListContext
160170 """
161171 return {
162172 "packages" : packages ,
173+ "selectable" : True ,
163174 }
164175
165176
@@ -178,6 +189,7 @@ def nixpkgs_package_list(packages: PackageList) -> PackageListContext:
178189 """
179190 return {
180191 "packages" : packages ,
192+ "selectable" : False ,
181193 }
182194
183195
@@ -196,6 +208,20 @@ def suggestion_activity_log(
196208
197209@register .inclusion_tag ("components/maintainers_list.html" )
198210def maintainers_list (
199- maintainers : list [dict ],
200- ) -> dict [str , list [dict ]]:
201- return {"maintainers" : maintainers }
211+ maintainers : list [Maintainer ],
212+ ) -> MaintainersListContext :
213+ return {"maintainers" : maintainers , "selectable" : False }
214+
215+
216+ @register .inclusion_tag ("components/maintainers_list.html" )
217+ def selectable_maintainers_list (
218+ maintainers : list [Maintainer ],
219+ ) -> MaintainersListContext :
220+ return {"maintainers" : maintainers , "selectable" : True }
221+
222+
223+ @register .inclusion_tag ("components/maintainer.html" )
224+ def maintainer (
225+ maintainer : Maintainer ,
226+ ) -> MaintainerContext :
227+ return {"maintainer" : maintainer }
0 commit comments