···11+export PATH := "./node_modules/.bin:" + env_var('PATH')
22+33+# lots of just -> yarn, but this lets us chain yarn command deps
44+55+[group('dist')]
66+dist-build-web: intl build-web
77+88+[group('dist')]
99+dist-build-android-sideload: intl build-android-sideload
1010+1111+[group('build')]
1212+intl:
1313+ yarn intl:build
1414+1515+[group('build')]
1616+prebuild-android:
1717+ expo prebuild -p android
1818+1919+[group('build')]
2020+build-web: && postbuild-web
2121+ yarn build-web
2222+2323+[group('build')]
2424+build-android-sideload: prebuild-android
2525+ eas build --local --platform android --profile sideload-android
2626+2727+[group('build')]
2828+postbuild-web:
2929+ # build system outputs some srcs and hrefs like src="static/"
3030+ # need to rewrite to be src="/static/" to handle non root pages
3131+ sed -i 's/\(src\|href\)="static/\1="\/static/g' web-build/index.html
3232+3333+ # we need to copy the static iframe html to support youtube embeds
3434+ cp -r bskyweb/static/iframe/ web-build/iframe
3535+3636+ # copy our static pages over!
3737+ cp -r deer-static-about web-build/about
3838+3939+[group('dev')]
4040+dev-android-setup: prebuild-android
4141+ yarn android
4242+4343+[group('dev')]
4444+dev-web:
4545+ yarn web
4646+4747+[group('dev')]
4848+dev-web-functions: build-web
4949+ wrangler pages dev ./web-build
5050+5151+[group('lint')]
5252+typecheck:
5353+ yarn typecheck
5454+
+4-11
pages_build.sh
···11#!/usr/bin/env bash
2233-yarn intl:build
44-yarn build-web
33+mkdir ./bin
44+curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to ./bin --tag 1.40.0
55+export PATH="$PATH:$(pwd)/.bin"
5666-# build system outputs some srcs and hrefs like src="static/"
77-# need to rewrite to be src="/static/" to handle non root pages
88-sed -i 's/\(src\|href\)="static/\1="\/static/g' web-build/index.html
99-1010-# we need to copy the static iframe html to support youtube embeds
1111-cp -r bskyweb/static/iframe/ web-build/iframe
1212-1313-# copy our static pages over!
1414-cp -r deer-static-about web-build/about
77+./bin/just dist-build-web
+15-49
web/index.html
···22<html>
33 <head>
44 <meta charset="utf-8">
55- <meta name="theme-color">
55+ <meta name="theme-color" content="#4b9b6c">
66 <!--
77 This viewport works for phones with notches.
88 It's optimized for gestures by disabling global zoom.
···9292 </head>
93939494 <body>
9595- <!--
9696- A generic no script element with a reload button and a message.
9797- Feel free to customize this however you'd like.
9898- -->
9999- <noscript>
100100- <form
101101- action=""
102102- style="
103103- background-color: #fff;
104104- position: fixed;
105105- top: 0;
106106- left: 0;
107107- right: 0;
108108- bottom: 0;
109109- z-index: 9999;
110110- "
111111- >
112112- <div
113113- style="
114114- font-size: 18px;
115115- font-family: Helvetica, sans-serif;
116116- line-height: 24px;
117117- margin: 10%;
118118- width: 80%;
119119- "
120120- >
121121- <p lang="en">Oh no! It looks like JavaScript is not enabled in your browser.</p>
122122- <p lang="en" style="margin: 20px 0;">
123123- <button
124124- type="submit"
125125- style="
126126- background-color: #4630eb;
127127- border-radius: 100px;
128128- border: none;
129129- box-shadow: none;
130130- color: #fff;
131131- cursor: pointer;
132132- font-weight: bold;
133133- line-height: 20px;
134134- padding: 6px 16px;
135135- "
136136- >
137137- Reload
138138- </button>
139139- </p>
140140- </div>
141141- </form>
142142- </noscript>
9595+ <noscript style="
9696+ background-color: #fff;
9797+ position: fixed;
9898+ top: 0;
9999+ left: 0;
100100+ right: 0;
101101+ bottom: 0;
102102+ z-index: 9999;
103103+ margin: 1em;
104104+ ">
105105+ <h1 lang="en">JavaScript Required</h1>
106106+ <p lang="en">This is a heavily interactive web application, and JavaScript is required. Simple HTML interfaces are possible, but that is not what this is.
107107+ <p lang="en">Learn more about Bluesky at <a href="https://bsky.social">bsky.social</a> and <a href="https://atproto.com">atproto.com</a>, or this fork at <a href="https://github.com/a-viv-a/deer-social">github.com/a-viv-a/deer.social</a>.
108108+ </noscript>
143109144110 <!-- The root element for your Expo app. -->
145111 <div id="root">