diff --git a/app/http/endpoints/api/customisation/updatecolours.go b/app/http/endpoints/api/customisation/updatecolours.go index 1cb5f58..41a0ae1 100644 --- a/app/http/endpoints/api/customisation/updatecolours.go +++ b/app/http/endpoints/api/customisation/updatecolours.go @@ -3,8 +3,11 @@ package customisation import ( "context" "fmt" + "github.com/TicketsBot/GoPanel/botcontext" dbclient "github.com/TicketsBot/GoPanel/database" + "github.com/TicketsBot/GoPanel/rpc" "github.com/TicketsBot/GoPanel/utils" + "github.com/TicketsBot/common/premium" "github.com/TicketsBot/worker/bot/customisation" "github.com/gin-gonic/gin" "golang.org/x/sync/errgroup" @@ -14,6 +17,24 @@ import ( func UpdateColours(ctx *gin.Context) { guildId := ctx.Keys["guildid"].(uint64) + botContext, err := botcontext.ContextForGuild(guildId) + if err != nil { + ctx.JSON(500, utils.ErrorJson(err)) + return + } + + // Allow votes + premiumTier, err := rpc.PremiumClient.GetTierByGuildId(guildId, true, botContext.Token, botContext.RateLimiter) + if err != nil { + ctx.JSON(500, utils.ErrorJson(err)) + return + } + + if premiumTier < premium.Premium { + ctx.JSON(402, utils.ErrorStr("You must have premium to customise message appearance")) + return + } + var data map[customisation.Colour]utils.HexColour if err := ctx.BindJSON(&data); err != nil { ctx.JSON(400, utils.ErrorJson(err)) diff --git a/app/http/endpoints/api/premium.go b/app/http/endpoints/api/premium.go index 310ecaf..4df248b 100644 --- a/app/http/endpoints/api/premium.go +++ b/app/http/endpoints/api/premium.go @@ -6,6 +6,7 @@ import ( "github.com/TicketsBot/GoPanel/utils" "github.com/TicketsBot/common/premium" "github.com/gin-gonic/gin" + "strconv" ) func PremiumHandler(ctx *gin.Context) { @@ -20,7 +21,10 @@ func PremiumHandler(ctx *gin.Context) { return } - premiumTier, err := rpc.PremiumClient.GetTierByGuildId(guildId, true, botContext.Token, botContext.RateLimiter) + // If error, will default to false + includeVoting, _ := strconv.ParseBool(ctx.Query("include_voting")) + + premiumTier, err := rpc.PremiumClient.GetTierByGuildId(guildId, includeVoting, botContext.Token, botContext.RateLimiter) if err != nil { ctx.JSON(500, utils.ErrorJson(err)) return diff --git a/frontend/src/components/NavElement.svelte b/frontend/src/components/NavElement.svelte index 7b06d1f..c67172d 100644 --- a/frontend/src/components/NavElement.svelte +++ b/frontend/src/components/NavElement.svelte @@ -35,6 +35,12 @@ cursor: pointer; } + :global(.link-blue) { + color: #3472f7; + text-decoration: none; + cursor: pointer; + } + .icon { width: 24px; } diff --git a/frontend/src/components/form/Colour.svelte b/frontend/src/components/form/Colour.svelte index 95045f0..cbfc680 100644 --- a/frontend/src/components/form/Colour.svelte +++ b/frontend/src/components/form/Colour.svelte @@ -1,6 +1,6 @@