Skip to content

Commit 08bfe0f

Browse files
fix: camo should be proceed at server-side
1 parent 448b710 commit 08bfe0f

File tree

7 files changed

+18
-10
lines changed

7 files changed

+18
-10
lines changed

components/BotCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Link from 'next/link'
22
import dynamic from 'next/dynamic'
33

4-
import { camoUrl, checkBotFlag, formatNumber, makeBotURL } from '@utils/Tools'
4+
import { checkBotFlag, formatNumber, makeBotURL } from '@utils/Tools'
55
import { Status } from '@utils/Constants'
66
import { Bot } from '@types'
77

@@ -20,7 +20,7 @@ const BotCard: React.FC<BotCardProps> = ({ manage = false, bot }) => {
2020
style={
2121
(checkBotFlag(bot.flags, 'trusted') || checkBotFlag(bot.flags, 'partnered')) && bot.banner
2222
? {
23-
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${camoUrl(bot.banner)}") center top / cover no-repeat`,
23+
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${bot.banner}") center top / cover no-repeat`,
2424
color: 'white',
2525
}
2626
: {}

components/ServerCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import Link from 'next/link'
22
import dynamic from 'next/dynamic'
33

4-
import { camoUrl, checkServerFlag, formatNumber, makeServerURL } from '@utils/Tools'
4+
import { checkServerFlag, formatNumber, makeServerURL } from '@utils/Tools'
55
import { ServerData, ServerState } from '@types'
66
import { DiscordEnpoints, DSKR_BOT_ID } from '@utils/Constants'
77

@@ -29,7 +29,7 @@ const ServerCard: React.FC<BotCardProps> = ({ type, server }) => {
2929
style={
3030
(checkServerFlag(server.flags, 'trusted') || checkServerFlag(server.flags, 'partnered')) && server.banner
3131
? {
32-
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${camoUrl(server.banner)}") center top / cover no-repeat`,
32+
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${server.banner}") center top / cover no-repeat`,
3333
color: 'white',
3434
}
3535
: {}

pages/bots/[id]/edit.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -617,9 +617,11 @@ const ManageBotPage: NextPage<ManageBotProps> = ({ bot, user, csrfToken, theme }
617617
export const getServerSideProps = async (ctx: Context) => {
618618
const parsed = parseCookie(ctx.req)
619619
const user = await get.Authorization(parsed?.token)
620+
const bot = await get.bot.load(ctx.query.id)
621+
const spec = await get.botSpec(ctx.query.id, user)
620622
return {
621623
props: {
622-
bot: await get.bot.load(ctx.query.id),
624+
bot: { ...bot, banner: spec.banner, bg: spec.bg },
623625
user: await get.user.load(user || ''),
624626
csrfToken: getToken(ctx.req, ctx.res),
625627
},

pages/bots/[id]/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { get } from '@utils/Query'
1616
import Day from '@utils/Day'
1717
import { ReportSchema } from '@utils/Yup'
1818
import Fetch from '@utils/Fetch'
19-
import { camoUrl, checkBotFlag, checkUserFlag, formatNumber, parseCookie } from '@utils/Tools'
19+
import { checkBotFlag, checkUserFlag, formatNumber, parseCookie } from '@utils/Tools'
2020
import { getToken } from '@utils/Csrf'
2121

2222
import NotFound from '../../404'
@@ -51,7 +51,7 @@ const Bots: NextPage<BotsProps> = ({ data, desc, date, user, theme, csrfToken })
5151
style={
5252
bg
5353
? {
54-
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${camoUrl(data.bg)}") center top / cover no-repeat fixed`,
54+
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${data.bg}") center top / cover no-repeat fixed`,
5555
}
5656
: {}
5757
}

pages/servers/[id]/index.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import { get, safeImageHost } from '@utils/Query'
1515
import Day from '@utils/Day'
1616
import Fetch from '@utils/Fetch'
1717
import {
18-
camoUrl,
1918
checkBotFlag,
2019
checkServerFlag,
2120
checkUserFlag,
@@ -57,7 +56,7 @@ const Servers: NextPage<ServersProps> = ({ data, desc, date, user, theme }) => {
5756
style={
5857
bg
5958
? {
60-
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${camoUrl(data.bg)}") center top / cover no-repeat fixed`,
59+
background: `linear-gradient(to right, rgba(34, 36, 38, 0.68), rgba(34, 36, 38, 0.68)), url("${data.bg}") center top / cover no-repeat fixed`,
6160
}
6261
: {}
6362
}

types/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ export interface BotSpec {
8989
webhookURL: string | null
9090
webhookStatus: WebhookStatus
9191
token: string
92+
banner: string | null
93+
bg: string | null
9294
}
9395

9496
export interface ServerSpec {

utils/Query.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,9 @@ async function getBot(id: string, topLevel = true): Promise<Bot> {
100100
res.name = name
101101
res.category = JSON.parse(res.category)
102102
res.owners = JSON.parse(res.owners)
103+
res.banner = res.banner ? camoUrl(res.banner) : null
104+
res.bg = res.bg ? camoUrl(res.bg): null
105+
103106

104107
if (discordBot.flags.bitfield & UserFlags.BotHTTPInteractions) {
105108
res.status = 'online'
@@ -676,7 +679,7 @@ async function submitServer(
676679

677680
async function getBotSpec(id: string, userID: string): Promise<BotSpec | null> {
678681
const res = await knex('bots')
679-
.select(['bots.id', 'bots.token', 'bots.webhook_url', 'bots.webhook_status'])
682+
.select(['bots.id', 'bots.token', 'bots.webhook_url', 'bots.webhook_status', 'bots.banner', 'bots.bg'])
680683
.leftJoin('owners_mapping', 'bots.id', 'owners_mapping.target_id')
681684
.where('owners_mapping.user_id', userID)
682685
.andWhere('owners_mapping.type', ObjectType.Bot)
@@ -688,6 +691,8 @@ async function getBotSpec(id: string, userID: string): Promise<BotSpec | null> {
688691
token: res[0].token,
689692
webhookURL: res[0].webhook_url,
690693
webhookStatus: res[0].webhook_status,
694+
banner: res[0].banner,
695+
bg: res[0].bg,
691696
}
692697
}
693698

0 commit comments

Comments
 (0)