mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-10-29 17:02:25 -05:00
[frontend] Restructure Frontend Sources (#634)
* 🐸restructure frontend stuff, include admin and future user panel in main repo, properly deduplicate bundles for css+js across uses
* rename bundled to dist, caught by gitignore
* re-include status.css for profile template
* default to localhost
* serve frontend panels
* add todo message for abstraction
* refactor oauth registration flow
* oauth restructure
* update footer template
* change panel routes
* remove superfluous css imports
* write bundle to disk from test server, use forked budo-express
* wrap all page content in container
for robustness with addons etc injection other elements in body
* update documentation, goreleaser, Dockerfile
* update template meta tags
* add AGPL-3.0+ license header everywhere
* only attach update listener on EventEmitter
* cleaner config for various frontend bundles
* fix bundler script paths
* Merge commit 'd191931932'
* fix up dockerfile, goreleaser
* go mod tidy
* add uglifyify
* move status hide/show js to frontend bundle
* fix stylesheet color( func regressions
* update contributing docs for new build path
* update goreleaser + docker building
* resolve dependency paths properly
* update package name
* use api errorhandler
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
This commit is contained in:
parent
f30a581268
commit
b43f9ceca9
47 changed files with 8061 additions and 1918 deletions
|
|
@ -1,19 +1,25 @@
|
|||
<!-- footer.tmpl -->
|
||||
<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 }}
|
||||
</div>
|
||||
</footer>
|
||||
<!-- footer.tmpl -->
|
||||
<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 }}
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
{{ if .javascript }}
|
||||
{{ range .javascript }}
|
||||
<script src="{{.}}"></script>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
</body>
|
||||
</html>
|
||||
5
web/template/frontend.tmpl
Normal file
5
web/template/frontend.tmpl
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{{ template "header.tmpl" .}}
|
||||
<main class="lightgray">
|
||||
<div id="root"></div>
|
||||
</main>
|
||||
{{ template "footer.tmpl" .}}
|
||||
|
|
@ -1,29 +1,31 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<!-- Header tmpl -->
|
||||
<!-- header.tmpl -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="og:title" content="GoToSocial Testing Instance">
|
||||
<meta name="og:description" content="">
|
||||
<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/base.css">
|
||||
<link rel="stylesheet" href="/assets/dist/_colors.css">
|
||||
<link rel="stylesheet" href="/assets/dist/base.css">
|
||||
{{range .stylesheets}}<link rel="stylesheet" href="{{.}}">
|
||||
{{end}}
|
||||
<link rel="shortcut icon" href="/assets/logo.png" type="image/png">
|
||||
<title>{{.instance.Title}} - GoToSocial</title>
|
||||
</head>
|
||||
<body>
|
||||
<a href="/" class="nounderline">
|
||||
<header>
|
||||
<img src="/assets/logo.png" alt="Instance Logo"/>
|
||||
<div>
|
||||
<h1>
|
||||
{{.instance.Title}}
|
||||
</h1>
|
||||
</div>
|
||||
<div></div>
|
||||
</header>
|
||||
</a>
|
||||
<div class="page">
|
||||
<a href="/" class="nounderline">
|
||||
<header>
|
||||
<img src="/assets/logo.png" alt="Instance Logo"/>
|
||||
<div>
|
||||
<h1>
|
||||
{{.instance.Title}}
|
||||
</h1>
|
||||
</div>
|
||||
<div></div>
|
||||
</header>
|
||||
</a>
|
||||
|
|
|
|||
|
|
@ -31,19 +31,4 @@
|
|||
{{end}}
|
||||
</div>
|
||||
</main>
|
||||
<script>
|
||||
Array.from(document.getElementsByClassName("spoiler-label")).forEach((label) => {
|
||||
let checkbox = document.getElementById(label.htmlFor);
|
||||
function update() {
|
||||
if(checkbox.checked) {
|
||||
label.innerHTML = "Show more";
|
||||
} else {
|
||||
label.innerHTML = "Show less";
|
||||
}
|
||||
}
|
||||
update();
|
||||
|
||||
label.addEventListener("click", () => {setTimeout(update, 1)});
|
||||
});
|
||||
</script>
|
||||
{{ template "footer.tmpl" .}}
|
||||
|
|
|
|||
|
|
@ -16,19 +16,4 @@
|
|||
{{end}}
|
||||
</div>
|
||||
</main>
|
||||
<script>
|
||||
Array.from(document.getElementsByClassName("spoiler-label")).forEach((label) => {
|
||||
let checkbox = document.getElementById(label.htmlFor);
|
||||
function update() {
|
||||
if(checkbox.checked) {
|
||||
label.innerHTML = "Show more";
|
||||
} else {
|
||||
label.innerHTML = "Show less";
|
||||
}
|
||||
}
|
||||
update();
|
||||
|
||||
label.addEventListener("click", () => {setTimeout(update, 1)});
|
||||
});
|
||||
</script>
|
||||
{{ template "footer.tmpl" .}}
|
||||
Loading…
Add table
Add a link
Reference in a new issue