diff --git a/example.json b/example.json new file mode 100644 index 0000000..029e342 --- /dev/null +++ b/example.json @@ -0,0 +1,265 @@ +[ + { + "data": { + "user": { + "id": "17658559", + "dropCampaign": { + "id": "3b965979-ecd2-11f0-876e-0a58a9feac02", + "self": { + "isAccountConnected": true, + "__typename": "DropCampaignSelfEdge" + }, + "allow": { + "channels": null, + "isEnabled": false, + "__typename": "DropCampaignACL" + }, + "accountLinkURL": "https://link.smite2.com/", + "description": "Viewers will receive 50 Wandering Market Coins for each two hours spent viewing participating streams. Watch to earn 7 drops for a total of 350 Wandering Market Coins for the week!", + "detailsURL": "https://www.smite2.com/news/closed-alpha-twitch-drops/", + "endAt": "2026-01-17T10:58:59.999Z", + "eventBasedDrops": [], + "game": { + "id": "2094865572", + "slug": "smite-2", + "displayName": "SMITE 2", + "__typename": "Game" + }, + "imageURL": "https://static-cdn.jtvnw.net/twitch-quests-assets/CAMPAIGN/47db66e8-933c-484f-ab5a-30ba09093098.png", + "name": "Jan Drops Week 2", + "owner": { + "id": "51a157a0-674a-4863-b120-7bb6ee2466a8", + "name": "Hi-Rez Studios", + "__typename": "Organization" + }, + "startAt": "2026-01-10T11:00:00Z", + "status": "ACTIVE", + "timeBasedDrops": [ + { + "id": "933c8f91-ecd2-11f0-b3fd-0a58a9feac02", + "requiredSubs": 0, + "benefitEdges": [ + { + "benefit": { + "id": "ccb3fb7f-e59b-11ef-aef0-0a58a9feac02", + "createdAt": "2025-02-07T21:37:58.881Z", + "entitlementLimit": 1, + "game": { + "id": "2094865572", + "name": "SMITE 2", + "__typename": "Game" + }, + "imageAssetURL": "https://static-cdn.jtvnw.net/twitch-quests-assets/REWARD/903496ad-de97-41ff-ad97-12f099e20ea8.jpeg", + "isIosAvailable": false, + "name": "Market Coins Bundle 1", + "ownerOrganization": { + "id": "51a157a0-674a-4863-b120-7bb6ee2466a8", + "name": "Hi-Rez Studios", + "__typename": "Organization" + }, + "distributionType": "DIRECT_ENTITLEMENT", + "__typename": "DropBenefit" + }, + "entitlementLimit": 1, + "__typename": "DropBenefitEdge" + } + ], + "endAt": "2026-01-17T10:58:59.999Z", + "name": "Market Coins Bundle 1", + "preconditionDrops": null, + "requiredMinutesWatched": 120, + "startAt": "2026-01-10T11:00:00Z", + "__typename": "TimeBasedDrop" + }, + { + "id": "9909373d-ecd2-11f0-92b1-0a58a9feac02", + "requiredSubs": 0, + "benefitEdges": [ + { + "benefit": { + "id": "ccb3fb7f-e59b-11ef-aef0-0a58a9feac02", + "createdAt": "2025-02-07T21:37:58.881Z", + "entitlementLimit": 1, + "game": { + "id": "2094865572", + "name": "SMITE 2", + "__typename": "Game" + }, + "imageAssetURL": "https://static-cdn.jtvnw.net/twitch-quests-assets/REWARD/903496ad-de97-41ff-ad97-12f099e20ea8.jpeg", + "isIosAvailable": false, + "name": "Market Coins Bundle 1", + "ownerOrganization": { + "id": "51a157a0-674a-4863-b120-7bb6ee2466a8", + "name": "Hi-Rez Studios", + "__typename": "Organization" + }, + "distributionType": "DIRECT_ENTITLEMENT", + "__typename": "DropBenefit" + }, + "entitlementLimit": 1, + "__typename": "DropBenefitEdge" + } + ], + "endAt": "2026-01-17T10:58:59.999Z", + "name": "Market Coins Bundle 2", + "preconditionDrops": null, + "requiredMinutesWatched": 240, + "startAt": "2026-01-10T11:00:00Z", + "__typename": "TimeBasedDrop" + }, + { + "id": "a5289489-ecd2-11f0-b098-0a58a9feac02", + "requiredSubs": 0, + "benefitEdges": [ + { + "benefit": { + "id": "ccb3fb7f-e59b-11ef-aef0-0a58a9feac02", + "createdAt": "2025-02-07T21:37:58.881Z", + "entitlementLimit": 1, + "game": { + "id": "2094865572", + "name": "SMITE 2", + "__typename": "Game" + }, + "imageAssetURL": "https://static-cdn.jtvnw.net/twitch-quests-assets/REWARD/903496ad-de97-41ff-ad97-12f099e20ea8.jpeg", + "isIosAvailable": false, + "name": "Market Coins Bundle 1", + "ownerOrganization": { + "id": "51a157a0-674a-4863-b120-7bb6ee2466a8", + "name": "Hi-Rez Studios", + "__typename": "Organization" + }, + "distributionType": "DIRECT_ENTITLEMENT", + "__typename": "DropBenefit" + }, + "entitlementLimit": 1, + "__typename": "DropBenefitEdge" + } + ], + "endAt": "2026-01-17T10:58:59.999Z", + "name": "Market Coins Bundle 3", + "preconditionDrops": null, + "requiredMinutesWatched": 360, + "startAt": "2026-01-10T11:00:00Z", + "__typename": "TimeBasedDrop" + }, + { + "id": "ab5ea171-ecd2-11f0-9e33-0a58a9feac02", + "requiredSubs": 0, + "benefitEdges": [ + { + "benefit": { + "id": "ccb3fb7f-e59b-11ef-aef0-0a58a9feac02", + "createdAt": "2025-02-07T21:37:58.881Z", + "entitlementLimit": 1, + "game": { + "id": "2094865572", + "name": "SMITE 2", + "__typename": "Game" + }, + "imageAssetURL": "https://static-cdn.jtvnw.net/twitch-quests-assets/REWARD/903496ad-de97-41ff-ad97-12f099e20ea8.jpeg", + "isIosAvailable": false, + "name": "Market Coins Bundle 1", + "ownerOrganization": { + "id": "51a157a0-674a-4863-b120-7bb6ee2466a8", + "name": "Hi-Rez Studios", + "__typename": "Organization" + }, + "distributionType": "DIRECT_ENTITLEMENT", + "__typename": "DropBenefit" + }, + "entitlementLimit": 1, + "__typename": "DropBenefitEdge" + } + ], + "endAt": "2026-01-17T10:58:59.999Z", + "name": "Market Coins Bundle 4", + "preconditionDrops": null, + "requiredMinutesWatched": 480, + "startAt": "2026-01-10T11:00:00Z", + "__typename": "TimeBasedDrop" + }, + { + "id": "b19b7afb-ecd2-11f0-bbd3-0a58a9feac02", + "requiredSubs": 0, + "benefitEdges": [ + { + "benefit": { + "id": "ccb3fb7f-e59b-11ef-aef0-0a58a9feac02", + "createdAt": "2025-02-07T21:37:58.881Z", + "entitlementLimit": 1, + "game": { + "id": "2094865572", + "name": "SMITE 2", + "__typename": "Game" + }, + "imageAssetURL": "https://static-cdn.jtvnw.net/twitch-quests-assets/REWARD/903496ad-de97-41ff-ad97-12f099e20ea8.jpeg", + "isIosAvailable": false, + "name": "Market Coins Bundle 1", + "ownerOrganization": { + "id": "51a157a0-674a-4863-b120-7bb6ee2466a8", + "name": "Hi-Rez Studios", + "__typename": "Organization" + }, + "distributionType": "DIRECT_ENTITLEMENT", + "__typename": "DropBenefit" + }, + "entitlementLimit": 1, + "__typename": "DropBenefitEdge" + } + ], + "endAt": "2026-01-17T10:58:59.999Z", + "name": "Market Coins Bundle 5", + "preconditionDrops": null, + "requiredMinutesWatched": 600, + "startAt": "2026-01-10T11:00:00Z", + "__typename": "TimeBasedDrop" + }, + { + "id": "b82db8e0-ecd2-11f0-8c96-0a58a9feac02", + "requiredSubs": 0, + "benefitEdges": [ + { + "benefit": { + "id": "ccb3fb7f-e59b-11ef-aef0-0a58a9feac02", + "createdAt": "2025-02-07T21:37:58.881Z", + "entitlementLimit": 1, + "game": { + "id": "2094865572", + "name": "SMITE 2", + "__typename": "Game" + }, + "imageAssetURL": "https://static-cdn.jtvnw.net/twitch-quests-assets/REWARD/903496ad-de97-41ff-ad97-12f099e20ea8.jpeg", + "isIosAvailable": false, + "name": "Market Coins Bundle 1", + "ownerOrganization": { + "id": "51a157a0-674a-4863-b120-7bb6ee2466a8", + "name": "Hi-Rez Studios", + "__typename": "Organization" + }, + "distributionType": "DIRECT_ENTITLEMENT", + "__typename": "DropBenefit" + }, + "entitlementLimit": 1, + "__typename": "DropBenefitEdge" + } + ], + "endAt": "2026-01-17T10:58:59.999Z", + "name": "Market Coins Bundle 6", + "preconditionDrops": null, + "requiredMinutesWatched": 720, + "startAt": "2026-01-10T11:00:00Z", + "__typename": "TimeBasedDrop" + } + ], + "__typename": "DropCampaign" + }, + "__typename": "User" + } + }, + "extensions": { + "durationMilliseconds": 48, + "operationName": "DropCampaignDetails" + } + } +] diff --git a/templates/twitch/campaign_detail.html b/templates/twitch/campaign_detail.html index 6bd0aee..b133cc2 100644 --- a/templates/twitch/campaign_detail.html +++ b/templates/twitch/campaign_detail.html @@ -19,10 +19,10 @@

{% endfor %} - {% if campaign.image_url %} + {% if campaign.image_best_url %} {{ campaign.name }} {% endif %} diff --git a/templates/twitch/campaign_list.html b/templates/twitch/campaign_list.html index 30e2d59..19bbdef 100644 --- a/templates/twitch/campaign_list.html +++ b/templates/twitch/campaign_list.html @@ -97,8 +97,8 @@
- {% if campaign.image_best_url or campaign.image_url %} - Campaign artwork for {{ campaign.name }}
-

Campaigns without Image URLs ({{ broken_image_campaigns|length }})

+

Campaigns without Images ({{ broken_image_campaigns|length }})

{% if broken_image_campaigns %}
    {% for c in broken_image_campaigns %} @@ -81,7 +81,7 @@ {% endif %}
-

Active Campaigns Missing Image ({{ active_missing_image|length }})

+

Active Campaigns without Images ({{ active_missing_image|length }})

{% if active_missing_image %}