summaryrefslogtreecommitdiff
path: root/internal/api/model
diff options
context:
space:
mode:
authorLibravatar Victor Dyotte <vdyotte@gmail.com>2024-12-02 06:24:48 -0500
committerLibravatar GitHub <noreply@github.com>2024-12-02 12:24:48 +0100
commit9609c4550d0cf6010ab88357fb5636e42ad22ba7 (patch)
tree2c339976192013aa79d164de90104ba3ca990a84 /internal/api/model
parent[feature/themes] Add auto-switching themes for blurple/brutalist/solarized (#... (diff)
downloadgotosocial-9609c4550d0cf6010ab88357fb5636e42ad22ba7.tar.xz
[feature] Add global instance CSS customization setting (#3352)
Allow instance admins to add custom CSS that will affect every page of their instance. This is done with a new CustomCSS instance setting that works pretty much exactly like the Users CustomCSS property. This custom CSS is then requested for every page load. User styles/themes take precedence over this CSS. Co-authored-by: tobi <tobi.smethurst@protonmail.com>
Diffstat (limited to 'internal/api/model')
-rw-r--r--internal/api/model/instance.go2
-rw-r--r--internal/api/model/instancev1.go2
-rw-r--r--internal/api/model/instancev2.go2
3 files changed, 6 insertions, 0 deletions
diff --git a/internal/api/model/instance.go b/internal/api/model/instance.go
index 5232e8d66..d59424fa5 100644
--- a/internal/api/model/instance.go
+++ b/internal/api/model/instance.go
@@ -33,6 +33,8 @@ type InstanceSettingsUpdateRequest struct {
ShortDescription *string `form:"short_description" json:"short_description" xml:"short_description"`
// Longer description of the instance, max 5,000 chars. HTML formatting accepted.
Description *string `form:"description" json:"description" xml:"description"`
+ // Custom CSS for the instance.
+ CustomCSS *string `form:"custom_css" json:"custom_css,omitempty" xml:"custom_css"`
// Terms and conditions of the instance, max 5,000 chars. HTML formatting accepted.
Terms *string `form:"terms" json:"terms" xml:"terms"`
// Image to use as the instance thumbnail.
diff --git a/internal/api/model/instancev1.go b/internal/api/model/instancev1.go
index efa6d6faa..6dedd04cc 100644
--- a/internal/api/model/instancev1.go
+++ b/internal/api/model/instancev1.go
@@ -38,6 +38,8 @@ type InstanceV1 struct {
//
// This should be displayed on the 'about' page for an instance.
Description string `json:"description"`
+ // Custom CSS for the instance.
+ CustomCSS string `json:"custom_css,omitempty"`
// Raw (unparsed) version of description.
DescriptionText string `json:"description_text,omitempty"`
// A shorter description of the instance.
diff --git a/internal/api/model/instancev2.go b/internal/api/model/instancev2.go
index 8d6873497..982ed0c63 100644
--- a/internal/api/model/instancev2.go
+++ b/internal/api/model/instancev2.go
@@ -53,6 +53,8 @@ type InstanceV2 struct {
Description string `json:"description"`
// Raw (unparsed) version of description.
DescriptionText string `json:"description_text,omitempty"`
+ // Instance Custom Css
+ CustomCSS string `json:"custom_css,omitempty"`
// Basic anonymous usage data for this instance.
Usage InstanceV2Usage `json:"usage"`
// An image used to represent this instance.