supports.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. $(function () {
  2. function createSupportItem (item) {
  3. if (!item.image) {
  4. item.image = 'https://images.opencollective.com/' + item.profile.split('/').pop() + '/avatar.png'
  5. }
  6. if (!item.website) {
  7. item.website = item.profile || ''
  8. }
  9. item.website = item.website.split(' ')[0]
  10. return [
  11. '<a class="support-item" href="' + item.website + '" target="_blank" title="$' + item.totalAmountDonated + ' by ' + item.name + '">',
  12. '<img class="support-' + (item.classes || 'silver') + '-avatar" src="' + item.image + '" alt="' + item.name + '">',
  13. '</a>'
  14. ].join('')
  15. }
  16. $.getJSON('https://examples.wenzhixin.net.cn/opencollective/all.json', function (res) {
  17. res.push({
  18. website: 'https://edubirdie.com/write-my-essay',
  19. totalAmountDonated: 300,
  20. name: 'Write my essay services from Edubirdie',
  21. image: window.baseurl + '/assets/images/edu-birdie.png',
  22. isActive: true,
  23. role: 'BACKER'
  24. })
  25. res.sort(function (a, b) {
  26. return b.totalAmountDonated - a.totalAmountDonated
  27. })
  28. var goldSponsors = res.filter(function (item) {
  29. var isGold = item.isActive &&
  30. item.role === 'BACKER' &&
  31. item.totalAmountDonated >= 100
  32. if (isGold) {
  33. item.classes = 'gold'
  34. }
  35. return isGold
  36. })
  37. var bronzeSponsors = res.filter(function (item) {
  38. return item.isActive &&
  39. item.role === 'BACKER' &&
  40. item.totalAmountDonated >= 10 &&
  41. item.totalAmountDonated < 100
  42. })
  43. var backers = res.filter(function (item) {
  44. return item.isActive &&
  45. item.role === 'BACKER' &&
  46. item.totalAmountDonated < 10
  47. })
  48. $('.gold-sponsors').html(goldSponsors.map(function (item) {
  49. return createSupportItem(item, 'gold')
  50. }).join(''))
  51. $('.bronze-sponsors').html(bronzeSponsors.map(createSupportItem).join(''))
  52. $('.support-backers').html(backers.map(createSupportItem).join(''))
  53. })
  54. })