diff --git a/commands/interaction/slash/search/google.js b/commands/interaction/slash/search/google.js index e5a2d8b..d9190e8 100644 --- a/commands/interaction/slash/search/google.js +++ b/commands/interaction/slash/search/google.js @@ -9,8 +9,20 @@ const { STATICS } = require('#utils/statics') const { ApplicationCommandOptionTypes } = require('detritus-client/lib/constants'); +function renderFooter(context, doodle){ + if(doodle.label) return { + iconUrl: doodle.super_g, + text: `${doodle.label} • Google` + } + + return { + iconUrl: STATICS.google, + text: `Google • ${context.application.name}` + } +} + // TODO: create a favicon() util -function createSearchResultPage(context, result){ +function createSearchResultPage(context, result, doodle){ let res; switch(result.type){ case 1: // Search Result Entry @@ -21,10 +33,7 @@ function createSearchResultPage(context, result){ url: result.url }, description: result.content, - footer: { - iconUrl: STATICS.google, - text: `Google • ${context.application.name}` - } + footer: renderFooter(context, doodle) })) if(result.thumbnail) res.embeds[0].thumbnail = { url: result.thumbnail }; @@ -34,10 +43,7 @@ function createSearchResultPage(context, result){ if(result.card.url) header = link(result.card.url, result.card.title) res = page(createEmbed("default", context, { description: `**${header}**\n`, - footer: { - iconUrl: STATICS.google, - text: `Google Knowledge Graph • ${context.application.name}` - } + footer: renderFooter(context, doodle) })) if(result.card.image) res.embeds[0].thumbnail = { url: result.card.image }; @@ -92,7 +98,7 @@ module.exports = { let pages = [] for(const res of search.body.results){ - pages.push(createSearchResultPage(context, res)) + pages.push(createSearchResultPage(context, res, search.body.doodle)) } if(!pages.length) return editOrReply(context, createEmbed("warning", context, `No results found.`)) diff --git a/commands/message/search/google.js b/commands/message/search/google.js index d212299..dac2891 100644 --- a/commands/message/search/google.js +++ b/commands/message/search/google.js @@ -9,8 +9,20 @@ const { STATICS } = require('#utils/statics') // TODO: Turn this into a general purpose permissions constant const { Permissions } = require("detritus-client/lib/constants"); +function renderFooter(context, doodle){ + if(doodle.label) return { + iconUrl: doodle.super_g, + text: `${doodle.label} • Google` + } + + return { + iconUrl: STATICS.google, + text: `Google • ${context.application.name}` + } +} + // TODO: create a favicon() util -function createSearchResultPage(context, result){ +function createSearchResultPage(context, result, doodle){ let res; switch(result.type){ case 1: // Search Result Entry @@ -21,10 +33,7 @@ function createSearchResultPage(context, result){ url: result.url }, description: result.content, - footer: { - iconUrl: STATICS.google, - text: `Google • ${context.application.name}` - } + footer: renderFooter(context, doodle) })) if(result.thumbnail) res.embeds[0].thumbnail = { url: result.thumbnail }; @@ -34,10 +43,7 @@ function createSearchResultPage(context, result){ if(result.card.url) header = link(result.card.url, result.card.title) res = page(createEmbed("default", context, { description: `**${header}**\n`, - footer: { - iconUrl: STATICS.google, - text: `Google Knowledge Graph • ${context.application.name}` - } + footer: renderFooter(context, doodle) })) if(result.card.image) res.embeds[0].thumbnail = { url: result.card.image }; @@ -78,7 +84,7 @@ module.exports = { let pages = [] for(const res of search.body.results){ - pages.push(createSearchResultPage(context, res)) + pages.push(createSearchResultPage(context, res, search.body.doodle)) } if(!pages.length) return editOrReply(context, createEmbed("warning", context, `No results found.`))