| 732 | } |
| 733 | |
| 734 | #doModBadge(modRecord, hasConflicts = false, hasDepend = false, requireSet) { |
| 735 | if ( modRecord.fileDetail.isSaveGame ) { |
| 736 | const shortCut = new badgeHandle(['notmod', 'savegame'], this.#badgeNamed) |
| 737 | |
| 738 | if ( modRecord.fileDetail.isFolder ) { shortCut.add('folder') } |
| 739 | |
| 740 | return shortCut.keyList |
| 741 | } |
| 742 | |
| 743 | const newBadge = new badgeHandle(modRecord.badgeArray, this.#badgeNamed) |
| 744 | const thisMHRec = this.modHubFullRecord(modRecord) |
| 745 | |
| 746 | if ( this.#list_newMods.has(modRecord.uuid) ) { |
| 747 | newBadge.add('new') |
| 748 | } |
| 749 | |
| 750 | if ( modRecord.fileDetail.isFolder ) { |
| 751 | if ( Object.hasOwn(this.#map_FolderToCollection, modRecord.fileDetail.fullPath) ) { |
| 752 | newBadge.add('collect') |
| 753 | } |
| 754 | |
| 755 | newBadge.add('noMP') |
| 756 | } |
| 757 | |
| 758 | if ( requireSet.has(modRecord.fileDetail.shortName ) ) { |
| 759 | newBadge.add('require') |
| 760 | } |
| 761 | |
| 762 | if ( modRecord.modDesc.mapConfigFile !== null ) { |
| 763 | newBadge.add('map') |
| 764 | } |
| 765 | |
| 766 | if ( thisMHRec.id !== null ) { |
| 767 | if ( modRecord.modDesc.version !== thisMHRec.version ) { |
| 768 | newBadge.add('update') |
| 769 | } |
| 770 | if ( thisMHRec.recent ) { |
| 771 | newBadge.add('recent') |
| 772 | } |
| 773 | } else { |
| 774 | newBadge.add('nonmh') |
| 775 | } |
| 776 | |
| 777 | newBadge.add(`fs${modRecord.gameVersion}`) |
| 778 | |
| 779 | if ( Object.hasOwn(this.#siteStore, modRecord.fileDetail.shortName) ) { |
| 780 | newBadge.add('web') |
| 781 | } |
| 782 | |
| 783 | if ( Object.keys(modRecord.modDesc.binds).length !== 0 ) { |
| 784 | if ( hasConflicts !== false ) { |
| 785 | newBadge.add('keys_bad') |
| 786 | newBadge.addTitle('keys_bad', hasConflicts) |
| 787 | } else { |
| 788 | newBadge.add('keys_ok') |
| 789 | } |
| 790 | } |
| 791 | |