the images could be generated from the dolly svg but that would probably require bringing in a large dependency like inkscape and wouldn't bring huge benifits imo (&& just sticking it in tree was mentioned as best in the discord)
+3
appview/pages/templates/layouts/base.html
+3
appview/pages/templates/layouts/base.html
···
14
<link rel="preconnect" href="https://avatar.tangled.sh" />
15
<link rel="preconnect" href="https://camo.tangled.sh" />
16
17
+
<!-- pwa manifest -->
18
+
<link rel="manifest" href="/pwa-manifest.json" />
19
+
20
<!-- preload main font -->
21
<link rel="preload" href="/static/fonts/InterVariable.woff2" as="font" type="font/woff2" crossorigin />
22
+1
appview/pages/templates/user/completeSignup.html
+1
appview/pages/templates/user/completeSignup.html
+1
appview/pages/templates/user/login.html
+1
appview/pages/templates/user/login.html
···
8
<meta property="og:url" content="https://tangled.org/login" />
9
<meta property="og:description" content="login to for tangled" />
10
<script src="/static/htmx.min.js"></script>
11
<link rel="stylesheet" href="/static/tw.css?{{ cssContentHash }}" type="text/css" />
12
<title>login · tangled</title>
13
</head>
···
8
<meta property="og:url" content="https://tangled.org/login" />
9
<meta property="og:description" content="login to for tangled" />
10
<script src="/static/htmx.min.js"></script>
11
+
<link rel="manifest" href="/pwa-manifest.json" />
12
<link rel="stylesheet" href="/static/tw.css?{{ cssContentHash }}" type="text/css" />
13
<title>login · tangled</title>
14
</head>
+1
appview/pages/templates/user/signup.html
+1
appview/pages/templates/user/signup.html
···
8
<meta property="og:url" content="https://tangled.org/signup" />
9
<meta property="og:description" content="sign up for tangled" />
10
<script src="/static/htmx.min.js"></script>
11
<link rel="stylesheet" href="/static/tw.css?{{ cssContentHash }}" type="text/css" />
12
<title>sign up · tangled</title>
13
···
8
<meta property="og:url" content="https://tangled.org/signup" />
9
<meta property="og:description" content="sign up for tangled" />
10
<script src="/static/htmx.min.js"></script>
11
+
<link rel="manifest" href="/pwa-manifest.json" />
12
<link rel="stylesheet" href="/static/tw.css?{{ cssContentHash }}" type="text/css" />
13
<title>sign up · tangled</title>
14
+1
appview/state/router.go
+1
appview/state/router.go
+55
appview/state/state.go
+55
appview/state/state.go
···
198
s.pages.Favicon(w)
199
}
200
201
+
// https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Manifest
202
+
const manifestJson = `{
203
+
"name": "tangled",
204
+
"description": "tightly-knit social coding.",
205
+
"icons": [
206
+
{
207
+
"src": "/favicon.svg",
208
+
"type": "image/xml+svg",
209
+
"sizes": "any",
210
+
"purpose": "any"
211
+
},
212
+
{
213
+
"src": "/static/pwa-512.png",
214
+
"type": "image/png",
215
+
"sizes": "512x512"
216
+
},
217
+
{
218
+
"src": "/static/pwa-192.png",
219
+
"type": "image/png",
220
+
"sizes": "192x192"
221
+
},
222
+
{
223
+
"src": "/static/pwa-144.png",
224
+
"type": "image/png",
225
+
"sizes": "144x144"
226
+
},
227
+
{
228
+
"src": "/static/pwa-96.png",
229
+
"type": "image/png",
230
+
"sizes": "96x96"
231
+
},
232
+
{
233
+
"src": "/static/pwa-72.png",
234
+
"type": "image/png",
235
+
"sizes": "72x72"
236
+
},
237
+
{
238
+
"src": "/static/pwa-48.png",
239
+
"type": "image/png",
240
+
"sizes": "48x48"
241
+
}
242
+
],
243
+
"start_url": "/",
244
+
"id": "org.tangled",
245
+
246
+
"display": "standalone",
247
+
"background_color": "#111827",
248
+
"theme_color": "#111827"
249
+
}`
250
+
251
+
func (p *State) PWAManifest(w http.ResponseWriter, r *http.Request) {
252
+
w.Header().Set("Content-Type", "application/json")
253
+
w.Write([]byte(manifestJson))
254
+
}
255
+
256
func (s *State) TermsOfService(w http.ResponseWriter, r *http.Request) {
257
user := s.oauth.GetUser(r)
258
s.pages.TermsOfService(w, pages.TermsOfServiceParams{
appview/pages/pwa-icons/pwa-144.png
appview/pages/pwa-icons/pwa-144.png
This is a binary file and will not be displayed.
appview/pages/pwa-icons/pwa-192.png
appview/pages/pwa-icons/pwa-192.png
This is a binary file and will not be displayed.
appview/pages/pwa-icons/pwa-48.png
appview/pages/pwa-icons/pwa-48.png
This is a binary file and will not be displayed.
appview/pages/pwa-icons/pwa-512.png
appview/pages/pwa-icons/pwa-512.png
This is a binary file and will not be displayed.
appview/pages/pwa-icons/pwa-72.png
appview/pages/pwa-icons/pwa-72.png
This is a binary file and will not be displayed.
appview/pages/pwa-icons/pwa-96.png
appview/pages/pwa-icons/pwa-96.png
This is a binary file and will not be displayed.
+2
flake.nix
+2
flake.nix
···
167
mkdir -p appview/pages/static
168
# no preserve is needed because watch-tailwind will want to be able to overwrite
169
cp -fr --no-preserve=ownership ${packages'.appview-static-files}/* appview/pages/static
170
export TANGLED_OAUTH_JWKS="$(${packages'.genjwks}/bin/genjwks)"
171
'';
172
env.CGO_ENABLED = 1;
···
200
program = toString (pkgs.writeShellScript "watch-appview" ''
201
echo "copying static files to appview/pages/static..."
202
${pkgs.coreutils}/bin/cp -fr --no-preserve=ownership ${packages'.appview-static-files}/* appview/pages/static
203
${air-watcher "appview" ""}/bin/run
204
'');
205
};
···
167
mkdir -p appview/pages/static
168
# no preserve is needed because watch-tailwind will want to be able to overwrite
169
cp -fr --no-preserve=ownership ${packages'.appview-static-files}/* appview/pages/static
170
+
cp -fr appview/pages/pwa-icons/* appview/pages/static
171
export TANGLED_OAUTH_JWKS="$(${packages'.genjwks}/bin/genjwks)"
172
'';
173
env.CGO_ENABLED = 1;
···
201
program = toString (pkgs.writeShellScript "watch-appview" ''
202
echo "copying static files to appview/pages/static..."
203
${pkgs.coreutils}/bin/cp -fr --no-preserve=ownership ${packages'.appview-static-files}/* appview/pages/static
204
+
${pkgs.coreutils}/bin/cp -fr appview/pages/pwa-icons/* appview/pages/static
205
${air-watcher "appview" ""}/bin/run
206
'');
207
};
History
1 round
0 comments
vielle.dev
submitted
#0
2 commits
expand
collapse
appview/state,appview/pages/templates: add installable pwa support for tangled
Signed-off-by: afterlifepro <vielle.dev@proton.me>
appview/pages: add png icons to pwa manifest
this is required since firefox apparently doesn't
support png icons (in my testing)
flake.nix change just copies the files into the static
directory since its untracked.
Signed-off-by: afterlifepro <vielle.dev@proton.me>
expand 0 comments
closed without merging