mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[frontend] Redesign / color scheme (#688)
* fix css indentation * profile styling update * update status styling to match profile * empty header fix * generate random avatars for thread views * appease the linter gods * upgrade deps * turn profile accent into border + $bg background * upgrade deps * small accessibility tweaks * general redesign, clearer css variables * configure instance.Version for testrig * footer styling * add sublte borders to box-shadow for separation * accessible blues, other tweaks * background bg_accent * fix viewport * change client entry buttons to links * cw button styling * status display+username spacing * small thread view tweaks * color tweaks for accessible contrasts * use Noto Sans * biiit less dark bg * .info contrast, border Co-authored-by: f0x <f0x@cthu.lu>
This commit is contained in:
@@ -1,19 +1,21 @@
|
||||
<!-- footer.tmpl -->
|
||||
</div>
|
||||
<footer>
|
||||
<div id="version">
|
||||
GoToSocial: <span class="accent">{{.instance.Version}}</span><br>
|
||||
<a href="https://github.com/superseriousbusiness/gotosocial">Source Code</a>
|
||||
</div>
|
||||
<div id="contact">
|
||||
{{ if .instance.ContactAccount }}
|
||||
Contact: <a href="{{.instance.ContactAccount.URL}}" class="nounderline">{{.instance.ContactAccount.Username}}</a><br>
|
||||
{{ end }}
|
||||
</div>
|
||||
<div id="email">
|
||||
{{ if .instance.Email }}
|
||||
Email: <a href="mailto:{{.instance.Email}}" class="nounderline">{{.instance.Email}}</a><br>
|
||||
{{ end }}
|
||||
<a name="Source code" href="https://github.com/superseriousbusiness/gotosocial">
|
||||
GoToSocial <span class="accent">{{.instance.Version}}</span>
|
||||
</a>
|
||||
</div>
|
||||
{{ if .instance.ContactAccount }}
|
||||
<div id="contact">
|
||||
Contact: <a href="{{.instance.ContactAccount.URL}}" class="nounderline">{{.instance.ContactAccount.Username}}</a><br>
|
||||
</div>
|
||||
{{ end }}
|
||||
{{ if .instance.Email }}
|
||||
<div id="email">
|
||||
Email: <a href="mailto:{{.instance.Email}}" class="nounderline">{{.instance.Email}}</a><br>
|
||||
</div>
|
||||
{{ end }}
|
||||
</footer>
|
||||
</div>
|
||||
{{ if .javascript }}
|
||||
|
@@ -8,7 +8,6 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="og:title" content="{{.instance.Title}} - GoToSocial">
|
||||
<meta name="og:description" content="{{.instance.ShortDescription}}">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="stylesheet" href="/assets/dist/_colors.css">
|
||||
<link rel="stylesheet" href="/assets/dist/base.css">
|
||||
{{range .stylesheets}}<link rel="stylesheet" href="{{.}}">
|
||||
@@ -18,14 +17,14 @@
|
||||
</head>
|
||||
<body>
|
||||
<div class="page">
|
||||
<a aria-label="instance homepage" href="/" class="nounderline header">
|
||||
<header>
|
||||
<header>
|
||||
<a aria-label="instance homepage" href="/" class="nounderline header">
|
||||
<img src="/assets/logo.png" alt="Instance Logo"/>
|
||||
<div>
|
||||
<h1>
|
||||
{{.instance.Title}}
|
||||
</h1>
|
||||
</div>
|
||||
<div></div>
|
||||
</header>
|
||||
</a>
|
||||
</a>
|
||||
</header>
|
||||
<div class="content">
|
||||
|
@@ -1,19 +1,19 @@
|
||||
{{ template "header.tmpl" .}}
|
||||
<section class="excerpt_top">
|
||||
home to <span class="count">{{.instance.Stats.user_count}}</span> users
|
||||
who posted <span class="count">{{.instance.Stats.status_count}}</span> statuses,
|
||||
federating with <span class="count">{{.instance.Stats.domain_count}}</span> other instances.
|
||||
</section>
|
||||
<main class="lightgray">
|
||||
|
||||
<section>
|
||||
<h1>Home to <span class="count">{{.instance.Stats.user_count}}</span> users
|
||||
who posted <span class="count">{{.instance.Stats.status_count}}</span> statuses,
|
||||
federating with <span class="count">{{.instance.Stats.domain_count}}</span> other instances.</h1>
|
||||
<div className="short-description">
|
||||
{{.instance.ShortDescription |noescape}}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="apps">
|
||||
<p>
|
||||
GoToSocial does not provide its own frontend, but implements the Mastodon client API.
|
||||
You can use this server through a variety of clients:
|
||||
GoToSocial does not provide its own webclient, but implements the Mastodon client API.
|
||||
You can use this server through a variety of other clients:
|
||||
</p>
|
||||
<div class="applist">
|
||||
<div class="entry">
|
||||
@@ -25,7 +25,7 @@
|
||||
<div>
|
||||
<h2>Pinafore</h2>
|
||||
<p>Pinafore is a web client designed for speed and simplicity.</p>
|
||||
<a class="button" href="https://pinafore.social/settings/instances/add">Use Pinafore</a>
|
||||
<a href="https://pinafore.social/settings/instances/add">Use Pinafore</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="entry">
|
||||
@@ -33,7 +33,7 @@
|
||||
<div>
|
||||
<h2>Tusky</h2>
|
||||
<p>Tusky is a lightweight mobile client for Android</p>
|
||||
<a class="button" href="https://tusky.app">Get Tusky</a>
|
||||
<a href="https://tusky.app">Get Tusky</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -10,9 +10,10 @@
|
||||
{{ end }}
|
||||
</div>
|
||||
<div class="basic">
|
||||
<div id="profile-basic-filler2"></div>
|
||||
<a href="{{.account.Avatar}}" class="avatar"><img src="{{.account.Avatar}}" alt="{{if .account.DisplayName}}{{.account.DisplayName}}{{else}}{{.account.Username}}{{end}}'s avatar"></a>
|
||||
<a href="{{.account.URL}}" class="displayname">{{if .account.DisplayName}}{{.account.DisplayName}}{{else}}{{.account.Username}}{{end}}</a>
|
||||
<a href="{{.account.URL}}" class="username">@{{.account.Username}}</a>
|
||||
<div class="displayname">{{if .account.DisplayName}}{{.account.DisplayName}}{{else}}{{.account.Username}}{{end}}</div>
|
||||
<div class="username">@{{.account.Username}}@{{.instance.Title}}</div>
|
||||
</div>
|
||||
<div class="detailed">
|
||||
<div class="bio">
|
||||
|
@@ -1,29 +1,31 @@
|
||||
<a href="{{.Account.URL}}" class="avatar"><img src="{{.Account.Avatar}}" alt=""></a>
|
||||
<a href="{{.Account.URL}}" class="displayname">{{if .Account.DisplayName}}{{.Account.DisplayName}}{{else}}{{.Account.Username}}{{end}}</a>
|
||||
<a href="{{.Account.URL}}" class="username">@{{.Account.Username}}</a>
|
||||
<div class="text">
|
||||
{{if .SpoilerText}}
|
||||
<input class="spoiler" id="hideSpoiler-{{.ID}}" type="checkbox" style="display: none" aria-hidden="true" checked="true" />
|
||||
<div class="spoiler">
|
||||
<span>{{.SpoilerText}}</span><label class="spoiler-label" for="hideSpoiler-{{.ID}}">Toggle visibility</label>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="content">
|
||||
{{.Content |noescape}}
|
||||
</div>
|
||||
</div>
|
||||
{{with .MediaAttachments}}
|
||||
<div class="media {{(len .) | oddOrEven }}{{if eq (len .) 1}} single{{end}}{{if eq (len .) 2}} double{{end}}">
|
||||
{{range .}}
|
||||
<a href="{{.URL}}" target="_blank" title="{{.Description}}">
|
||||
{{if not .Description}}
|
||||
<div class="no-image-desc" aria-hidden="true" ><i class="fa fa-info-circle"></i><span>Missing image description</span></div>
|
||||
{{end}}
|
||||
<img src="{{.PreviewURL}}" alt="{{.Description}}"/>
|
||||
</a>
|
||||
<div class="contentgrid">
|
||||
<a href="{{.Account.URL}}" class="avatar"><img src="{{.Account.Avatar}}" alt=""></a>
|
||||
<a href="{{.Account.URL}}" class="displayname">{{if .Account.DisplayName}}{{.Account.DisplayName}}{{else}}{{.Account.Username}}{{end}}</a>
|
||||
<a href="{{.Account.URL}}" class="username">@{{.Account.Username}}</a>
|
||||
<div class="text">
|
||||
{{if .SpoilerText}}
|
||||
<input class="spoiler" id="hideSpoiler-{{.ID}}" type="checkbox" style="display: none" aria-hidden="true" checked="true" />
|
||||
<div class="spoiler">
|
||||
<span>{{.SpoilerText}}</span><label class="button spoiler-label" for="hideSpoiler-{{.ID}}">Toggle visibility</label>
|
||||
</div>
|
||||
{{end}}
|
||||
<div class="content">
|
||||
{{.Content |noescape}}
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
{{with .MediaAttachments}}
|
||||
<div class="media {{(len .) | oddOrEven }}{{if eq (len .) 1}} single{{end}}{{if eq (len .) 2}} double{{end}}">
|
||||
{{range .}}
|
||||
<a href="{{.URL}}" target="_blank" title="{{.Description}}">
|
||||
{{if not .Description}}
|
||||
<div class="no-image-desc" aria-hidden="true" ><i class="fa fa-info-circle"></i><span>Missing image description</span></div>
|
||||
{{end}}
|
||||
<img src="{{.PreviewURL}}" alt="{{.Description}}"/>
|
||||
</a>
|
||||
{{end}}
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
<div class="info">
|
||||
<div id="date">{{.CreatedAt | timestamp}}</div>
|
||||
<div class="stats">
|
||||
|
Reference in New Issue
Block a user