-
Notifications
You must be signed in to change notification settings - Fork 0
/
_app.tsx
104 lines (97 loc) · 2.89 KB
/
_app.tsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import "../styles/reset.css";
import "../styles/globals.css";
import { InjectedConnector, StarknetConfig } from "@starknet-react/core";
import type { AppProps } from "next/app";
import dynamic from "next/dynamic";
import Head from "next/head";
import { ReactElement, useMemo } from "react";
import { Provider as ReactReduxProvider } from "react-redux";
import { Provider as StrkProvider } from "starknet";
import { store, useStoreDispatch } from "../store";
// import { useStarknetNetwork } from "../utils";
const StarknetStatusComponent = () => {
const dispatch = useStoreDispatch();
// const network = useStarknetNetwork();
// console.log({network});
// useEffect(() => {
// dispatch.setNetwork(network || "");
// }, [dispatch, network]);
return <></>;
};
function StarknetApp({ children }: { children: ReactElement }) {
const connectors = useMemo(
() => [
new InjectedConnector({ options: { id: "argentX" } }),
new InjectedConnector({ options: { id: "braavos" } }),
],
[]
);
return (
<StarknetConfig
connectors={connectors}
defaultProvider={
new StrkProvider({
// sequencer: {
// baseUrl:
// process.env.NEXT_PUBLIC_STARKNET_PROVIDER ||
// "http://alpha4.starknet.io",
// feederGatewayUrl: "feeder_gateway",
// gatewayUrl: "gateway",
// },
rpc: {
nodeUrl: "https://starknet.blockpi.network/v1/rpc/public",
},
})
}
>
{children}
</StarknetConfig>
);
}
const DynamicStarknetApp = dynamic(() => Promise.resolve(StarknetApp), {
ssr: false,
});
function App({ Component, pageProps }: AppProps) {
return (
<ReactReduxProvider store={store}>
<Head>
<title>Pxls</title>
<meta property="og:url" content={process.env.NEXT_PUBLIC_URL} />
<meta property="og:title" content="Pxls" />
<meta
property="og:description"
content="Four hundred pxls, one unique collaborative rtwrk every day"
/>
<meta
property="og:image"
content={`${process.env.NEXT_PUBLIC_URL}/social_sharing.jpg`}
/>
<meta property="og:image:width" content="1200" />
<meta property="og:image:height" content="630" />
<link
rel="apple-touch-icon"
sizes="180x180"
href="/apple-touch-icon.png"
/>
<link
rel="icon"
type="image/png"
sizes="32x32"
href="/favicon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="/favicon-16x16.png"
/>
<link rel="manifest" href="/site.webmanifest" />
</Head>
<StarknetStatusComponent />
<DynamicStarknetApp>
<Component {...pageProps} />
</DynamicStarknetApp>
</ReactReduxProvider>
);
}
export default App;