Skip to content

Commit 55f1a7a

Browse files
committed
serve astro assets directly through nginx and optimize script loading order
1 parent 76bc86a commit 55f1a7a

7 files changed

Lines changed: 47 additions & 35 deletions

File tree

astro-app/astro.config.mjs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ import node from "@astrojs/node";
99
export default defineConfig({
1010
base: "/xnode-auth",
1111

12+
build: {
13+
client: "./xnode-auth",
14+
},
15+
1216
vite: {
1317
plugins: [tailwindcss()],
1418
ssr: {
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
<appkit-button balance="hide"></appkit-button>
2-
<script>
3-
import "../scripts/appkit";
4-
</script>
2+
<script src="../scripts/appkit.ts"></script>

astro-app/src/components/Login.astro

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,6 @@ import Connect from "../components/Connect.astro";
5151
>
5252
</div>
5353
<script>
54-
import { wagmiAdapter } from "../scripts/appkit";
55-
import { getMessage } from "../lib/message";
56-
import { toXnodeAddress } from "../lib/xnode-address";
57-
import { appkitStore } from "../store/appkit";
58-
import { signMessage } from "@wagmi/core";
59-
6054
function setRedirect(redirect: string) {
6155
const node = document.getElementById("redirect");
6256
if (node) {
@@ -78,6 +72,15 @@ import Connect from "../components/Connect.astro";
7872
updateDisplay();
7973
}
8074

75+
const urlParams = new URLSearchParams(window.location.search);
76+
77+
const redirect = urlParams.get("redirect") ?? window.location.origin;
78+
setRedirect(redirect);
79+
80+
const rejected = urlParams.get("rejected");
81+
setError(rejected ?? "");
82+
83+
import { appkitStore } from "../store/appkit";
8184
function updateDisplay() {
8285
// Signing indicator
8386
{
@@ -98,21 +101,17 @@ import Connect from "../components/Connect.astro";
98101
}
99102
}
100103

101-
const urlParams = new URLSearchParams(window.location.search);
102-
103-
const redirect = urlParams.get("redirect") ?? window.location.origin;
104-
setRedirect(redirect);
105-
106-
const rejected = urlParams.get("rejected");
107-
setError(rejected ?? "");
108-
109104
appkitStore.account.subscribe((account) => {
110105
if (!account) {
111106
signingState = false;
112107
}
113108
updateDisplay();
114109
});
115110

111+
import { wagmiAdapter } from "../scripts/wagmi";
112+
import { getMessage } from "../lib/message";
113+
import { toXnodeAddress } from "../lib/xnode-address";
114+
import { signMessage } from "@wagmi/core";
116115
document
117116
.getElementById("authenticate")
118117
?.addEventListener("click", async () => {
@@ -164,8 +163,6 @@ import Connect from "../components/Connect.astro";
164163
setSigning(false);
165164
}
166165
});
167-
</script>
168-
<script>
169-
import sdk from "@farcaster/miniapp-sdk";
170-
sdk.actions.ready();
166+
167+
import "../scripts/miniapp";
171168
</script>

astro-app/src/scripts/appkit.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,8 @@
11
import { createAppKit } from "@reown/appkit";
22
import { mainnet } from "@reown/appkit/networks";
3-
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
4-
import { config } from "../lib/config";
53
import { appkitStore } from "../store/appkit";
64
import { isAddress } from "viem";
7-
import farcasterMiniApp from "@farcaster/miniapp-wagmi-connector";
8-
9-
const projectId = config.eth.projectid;
10-
11-
export const networks = [mainnet];
12-
13-
export const wagmiAdapter = new WagmiAdapter({
14-
projectId,
15-
networks,
16-
connectors: [farcasterMiniApp()],
17-
});
5+
import { projectId, wagmiAdapter } from "./wagmi";
186

197
const metadata = {
208
name: "Xnode Auth",

astro-app/src/scripts/miniapp.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
import sdk from "@farcaster/miniapp-sdk";
2+
sdk.actions.ready();

astro-app/src/scripts/wagmi.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { mainnet } from "@reown/appkit/networks";
2+
import { WagmiAdapter } from "@reown/appkit-adapter-wagmi";
3+
import { config } from "../lib/config";
4+
import farcasterMiniApp from "@farcaster/miniapp-wagmi-connector";
5+
6+
export const projectId = config.eth.projectid;
7+
8+
export const networks = [mainnet];
9+
10+
export const wagmiAdapter = new WagmiAdapter({
11+
projectId,
12+
networks,
13+
connectors: [farcasterMiniApp()],
14+
});

nix/nixos-module.nix

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,16 @@ in
332332
))
333333
{
334334
"${cfg.nginxConfig.subpath}" = {
335-
proxyPass = "http://127.0.0.1:${builtins.toString cfg.port}";
335+
root = "${xnode-auth}/share";
336+
};
337+
"${cfg.nginxConfig.subpath}/_astro" = {
338+
root = "${xnode-auth}/share";
339+
extraConfig = ''
340+
add_header Cache-Control "public, max-age=31536000, immutable";
341+
'';
342+
};
343+
"${cfg.nginxConfig.subpath}/api" = {
344+
proxyPass = "http://127.0.0.1:${builtins.toString cfg.port}${cfg.nginxConfig.subpath}/api";
336345
extraConfig = ''
337346
proxy_set_header Host $server_name;
338347
'';

0 commit comments

Comments
 (0)