mirror of
https://git.phreedom.club/localhost_frssoft/bloat.git
synced 2024-11-24 21:01:28 +00:00
Add some information about instance
This commit is contained in:
parent
7dd90ac015
commit
7d54da6380
|
@ -10,6 +10,7 @@ type Instance struct {
|
|||
URI string `json:"uri"`
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
ShortDescription *string `json:"short_description"`
|
||||
EMail string `json:"email"`
|
||||
Version string `json:"version,omitempty"`
|
||||
Thumbnail string `json:"thumbnail,omitempty"`
|
||||
|
@ -17,7 +18,14 @@ type Instance struct {
|
|||
Stats *InstanceStats `json:"stats,omitempty"`
|
||||
Languages []string `json:"languages"`
|
||||
ContactAccount *Account `json:"account"`
|
||||
PollLimits *PollLimit `json:"poll_limits"`
|
||||
MaxTootChars *int64 `json:"max_toot_chars"`
|
||||
MaxMediaAttachments *int64 `json:"max_media_attachments"`
|
||||
UploadLimit *int64 `json:"upload_limit"`
|
||||
BackgroundUploadLimit *int64 `json:"background_upload_limit"`
|
||||
AvatarUploadLimit *int64 `json:"avatar_upload_limit"`
|
||||
Configuration *InstanceConf `json:"configuration"`
|
||||
Rules *[]map[string]string `json:"rules"`
|
||||
Pleroma *PleromaInstance `json:"pleroma"`
|
||||
}
|
||||
|
||||
|
@ -28,6 +36,23 @@ type InstanceStats struct {
|
|||
DomainCount int64 `json:"domain_count"`
|
||||
}
|
||||
|
||||
// InstanceConf hold information for mastodon instances
|
||||
type InstanceConf struct {
|
||||
Statuses StatusesConf `json:"statuses"`
|
||||
}
|
||||
|
||||
type StatusesConf struct {
|
||||
MaxCharacters int64 `json:"max_characters"`
|
||||
MaxMediaAttachments int64 `json:"max_media_attachments"`
|
||||
}
|
||||
|
||||
type PollLimit struct {
|
||||
MaxExpiration int64 `json:"max_expiration"`
|
||||
MaxOptionChars int64 `json:"max_option_chars"`
|
||||
MaxOptions int64 `json:"max_options"`
|
||||
MinExpiration int64 `json:"min_expiration"`
|
||||
}
|
||||
|
||||
// For about instance if this Pleroma
|
||||
type PleromaInstance struct {
|
||||
MetaData MetaData `json:"metadata"`
|
||||
|
@ -35,6 +60,12 @@ type PleromaInstance struct {
|
|||
|
||||
type MetaData struct {
|
||||
Features *[]string `json:"features"`
|
||||
Federation FederationInfo `json:"federation"`
|
||||
}
|
||||
|
||||
type FederationInfo struct {
|
||||
Enabled bool `json:enabled"`
|
||||
MrfPolicies []string `json:mrf_policies"`
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -122,6 +122,7 @@ type AboutData struct {
|
|||
type AboutInstanceData struct {
|
||||
*CommonData
|
||||
Instance *mastodon.Instance
|
||||
Peers []string
|
||||
}
|
||||
|
||||
type EmojiData struct {
|
||||
|
|
|
@ -743,9 +743,15 @@ func (s *service) AboutInstance(c *client) (err error) {
|
|||
if err != nil {
|
||||
return
|
||||
}
|
||||
peers, err := c.GetInstancePeers(c.ctx)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
data := &renderer.AboutInstanceData{
|
||||
CommonData: cdata,
|
||||
Instance: instance,
|
||||
Peers: peers,
|
||||
}
|
||||
return s.renderer.Render(c.rctx, c.w, renderer.AboutInstance, data)
|
||||
}
|
||||
|
|
|
@ -6,6 +6,19 @@
|
|||
<p>
|
||||
{{.Instance.Description}}
|
||||
</p>
|
||||
<p>
|
||||
{{Raw .Instance.ShortDescription}}
|
||||
</p>
|
||||
{{if .Instance.Rules}}
|
||||
<p>
|
||||
<details>
|
||||
<summary>Rules</summary>
|
||||
{{range .Instance.Rules}}
|
||||
{{.id}}. {{.text}}<br><br>
|
||||
{{end}}
|
||||
</details>
|
||||
</p>
|
||||
{{end}}
|
||||
<p>
|
||||
<details>
|
||||
<summary>Logo instance</summary>
|
||||
|
@ -15,6 +28,9 @@
|
|||
</div>
|
||||
|
||||
<div class="page-title"> Contact E-mail: {{.Instance.EMail}} </div>
|
||||
{{if .Instance.ContactAccount}}
|
||||
<div class="page-title"> Contact account: {{.Instance.ContactAccount.Acct}} </div>
|
||||
{{end}}
|
||||
|
||||
{{if .Instance.Stats}}
|
||||
<div class="page-title"> Statistics: </div>
|
||||
|
@ -36,6 +52,39 @@
|
|||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="page-title"> Limits: </div>
|
||||
{{if .Instance.Configuration}}
|
||||
Max status characters: {{.Instance.Configuration.Statuses.MaxCharacters}}<br>
|
||||
Max media attachments: {{.Instance.Configuration.Statuses.MaxMediaAttachments}}<br>
|
||||
{{else}}
|
||||
Max status characters: {{.Instance.MaxTootChars}}<br>
|
||||
Max media attachments: {{.Instance.MaxMediaAttachments}}<br>
|
||||
Max size attachment: {{.Instance.UploadLimit}} bytes<br>
|
||||
{{end}}
|
||||
{{if .Instance.PollLimits}}
|
||||
Max poll options: {{.Instance.PollLimits.MaxOptions}}<br>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page-title"> Federation info: </div>
|
||||
<div>
|
||||
{{if .Instance.Pleroma}}
|
||||
<div class="federation-enabled"> Federation enabled: {{.Instance.Pleroma.MetaData.Federation.Enabled}} </div>
|
||||
<div class="mrf-policies"> MRF Policies </div>
|
||||
{{range .Instance.Pleroma.MetaData.Federation.MrfPolicies}}
|
||||
{{.}}<br>
|
||||
{{end}}
|
||||
{{end}}
|
||||
<details>
|
||||
<summary>Current peers ({{.Instance.Stats.DomainCount}})</summary>
|
||||
{{range .Peers}}
|
||||
{{.}}<br>
|
||||
{{end}}
|
||||
</details>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="page-title"> Version: {{.Instance.Version}} </div>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue