+ const sortedParents = this.languageButtons.sort((a, b) => {
+ const aFav = a.dataset.favourite === 'true';
+ const bFav = b.dataset.favourite === 'true';
+
+ if (aFav && !bFav) {
+ return -1;
+ } if (bFav && !aFav) {
+ return 1;
+ }
+
+ return a.dataset.lang > b.dataset.lang ? 1 : -1;
+ }).map(button => button.parentElement);
+
+ for (const parent of sortedParents) {
+ this.languageOptionsContainer.append(parent);
+ }