create-near-app 6.0.0-beta.2 → 6.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (150) hide show
  1. package/dist/app.js +6 -11
  2. package/dist/make.js +44 -81
  3. package/dist/messages.js +31 -23
  4. package/dist/package-json.js +16 -16
  5. package/dist/tracking.js +1 -1
  6. package/dist/types.js +5 -4
  7. package/dist/user-input.js +81 -89
  8. package/package.json +1 -1
  9. package/templates/contracts/{rust → rs}/Cargo.toml +0 -3
  10. package/templates/contracts/{rust → rs}/README.md +14 -5
  11. package/templates/contracts/rs/build.sh +3 -0
  12. package/templates/contracts/rs/deploy.sh +2 -0
  13. package/templates/contracts/{rust → rs}/src/lib.rs +4 -6
  14. package/templates/contracts/rs/test-rs.sh +9 -0
  15. package/templates/contracts/rs/test-ts.sh +10 -0
  16. package/templates/contracts/{js → ts}/README.md +1 -0
  17. package/templates/contracts/ts/package.json +20 -0
  18. package/templates/frontend/next/.eslintrc.json +3 -0
  19. package/templates/frontend/next/README.md +36 -0
  20. package/templates/frontend/next/jsconfig.json +7 -0
  21. package/templates/frontend/next/next.config.js +6 -0
  22. package/templates/frontend/next/package.json +40 -0
  23. package/templates/frontend/next/public/near-logo.svg +43 -0
  24. package/templates/frontend/next/public/near.svg +1 -0
  25. package/templates/frontend/next/src/app/app.module.css +228 -0
  26. package/templates/frontend/next/src/app/globals.css +95 -0
  27. package/templates/frontend/next/src/app/hello-components/page.js +44 -0
  28. package/templates/frontend/next/src/app/hello-near/page.js +64 -0
  29. package/templates/frontend/next/src/app/layout.js +22 -0
  30. package/templates/frontend/next/src/app/page.js +37 -0
  31. package/templates/frontend/next/src/components/cards.js +46 -0
  32. package/templates/frontend/next/src/components/navigation.js +36 -0
  33. package/templates/frontend/next/src/components/vm-component.js +26 -0
  34. package/templates/frontend/next/src/config.js +21 -0
  35. package/templates/frontend/next/src/wallets/wallet-selector.js +128 -0
  36. package/templates/frontend/{gateway/src/data/web3.ts → next/src/wallets/web3-wallet.ts} +4 -7
  37. package/templates/frontend/vanilla/.babelrc +7 -0
  38. package/templates/frontend/vanilla/package.json +27 -13
  39. package/templates/frontend/vanilla/{assets → src/assets}/global.css +25 -56
  40. package/templates/frontend/vanilla/src/components.html +61 -0
  41. package/templates/frontend/vanilla/src/components.js +63 -0
  42. package/templates/frontend/vanilla/src/hello-near.html +80 -0
  43. package/templates/frontend/vanilla/src/hello.js +61 -0
  44. package/templates/frontend/vanilla/src/index.html +65 -0
  45. package/templates/frontend/vanilla/{near-wallet.js → src/near-wallet.js} +20 -18
  46. package/templates/frontend/vanilla/webpack.config.js +79 -0
  47. package/templates/{integration-tests/rust-tests → sandbox-tests/sandbox-rs}/Cargo.toml +5 -5
  48. package/templates/{integration-tests/js-tests → sandbox-tests/sandbox-ts}/package.json +6 -6
  49. package/templates/contracts/js/build.sh +0 -5
  50. package/templates/contracts/js/deploy.sh +0 -18
  51. package/templates/contracts/js/package.json +0 -19
  52. package/templates/contracts/rust/build.sh +0 -6
  53. package/templates/contracts/rust/deploy.sh +0 -18
  54. package/templates/frontend/gateway/.env +0 -1
  55. package/templates/frontend/gateway/.nvmrc +0 -1
  56. package/templates/frontend/gateway/.prettierrc +0 -6
  57. package/templates/frontend/gateway/next.config.js +0 -15
  58. package/templates/frontend/gateway/package.json +0 -74
  59. package/templates/frontend/gateway/public/apple-touch-icon.png +0 -0
  60. package/templates/frontend/gateway/public/bos-meta.png +0 -0
  61. package/templates/frontend/gateway/public/favicon.png +0 -0
  62. package/templates/frontend/gateway/public/fonts/FKGrotesk.woff2 +0 -0
  63. package/templates/frontend/gateway/public/fonts/Mona-Sans.woff2 +0 -0
  64. package/templates/frontend/gateway/public/logo192.png +0 -0
  65. package/templates/frontend/gateway/public/robots.txt +0 -3
  66. package/templates/frontend/gateway/public/site.webmanifest +0 -8
  67. package/templates/frontend/gateway/src/assets/images/near-icon.svg +0 -3
  68. package/templates/frontend/gateway/src/components/MetaTags.tsx +0 -22
  69. package/templates/frontend/gateway/src/components/component/ComponentWrapperPage.tsx +0 -27
  70. package/templates/frontend/gateway/src/components/layouts/DefaultLayout.tsx +0 -16
  71. package/templates/frontend/gateway/src/components/layouts/SimpleLayout.tsx +0 -9
  72. package/templates/frontend/gateway/src/components/lib/Button/Button.tsx +0 -379
  73. package/templates/frontend/gateway/src/components/lib/Button/index.tsx +0 -1
  74. package/templates/frontend/gateway/src/components/lib/Spinner/Spinner.tsx +0 -33
  75. package/templates/frontend/gateway/src/components/lib/Spinner/index.ts +0 -1
  76. package/templates/frontend/gateway/src/components/lib/Text/Text.tsx +0 -14
  77. package/templates/frontend/gateway/src/components/lib/Text/index.tsx +0 -1
  78. package/templates/frontend/gateway/src/components/lib/Toast/README.md +0 -83
  79. package/templates/frontend/gateway/src/components/lib/Toast/Toast.tsx +0 -25
  80. package/templates/frontend/gateway/src/components/lib/Toast/Toaster.tsx +0 -48
  81. package/templates/frontend/gateway/src/components/lib/Toast/api.ts +0 -6
  82. package/templates/frontend/gateway/src/components/lib/Toast/index.ts +0 -3
  83. package/templates/frontend/gateway/src/components/lib/Toast/store.ts +0 -83
  84. package/templates/frontend/gateway/src/components/lib/Toast/styles.ts +0 -126
  85. package/templates/frontend/gateway/src/components/navigation/Navigation.tsx +0 -23
  86. package/templates/frontend/gateway/src/components/navigation/UserDropdownMenu.tsx +0 -209
  87. package/templates/frontend/gateway/src/components/navigation/desktop/DesktopNavigation.tsx +0 -109
  88. package/templates/frontend/gateway/src/components/navigation/desktop/MainNavigationMenu.tsx +0 -170
  89. package/templates/frontend/gateway/src/components/navigation/icons/close.svg +0 -22
  90. package/templates/frontend/gateway/src/components/navigation/icons/near-icon.svg +0 -3
  91. package/templates/frontend/gateway/src/components/navigation/icons/near-logo.svg +0 -14
  92. package/templates/frontend/gateway/src/components/navigation/icons/return.svg +0 -29
  93. package/templates/frontend/gateway/src/components/navigation/icons/search.svg +0 -3
  94. package/templates/frontend/gateway/src/components/navigation/mobile/AccordionMenu.tsx +0 -141
  95. package/templates/frontend/gateway/src/components/navigation/mobile/Menu.tsx +0 -86
  96. package/templates/frontend/gateway/src/components/navigation/mobile/MobileNavigation.tsx +0 -131
  97. package/templates/frontend/gateway/src/components/navigation/navigation-categories.ts +0 -75
  98. package/templates/frontend/gateway/src/components/vm/VmCommitButton.tsx +0 -20
  99. package/templates/frontend/gateway/src/components/vm/VmComponent.tsx +0 -29
  100. package/templates/frontend/gateway/src/components/vm/VmInitializer.tsx +0 -124
  101. package/templates/frontend/gateway/src/data/components.ts +0 -50
  102. package/templates/frontend/gateway/src/hooks/useBosComponents.ts +0 -14
  103. package/templates/frontend/gateway/src/hooks/useBosLoaderInitializer.ts +0 -60
  104. package/templates/frontend/gateway/src/hooks/useFlags.ts +0 -40
  105. package/templates/frontend/gateway/src/hooks/useLayout.tsx +0 -12
  106. package/templates/frontend/gateway/src/index.d.ts +0 -9
  107. package/templates/frontend/gateway/src/pages/_app.tsx +0 -47
  108. package/templates/frontend/gateway/src/pages/_document.tsx +0 -27
  109. package/templates/frontend/gateway/src/pages/dig.tsx +0 -25
  110. package/templates/frontend/gateway/src/pages/flags.tsx +0 -83
  111. package/templates/frontend/gateway/src/pages/hello-api.tsx +0 -105
  112. package/templates/frontend/gateway/src/pages/hello-component.tsx +0 -23
  113. package/templates/frontend/gateway/src/pages/hello-ethereum.tsx +0 -23
  114. package/templates/frontend/gateway/src/pages/hello-social.tsx +0 -31
  115. package/templates/frontend/gateway/src/pages/index.tsx +0 -51
  116. package/templates/frontend/gateway/src/pages/nui.tsx +0 -25
  117. package/templates/frontend/gateway/src/stores/auth.ts +0 -29
  118. package/templates/frontend/gateway/src/stores/bos-loader.ts +0 -20
  119. package/templates/frontend/gateway/src/stores/current-component.ts +0 -11
  120. package/templates/frontend/gateway/src/stores/vm.ts +0 -24
  121. package/templates/frontend/gateway/src/styles/globals.css +0 -68
  122. package/templates/frontend/gateway/src/styles/theme.css +0 -129
  123. package/templates/frontend/gateway/src/utils/config.ts +0 -49
  124. package/templates/frontend/gateway/src/utils/form-validation.ts +0 -18
  125. package/templates/frontend/gateway/src/utils/keypom-options.ts +0 -59
  126. package/templates/frontend/gateway/src/utils/route/privateRoute.tsx +0 -20
  127. package/templates/frontend/gateway/src/utils/route/signedOutRoute.tsx +0 -21
  128. package/templates/frontend/gateway/src/utils/types.ts +0 -33
  129. package/templates/frontend/gateway/tsconfig.json +0 -24
  130. package/templates/frontend/vanilla/.env +0 -1
  131. package/templates/frontend/vanilla/index.html +0 -97
  132. package/templates/frontend/vanilla/index.js +0 -70
  133. package/templates/shared/template.gitignore +0 -31
  134. /package/templates/contracts/{rust → rs}/.cargo/config +0 -0
  135. /package/templates/contracts/{rust → rs}/rust-toolchain.toml +0 -0
  136. /package/templates/contracts/{js → ts}/package-lock.json +0 -0
  137. /package/templates/contracts/{js → ts}/src/contract.ts +0 -0
  138. /package/templates/contracts/{js → ts}/tsconfig.json +0 -0
  139. /package/templates/frontend/{gateway → next}/public/next.svg +0 -0
  140. /package/templates/frontend/{gateway → next}/public/vercel.svg +0 -0
  141. /package/templates/frontend/{gateway/public → next/src/app}/favicon.ico +0 -0
  142. /package/templates/{shared → frontend/vanilla}/.gitpod.yml +0 -0
  143. /package/templates/{shared → frontend/vanilla}/README.md +0 -0
  144. /package/templates/frontend/vanilla/{assets → src/assets}/favicon.ico +0 -0
  145. /package/templates/frontend/vanilla/{assets → src/assets}/logo-black.svg +0 -0
  146. /package/templates/frontend/vanilla/{assets → src/assets}/logo-white.svg +0 -0
  147. /package/templates/{integration-tests/rust-tests → sandbox-tests/sandbox-rs}/src/tests.rs +0 -0
  148. /package/templates/{integration-tests/js-tests → sandbox-tests/sandbox-ts}/ava.config.cjs +0 -0
  149. /package/templates/{integration-tests/js-tests → sandbox-tests/sandbox-ts}/package-lock.json +0 -0
  150. /package/templates/{integration-tests/js-tests → sandbox-tests/sandbox-ts}/src/main.ava.ts +0 -0
@@ -1,83 +0,0 @@
1
- import { useEffect } from 'react';
2
- import type { SubmitHandler } from 'react-hook-form';
3
- import { useForm } from 'react-hook-form';
4
- import styled from 'styled-components';
5
-
6
- import { Button } from '@/components/lib/Button';
7
- import { Text } from '@/components/lib/Text';
8
- import { useClearCurrentComponent } from '@/hooks/useClearCurrentComponent';
9
- import { useFlags } from '@/hooks/useFlags';
10
- import { useDefaultLayout } from '@/hooks/useLayout';
11
- import type { NextPageWithLayout } from '@/utils/types';
12
-
13
- const Container = styled.div`
14
- display: flex;
15
- flex-direction: column;
16
- gap: 1rem;
17
- padding: 2rem 1rem;
18
- `;
19
-
20
- const Form = styled.form`
21
- display: flex;
22
- flex-direction: column;
23
- gap: 1rem;
24
- `;
25
-
26
- const InputGrid = styled.div`
27
- display: grid;
28
- grid-template-columns: max-content 1fr;
29
- align-items: center;
30
- gap: 1rem;
31
-
32
- @media (max-width: 600px) {
33
- grid-template-columns: 1fr;
34
- }
35
- `;
36
-
37
- type FormData = {
38
- bosLoaderUrl: string;
39
- };
40
-
41
- const FlagsPage: NextPageWithLayout = () => {
42
- const [flags, setFlags] = useFlags();
43
- const form = useForm<FormData>();
44
-
45
- useClearCurrentComponent();
46
-
47
- useEffect(() => {
48
- form.setValue('bosLoaderUrl', flags?.bosLoaderUrl || '');
49
- }, [form, flags]);
50
-
51
- const submitHandler: SubmitHandler<FormData> = (data) => {
52
- setFlags(data);
53
- };
54
-
55
- return (
56
- <Container className="container-xl">
57
- <Text as="h1" font="text-3xl">
58
- Flags
59
- </Text>
60
-
61
- <Form onSubmit={form.handleSubmit(submitHandler)}>
62
- <InputGrid>
63
- <Text as="label" font="text-s" weight="500" htmlFor="bosLoaderUrl">
64
- BOS Loader Url
65
- </Text>
66
-
67
- <input
68
- className="form-control"
69
- placeholder="e.g. http://127.0.0.1:3030/, https://my-loader.ngrok.io"
70
- id="bosLoaderUrl"
71
- {...form.register('bosLoaderUrl')}
72
- />
73
- </InputGrid>
74
-
75
- <Button label="Save Flags" variant="affirmative" size="large" type="submit" style={{ marginLeft: 'auto' }} />
76
- </Form>
77
- </Container>
78
- );
79
- };
80
-
81
- FlagsPage.getLayout = useDefaultLayout;
82
-
83
- export default FlagsPage;
@@ -1,105 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
-
3
- import { useDefaultLayout } from '@/hooks/useLayout';
4
- import { useAuthStore } from '@/stores/auth';
5
- import { useVmStore } from '@/stores/vm';
6
- import type { NextPageWithLayout } from '@/utils/types';
7
-
8
- // Contract that the app will interact with
9
- const CONTRACT = process.env.NEXT_PUBLIC_CONTRACT_NAME || '';
10
-
11
- const callMethod = async (near: any, contractId: string, methodName: string, args: any = {}, gas = '30000000000000', deposit = 0) => {
12
- const selector = await near.selector;
13
- const wallet = await selector.wallet();
14
-
15
- wallet.signAndSendTransaction({
16
- signerId: near.accountId,
17
- receiverId: contractId,
18
- actions: [
19
- {
20
- type: 'FunctionCall',
21
- params: { methodName, args, gas, deposit },
22
- },
23
- ],
24
- });
25
- };
26
-
27
- // Make a read-only call to retrieve information from the network
28
- const viewMethod = async (near: any, contractId: string, methodName: string, args = {}) => {
29
- const provider = await near.nearConnection.connection.provider;
30
-
31
- const res = await provider.query({
32
- request_type: 'call_function',
33
- account_id: contractId,
34
- method_name: methodName,
35
- args_base64: Buffer.from(JSON.stringify(args)).toString('base64'),
36
- finality: 'optimistic',
37
- });
38
- return JSON.parse(Buffer.from(res.result).toString());
39
- };
40
-
41
- const ExampleAPIPage: NextPageWithLayout = () => {
42
- const { signedIn } = useAuthStore(store => store);
43
- const near = useVmStore(store => store.near);
44
- const [greeting, setStateGreeting] = useState('');
45
-
46
-
47
- useEffect(() => {
48
- if (near) {
49
- viewMethod(near, CONTRACT, 'get_greeting')
50
- .then(
51
- res => setStateGreeting(res)
52
- );
53
- }
54
- }, [near]);
55
-
56
- const setGreeting = async () => {
57
- callMethod(near, CONTRACT, 'set_greeting', { greeting });
58
- };
59
-
60
- // Define components
61
- const greetingForm = (
62
- <>
63
- <div className="border border-black p-3">
64
- <label>Update greeting: </label>
65
- <input className="w-50 mx-2" placeholder="Howdy" onChange={(e) => setStateGreeting(e.target.value)} />
66
- <button className="btn btn-primary" onClick={setGreeting}>
67
- Save
68
- </button>
69
- </div>
70
- </>
71
- );
72
-
73
- const notLoggedInWarning = (
74
- <p className="text-center py-2"> Please login to change the greeting </p>
75
- );
76
-
77
- return <>
78
- <p className="text-center mt-3 p-3"> This example makes calls directly from the Gateway app using the <code>near-api-js</code> and <code>wallet-selector</code> libraries </p>
79
-
80
- <div className="container border mt-2 border-warning p-3">
81
-
82
- <h3 className="text-center">
83
- The contract says:
84
- <span className="text-decoration-underline"> {greeting} </span>
85
- </h3>
86
-
87
- <p className='pt-4 pb-2'>
88
- Look at that! A greeting stored on <b>{CONTRACT}</b>.
89
- </p>
90
-
91
- <p>
92
- <b> Note </b>: The contract address is being loaded from
93
- an <code> env </code> variable. If you chose to add a contract during
94
- the wizard, running <code> npm run deploy </code> will deploy the
95
- contract code and update the <code> env </code> variable used here.
96
- </p>
97
-
98
- {signedIn ? greetingForm : notLoggedInWarning}
99
- </div>
100
- </>;
101
- };
102
-
103
- ExampleAPIPage.getLayout = useDefaultLayout;
104
-
105
- export default ExampleAPIPage;
@@ -1,23 +0,0 @@
1
- import { ComponentWrapperPage } from '@/components/component/ComponentWrapperPage';
2
- import { useBosComponents } from '@/hooks/useBosComponents';
3
- import { useDefaultLayout } from '@/hooks/useLayout';
4
- import type { NextPageWithLayout } from '@/utils/types';
5
-
6
- const ExampleComponentPage: NextPageWithLayout = () => {
7
- const components = useBosComponents();
8
-
9
- return <>
10
- <p className="text-center mt-4 p-1"> This example retrieves the <code><a href="https://near.org/near/widget/ComponentDetailsPage?src=gagdiez.near/widget/HelloNear&tab=source">Hello Near component</a></code> from the NEAR Blockchain (please wait while it loads...) </p>
11
-
12
- <ComponentWrapperPage
13
- src={components.helloExample}
14
- meta={{
15
- title: 'Hello NEAR',
16
- description: '"A Page that loads a full-page Component"',
17
- }} />
18
- </>;
19
- };
20
-
21
- ExampleComponentPage.getLayout = useDefaultLayout;
22
-
23
- export default ExampleComponentPage;
@@ -1,23 +0,0 @@
1
- import { ComponentWrapperPage } from '@/components/component/ComponentWrapperPage';
2
- import { useBosComponents } from '@/hooks/useBosComponents';
3
- import { useDefaultLayout } from '@/hooks/useLayout';
4
- import type { NextPageWithLayout } from '@/utils/types';
5
-
6
- const ExampleComponentPage: NextPageWithLayout = () => {
7
- const components = useBosComponents();
8
-
9
- return <>
10
- <p className="text-center mt-4 p-1 text-dark"> This example retrieves an Ethereum component from the NEAR Blockchain (wait while it loads...) </p>
11
-
12
- <ComponentWrapperPage
13
- src={components.lidoExample}
14
- meta={{
15
- title: 'Hello NEAR',
16
- description: '"A Page that loads a full-page Component"',
17
- }} />
18
- </>;
19
- };
20
-
21
- ExampleComponentPage.getLayout = useDefaultLayout;
22
-
23
- export default ExampleComponentPage;
@@ -1,31 +0,0 @@
1
- import { VmComponent } from '@/components/vm/VmComponent';
2
- import { useBosComponents } from '@/hooks/useBosComponents';
3
- import { useDefaultLayout } from '@/hooks/useLayout';
4
- import type { NextPageWithLayout } from '@/utils/types';
5
-
6
- const ExampleComponentPage: NextPageWithLayout = () => {
7
- const components = useBosComponents();
8
-
9
- return <>
10
- <p className="text-center mt-4 p-1"> This example shows the social feed of <a href="https://near.social">NEAR Social</a></p>
11
-
12
- <div className="container p-2">
13
- <VmComponent
14
- key="compose"
15
- src={components.social.compose}
16
- props={{}}
17
- />
18
-
19
- <VmComponent
20
- key="reg-feed"
21
- src={components.social.feed}
22
- props={{}}
23
- />
24
-
25
- </div>
26
- </>;
27
- };
28
-
29
- ExampleComponentPage.getLayout = useDefaultLayout;
30
-
31
- export default ExampleComponentPage;
@@ -1,51 +0,0 @@
1
- import { isPassKeyAvailable } from '@near-js/biometric-ed25519';
2
- import { useEffect } from 'react';
3
-
4
- import { openToast } from '@/components/lib/Toast';
5
- import { useDefaultLayout } from '@/hooks/useLayout';
6
- import { useAuthStore } from '@/stores/auth';
7
- import type { NextPageWithLayout } from '@/utils/types';
8
-
9
- const HomePage: NextPageWithLayout = () => {
10
- const signedIn = useAuthStore((store) => store.signedIn);
11
-
12
- useEffect(() => {
13
- if (signedIn) {
14
- isPassKeyAvailable().then((passKeyAvailable: boolean) => {
15
- if (!passKeyAvailable) {
16
- openToast({
17
- title: 'Limited Functionality',
18
- type: 'WARNING',
19
- description: 'To access all account features, try using a browser that supports passkeys',
20
- duration: 5000,
21
- });
22
- }
23
- });
24
- }
25
- }, [signedIn]);
26
-
27
- return (
28
- <div className="container mx-auto">
29
- <h1 className="mt-5 text-center"> Your Gateway to an Open Web </h1>
30
- <h3 className="text-center"> Welcome to your NEAR Gateway </h3>
31
-
32
- <p className="mt-5">
33
- A gateway is a simple web app that can be augmented with <span className="red"> NEAR Components</span>.
34
- This Gateway is built using `Next.js` and readily allows users to login
35
- using FastAuth.
36
- </p>
37
-
38
- <h5 className="mt-5"> Configure your Gateway </h5>
39
- <ul>
40
- <li> Select the network <code>mainnet</code> or <code>testnet</code> in the <code> ./src/utils/config.ts </code> </li>
41
- <li> Modify the navigation menu in <code>./src/components/navigation/navigation-categories.ts</code> </li>
42
- <li> Create new pages by adding files in <code>./src/pages</code> </li>
43
- <li> Define general components in <code>./src/data/components.ts</code> to use them across pages </li>
44
- </ul>
45
- </div>
46
- );
47
- };
48
-
49
- HomePage.getLayout = useDefaultLayout;
50
-
51
- export default HomePage;
@@ -1,25 +0,0 @@
1
- import { VmComponent } from '@/components/vm/VmComponent';
2
- import { useBosComponents } from '@/hooks/useBosComponents';
3
- import { useDefaultLayout } from '@/hooks/useLayout';
4
- import type { NextPageWithLayout } from '@/utils/types';
5
-
6
- const ExampleComponentPage: NextPageWithLayout = () => {
7
- const components = useBosComponents();
8
-
9
- return <>
10
- <p className="text-center mt-4 p-1"> This example shows a UI library for Near components</p>
11
-
12
- <div className="container p-2">
13
- <VmComponent
14
- key="compose"
15
- src={components.NUI}
16
- props={{}}
17
- />
18
-
19
- </div>
20
- </>;
21
- };
22
-
23
- ExampleComponentPage.getLayout = useDefaultLayout;
24
-
25
- export default ExampleComponentPage;
@@ -1,29 +0,0 @@
1
- import type Big from 'big.js';
2
- import { create } from 'zustand';
3
-
4
- type AuthState = {
5
- account: any;
6
- accountId: string;
7
- availableStorage: Big | null;
8
- logOut: () => Promise<void>;
9
- refreshAllowance: () => Promise<void>;
10
- requestSignInWithWallet: () => void;
11
- signedIn: boolean;
12
- vmNear: any;
13
- };
14
-
15
- type AuthStore = AuthState & {
16
- set: (state: AuthState) => void;
17
- };
18
-
19
- export const useAuthStore = create<AuthStore>((set) => ({
20
- account: null,
21
- accountId: '',
22
- availableStorage: null,
23
- logOut: async () => undefined,
24
- refreshAllowance: async () => undefined,
25
- requestSignInWithWallet: () => undefined,
26
- signedIn: false,
27
- set: (state) => set((previousState) => ({ ...previousState, ...state })),
28
- vmNear: null,
29
- }));
@@ -1,20 +0,0 @@
1
- import { create } from 'zustand';
2
-
3
- type BosLoaderState = {
4
- failedToLoad: boolean;
5
- hasResolved: boolean;
6
- loaderUrl: string;
7
- redirectMap: Record<string, unknown>;
8
- };
9
-
10
- type BosLoaderStore = BosLoaderState & {
11
- set: (state: Partial<BosLoaderState>) => void;
12
- };
13
-
14
- export const useBosLoaderStore = create<BosLoaderStore>((set) => ({
15
- failedToLoad: false,
16
- hasResolved: false,
17
- loaderUrl: '',
18
- redirectMap: {},
19
- set: (state) => set((previousState) => ({ ...previousState, ...state })),
20
- }));
@@ -1,11 +0,0 @@
1
- import { create } from 'zustand';
2
-
3
- type CurrentComponentStore = {
4
- src: string | null;
5
- setSrc: (src: string | null) => void;
6
- };
7
-
8
- export const useCurrentComponentStore = create<CurrentComponentStore>((set) => ({
9
- src: null,
10
- setSrc: (src) => set(() => ({ src })),
11
- }));
@@ -1,24 +0,0 @@
1
- import { create } from 'zustand';
2
-
3
- type VmState = {
4
- cache: any;
5
- CommitButton: any;
6
- ethersContext: any;
7
- EthersProvider: any;
8
- Widget: any;
9
- near: any;
10
- };
11
-
12
- type VmStore = VmState & {
13
- set: (update: VmState) => void;
14
- };
15
-
16
- export const useVmStore = create<VmStore>((set) => ({
17
- cache: null,
18
- CommitButton: null,
19
- ethersContext: null,
20
- EthersProvider: null,
21
- Widget: null,
22
- near: null,
23
- set: (params) => set(() => ({ ...params })),
24
- }));
@@ -1,68 +0,0 @@
1
- @import 'bootstrap';
2
-
3
- @font-face {
4
- font-family: 'Mona Sans';
5
- src: url('/fonts/Mona-Sans.woff2') format('woff2 supports variations'),
6
- url('/fonts/Mona-Sans.woff2') format('woff2-variations');
7
- font-weight: 200 900;
8
- font-stretch: 75% 125%;
9
- }
10
-
11
- @font-face {
12
- font-family: 'FK Grotesk';
13
- src: url('/fonts/FKGrotesk.woff2') format('woff2 supports variations'),
14
- url('/fonts/FKGrotesk.woff2') format('woff2-variations');
15
- font-weight: 200 900;
16
- font-stretch: 75% 125%;
17
- }
18
-
19
- body,
20
- html {
21
- --body-top-padding: 24px;
22
- -webkit-font-smoothing: antialiased;
23
- color: var(--sand12);
24
- font: var(--text-base);
25
- }
26
-
27
- a {
28
- text-decoration: none;
29
- }
30
- a:hover {
31
- text-decoration: underline;
32
- }
33
- .btn {
34
- text-decoration: none;
35
- }
36
-
37
- #near-wallet-selector-modal .open {
38
- z-index: 1001;
39
- }
40
-
41
- #w3m-modal {
42
- z-index: 1002;
43
- }
44
-
45
- #launcher {
46
- color-scheme: light;
47
- width: 48px;
48
- height: 50px;
49
- padding: 0px;
50
- margin: 10px 20px;
51
- position: fixed;
52
- bottom: 10px;
53
- overflow: visible;
54
- opacity: 1;
55
- border: 0px;
56
- z-index: 999998;
57
- transition-duration: 250ms;
58
- transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
59
- transition-property: opacity, top, bottom;
60
- right: 10px;
61
- }
62
-
63
- @media (max-width: 650px) {
64
- #launcher {
65
- right: 2px;
66
- bottom: 10px;
67
- }
68
- }
@@ -1,129 +0,0 @@
1
- :root {
2
- --text-xs: 450 12px/1.4 'Mona Sans', sans-serif;
3
- --text-s: 450 14px/1.5 'Mona Sans', sans-serif;
4
- --text-base: 450 16px/1.5 'Mona Sans', sans-serif;
5
- --text-l: 400 20px/1.3 'FK Grotesk', 'Mona Sans', sans-serif;
6
- --text-xl: 400 24px/1.3 'FK Grotesk', 'Mona Sans', sans-serif;
7
- --text-2xl: 400 30px/1.3 'FK Grotesk', 'Mona Sans', sans-serif;
8
- --text-3xl: 400 42px/1.3 'FK Grotesk', 'Mona Sans', sans-serif;
9
- --text-hero: 500 72px/1 'FK Grotesk', 'Mona Sans', sans-serif;
10
-
11
- --black: hsl(0, 0%, 0%);
12
- --blackA1: hsla(0, 0%, 0%, 0.012);
13
- --blackA2: hsla(0, 0%, 0%, 0.027);
14
- --blackA3: hsla(0, 0%, 0%, 0.047);
15
- --blackA4: hsla(0, 0%, 0%, 0.071);
16
- --blackA5: hsla(0, 0%, 0%, 0.09);
17
- --blackA6: hsla(0, 0%, 0%, 0.114);
18
- --blackA7: hsla(0, 0%, 0%, 0.141);
19
- --blackA8: hsla(0, 0%, 0%, 0.22);
20
- --blackA9: hsla(0, 0%, 0%, 0.439);
21
- --blackA10: hsla(0, 0%, 0%, 0.478);
22
- --blackA11: hsla(0, 0%, 0%, 0.565);
23
- --blackA12: hsla(0, 0%, 0%, 0.91);
24
-
25
- --white: hsl(0, 0%, 100%);
26
- --whiteA1: hsla(0, 0%, 100%, 0);
27
- --whiteA2: hsla(0, 0%, 100%, 0.013);
28
- --whiteA3: hsla(0, 0%, 100%, 0.034);
29
- --whiteA4: hsla(0, 0%, 100%, 0.056);
30
- --whiteA5: hsla(0, 0%, 100%, 0.086);
31
- --whiteA6: hsla(0, 0%, 100%, 0.124);
32
- --whiteA7: hsla(0, 0%, 100%, 0.176);
33
- --whiteA8: hsla(0, 0%, 100%, 0.249);
34
- --whiteA9: hsla(0, 0%, 100%, 0.386);
35
- --whiteA10: hsla(0, 0%, 100%, 0.446);
36
- --whiteA11: hsla(0, 0%, 100%, 0.592);
37
- --whiteA12: hsla(0, 0%, 100%, 0.923);
38
-
39
- --amber1: hsl(39, 70%, 99%);
40
- --amber2: hsl(40, 100%, 96.5%);
41
- --amber3: hsl(44, 100%, 91.7%);
42
- --amber4: hsl(43, 100%, 86.8%);
43
- --amber5: hsl(42, 100%, 81.8%);
44
- --amber6: hsl(38, 99.7%, 76.3%);
45
- --amber7: hsl(36, 86.1%, 67.1%);
46
- --amber8: hsl(35, 85.2%, 55.1%);
47
- --amber9: hsl(39, 100%, 57%);
48
- --amber10: hsl(35, 100%, 55.5%);
49
- --amber11: hsl(30, 100%, 34%);
50
- --amber12: hsl(20, 80%, 17%);
51
-
52
- --cyan1: hsla(180, 82%, 98%, 1);
53
- --cyan2: hsla(180, 75%, 97%, 1);
54
- --cyan3: hsla(178, 78%, 93%, 1);
55
- --cyan4: hsla(179, 77%, 88%, 1);
56
- --cyan5: hsla(178, 78%, 82%, 1);
57
- --cyan6: hsla(178, 73%, 77%, 1);
58
- --cyan7: hsla(179, 65%, 72%, 1);
59
- --cyan8: hsla(178, 60%, 52%, 1);
60
- --cyan9: hsla(179, 72%, 64%, 1);
61
- --cyan10: hsla(178, 67%, 57%, 1);
62
- --cyan11: hsla(186, 78%, 33%, 1);
63
- --cyan12: hsla(186, 78%, 14%, 1);
64
-
65
- --green1: hsla(150, 100%, 98%, 1);
66
- --green2: hsla(152, 100%, 97%, 1);
67
- --green3: hsla(150, 94%, 93%, 1);
68
- --green4: hsla(151, 93%, 88%, 1);
69
- --green5: hsla(151, 93%, 82%, 1);
70
- --green6: hsla(151, 93%, 77%, 1);
71
- --green7: hsla(150, 86%, 72%, 1);
72
- --green8: hsla(150, 60%, 51%, 1);
73
- --green9: hsla(150, 80%, 64%, 1);
74
- --green10: hsla(150, 74%, 58%, 1);
75
- --green11: hsla(155, 66%, 32%, 1);
76
- --green12: hsla(150, 79%, 10%, 1);
77
-
78
- --mauve1: hsl(300, 20%, 99%);
79
- --mauve2: hsl(300, 7.7%, 97.5%);
80
- --mauve3: hsl(294, 5.5%, 95.3%);
81
- --mauve4: hsl(289, 4.7%, 93.3%);
82
- --mauve5: hsl(283, 4.4%, 91.3%);
83
- --mauve6: hsl(278, 4.1%, 89.1%);
84
- --mauve7: hsl(271, 3.9%, 86.3%);
85
- --mauve8: hsl(255, 3.7%, 78.8%);
86
- --mauve9: hsl(252, 4%, 57.3%);
87
- --mauve10: hsl(253, 3.5%, 53.5%);
88
- --mauve11: hsl(252, 4%, 44.8%);
89
- --mauve12: hsl(260, 25%, 11%);
90
-
91
- --red1: hsla(6, 100%, 98%, 1);
92
- --red2: hsla(8, 100%, 97%, 1);
93
- --red3: hsla(8, 100%, 93%, 1);
94
- --red4: hsla(7, 100%, 88%, 1);
95
- --red5: hsla(8, 100%, 82%, 1);
96
- --red6: hsla(7, 100%, 77%, 1);
97
- --red7: hsla(8, 99%, 72%, 1);
98
- --red8: hsla(8, 65%, 57%, 1);
99
- --red9: hsla(7, 90%, 69%, 1);
100
- --red10: hsla(7, 81%, 65%, 1);
101
- --red11: hsla(8, 100%, 33%, 1);
102
- --red12: hsla(7, 95%, 15%, 1);
103
-
104
- --sand1: hsl(50, 20%, 99%);
105
- --sand2: hsl(60, 7.7%, 97.5%);
106
- --sand3: hsl(59, 6.5%, 95.1%);
107
- --sand4: hsl(58, 6.1%, 92.9%);
108
- --sand5: hsl(57, 6%, 90.7%);
109
- --sand6: hsl(56, 5.9%, 88.4%);
110
- --sand7: hsl(55, 5.9%, 85.2%);
111
- --sand8: hsl(51, 6%, 77.1%);
112
- --sand9: hsl(50, 2%, 55.7%);
113
- --sand10: hsl(55, 1.7%, 51.9%);
114
- --sand11: hsl(50, 2%, 43.1%);
115
- --sand12: hsl(50, 6%, 10%);
116
-
117
- --violet1: hsla(248, 80%, 98%, 1);
118
- --violet2: hsla(245, 73%, 97%, 1);
119
- --violet3: hsla(245, 67%, 93%, 1);
120
- --violet4: hsla(244, 67%, 88%, 1);
121
- --violet5: hsla(245, 67%, 82%, 1);
122
- --violet6: hsla(245, 68%, 77%, 1);
123
- --violet7: hsla(245, 62%, 72%, 1);
124
- --violet8: hsla(250, 53%, 54%, 1);
125
- --violet9: hsla(245, 64%, 68%, 1);
126
- --violet10: hsla(246, 57%, 61%, 1);
127
- --violet11: hsla(241, 50%, 32%, 1);
128
- --violet12: hsla(244, 49%, 17%, 1);
129
- }
@@ -1,49 +0,0 @@
1
- import type { Network, NetworkId } from './types';
2
-
3
- export const networks: Record<NetworkId, Network> = {
4
- mainnet: {
5
- networkId: 'mainnet',
6
- viewAccountId: 'near',
7
- nodeUrl: 'https://rpc.mainnet.near.org',
8
- walletUrl: 'https://wallet.near.org',
9
- helperUrl: 'https://helper.mainnet.near.org',
10
- fastAuth: {
11
- mpcRecoveryUrl: 'https://mpc-recovery-leader-mainnet-cg7nolnlpa-ue.a.run.app',
12
- authHelperUrl: 'https://api.kitwallet.app',
13
- accountIdSuffix: 'near',
14
- firebase: {
15
- apiKey: 'AIzaSyDhxTQVeoWdnbpYTocBAABbLULGf6H5khQ',
16
- authDomain: 'near-fastauth-prod.firebaseapp.com',
17
- projectId: 'near-fastauth-prod',
18
- storageBucket: 'near-fastauth-prod.appspot.com',
19
- messagingSenderId: '829449955812',
20
- appId: '1:829449955812:web:532436aa35572be60abff1',
21
- measurementId: 'G-T2PPJ8QRYY',
22
- },
23
- },
24
- },
25
- testnet: {
26
- networkId: 'testnet',
27
- viewAccountId: 'testnet',
28
- nodeUrl: 'https://rpc.testnet.near.org',
29
- walletUrl: 'https://wallet.testnet.near.org',
30
- helperUrl: 'https://helper.testnet.near.org',
31
- fastAuth: {
32
- mpcRecoveryUrl: 'https://mpc-recovery-7tk2cmmtcq-ue.a.run.app',
33
- authHelperUrl: 'https://testnet-api.kitwallet.app',
34
- accountIdSuffix: 'testnet',
35
- firebase: {
36
- apiKey: 'AIzaSyDAh6lSSkEbpRekkGYdDM5jazV6IQnIZFU',
37
- authDomain: 'pagoda-oboarding-dev.firebaseapp.com',
38
- projectId: 'pagoda-oboarding-dev',
39
- storageBucket: 'pagoda-oboarding-dev.appspot.com',
40
- messagingSenderId: '116526963563',
41
- appId: '1:116526963563:web:053cb0c425bf514007ca2e',
42
- measurementId: 'G-HF2NBGE60S',
43
- },
44
- },
45
- },
46
- };
47
-
48
- export const networkId: NetworkId = 'mainnet';
49
- export const network = networks[networkId];