Skip to content

Commit a6f1dbc

Browse files
Merge branch 'master' into sfa-android-v3
2 parents f125120 + 2a62336 commit a6f1dbc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+4009
-997
lines changed

docs/sdk/pnp/web/modal/modal.mdx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ sidebar_label: Overview
44
description: " Web3Auth PnP Web Modal SDK | Documentation - Web3Auth"
55
---
66

7+
import ExampleCards from "@theme/ExampleCards";
8+
import { pnpModalExamples, QUICK_START } from "@site/src/common/maps";
9+
710
This package provides the main class for using the default Web3Auth Modal. The package includes all
811
of our packages and gives you a simple way of implementing Web3Auth within your interface.
912
Additionally, it is a child class of [`@web3auth/no-modal`](/sdk/pnp/web/no-modal) package. Hence,
@@ -31,3 +34,7 @@ package.
3134

3235
- [Community Support Portal](https://web3auth.io/community/c/help-pnp/pnp-web/7): Join our community
3336
to get support from our team and other developers.
37+
38+
## Quick Starts
39+
40+
<ExampleCards exampleMap={pnpModalExamples.filter((obj) => obj.type === QUICK_START)} />

docs/sdk/pnp/web/no-modal/no-modal.mdx

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ sidebar_label: Overview
44
description: "Web3Auth Plug and Play No Modal SDK | Documentation - Web3Auth"
55
---
66

7+
import ExampleCards from "@theme/ExampleCards";
8+
import { pnpNoModalExamples, QUICK_START } from "@site/src/common/maps";
9+
710
Web3Auth Plug and Play No Modal is the main SDK that consists of the core module of Web3Auth Plug
811
and Play. This SDK gives you all the needed modules for implementing the Web3Auth features, giving
912
you the flexibility of implementing your own UI to use all the functionalities. Since this package
@@ -31,3 +34,7 @@ size of this package is smaller.
3134

3235
- [Community Support Portal](https://web3auth.io/community/c/help-pnp/pnp-web/7): Join our community
3336
to get support from our team and other developers.
37+
38+
## Quick Starts
39+
40+
<ExampleCards exampleMap={pnpNoModalExamples.filter((obj) => obj.type === QUICK_START)} />

package-lock.json

Lines changed: 2911 additions & 798 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@
1818
"prepare": "husky install"
1919
},
2020
"dependencies": {
21-
"@docusaurus/core": "^3.6.1",
22-
"@docusaurus/module-type-aliases": "^3.6.1",
23-
"@docusaurus/plugin-client-redirects": "^3.6.1",
24-
"@docusaurus/preset-classic": "^3.6.1",
25-
"@docusaurus/remark-plugin-npm2yarn": "^3.6.1",
26-
"@docusaurus/theme-common": "^3.6.1",
27-
"@docusaurus/theme-search-algolia": "^3.6.1",
21+
"@docusaurus/core": "^3.6.3",
22+
"@docusaurus/module-type-aliases": "^3.6.3",
23+
"@docusaurus/plugin-client-redirects": "^3.6.3",
24+
"@docusaurus/preset-classic": "^3.6.3",
25+
"@docusaurus/remark-plugin-npm2yarn": "^3.6.3",
26+
"@docusaurus/theme-common": "^3.6.3",
27+
"@docusaurus/theme-search-algolia": "^3.6.3",
2828
"@lottiefiles/react-lottie-player": "^3.5.4",
2929
"@mdx-js/react": "^3.0.1",
3030
"@radix-ui/react-icons": "^1.3.0",
@@ -53,7 +53,7 @@
5353
"remark-math": "^6.0.0"
5454
},
5555
"devDependencies": {
56-
"@docusaurus/tsconfig": "^3.6.1",
56+
"@docusaurus/tsconfig": "^3.6.3",
5757
"@toruslabs/eslint-config-react": "^3.4.1",
5858
"@tsconfig/docusaurus": "^2.0.3",
5959
"@types/classnames": "^2.3.1",

src/common/hostedFileLinks.json

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,12 @@
33
"MODAL_REACT_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-modal-quick-start/package.json",
44
"MODAL_REACT_VITE_CONFIG": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-modal-quick-start/vite.config.ts",
55
"MODAL_REACT_INDEX_HTML": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-modal-quick-start/index.html",
6+
"MODAL_REACT_HOOKS_APP_TSX": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-hooks-modal-quick-start/src/App.tsx",
7+
"MODAL_REACT_HOOKS_MAIN_TSX": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-hooks-modal-quick-start/src/main.tsx",
8+
"MODAL_REACT_HOOKS_WEB3AUTHCONTEXT_TSX": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-hooks-modal-quick-start/src/web3authContext.tsx",
9+
"MODAL_REACT_HOOKS_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-hooks-modal-quick-start/package.json",
10+
"MODAL_REACT_HOOKS_VITE_CONFIG": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-hooks-modal-quick-start/vite.config.ts",
11+
"MODAL_REACT_HOOKS_INDEX_HTML": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-hooks-modal-quick-start/index.html",
612
"WEB3RPC_TS": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-modal-quick-start/src/web3RPC.ts",
713
"ETHERSRPC_TS": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-modal-quick-start/src/ethersRPC.ts",
814
"VIEMRPC_TS": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/react-modal-quick-start/src/viemRPC.ts",
@@ -19,10 +25,21 @@
1925
"MODAL_VUE_CONFIG_JS": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-modal-quick-start/vue.config.js",
2026
"MODAL_VUE_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-modal-quick-start/package.json",
2127
"MODAL_VUE_HOME_VUE": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-modal-quick-start/src/Home.vue",
28+
"MODAL_VUE_COMPOSABLES_CONFIG_JS": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-composables-modal-quick-start/vue.config.js",
29+
"MODAL_VUE_COMPOSABLES_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-composables-modal-quick-start/package.json",
30+
"MODAL_VUE_COMPOSABLES_HOME_VUE": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-composables-modal-quick-start/src/Home.vue",
31+
"MODAL_VUE_COMPOSABLES_APP_VUE": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-composables-modal-quick-start/src/App.vue",
32+
"MODAL_VUE_COMPOSABLES_WEB3AUTHCONTEXT_TSX": "Web3Auth/web3auth-pnp-examples/main/web-modal-sdk/quick-starts/vue-composables-modal-quick-start/src/web3authContext.tsx",
2233
"NO_MODAL_REACT_APP_TSX": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-no-modal-quick-start/src/App.tsx",
2334
"NO_MODAL_REACT_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-no-modal-quick-start/package.json",
2435
"NO_MODAL_REACT_VITE_CONFIG": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-no-modal-quick-start/vite.config.ts",
2536
"NO_MODAL_REACT_INDEX_HTML": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-no-modal-quick-start/index.html",
37+
"NO_MODAL_REACT_HOOKS_APP_TSX": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-hooks-no-modal-quick-start/src/App.tsx",
38+
"NO_MODAL_REACT_HOOKS_MAIN_TSX": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-hooks-no-modal-quick-start/src/main.tsx",
39+
"NO_MODAL_REACT_HOOKS_WEB3AUTHCONTEXT_TSX": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-hooks-no-modal-quick-start/src/web3authContext.tsx",
40+
"NO_MODAL_REACT_HOOKS_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-hooks-no-modal-quick-start/package.json",
41+
"NO_MODAL_REACT_HOOKS_VITE_CONFIG": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-hooks-no-modal-quick-start/vite.config.ts",
42+
"NO_MODAL_REACT_HOOKS_INDEX_HTML": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/react-hooks-no-modal-quick-start/index.html",
2643
"NO_MODAL_NEXT_PAGE_TSX": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/nextjs-no-modal-quick-start/app/page.tsx",
2744
"NO_MODAL_NEXT_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/nextjs-no-modal-quick-start/package.json",
2845
"NO_MODAL_ANGULAR_APP_COMPONENT_TS": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/angular-no-modal-quick-start/src/app/app.component.ts",
@@ -33,6 +50,11 @@
3350
"NO_MODAL_VUE_CONFIG_JS": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-no-modal-quick-start/vue.config.js",
3451
"NO_MODAL_VUE_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-no-modal-quick-start/package.json",
3552
"NO_MODAL_VUE_HOME_VUE": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-no-modal-quick-start/src/Home.vue",
53+
"NO_MODAL_VUE_COMPOSABLES_CONFIG_JS": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-composables-no-modal-quick-start/vue.config.js",
54+
"NO_MODAL_VUE_COMPOSABLES_PACKAGE_JSON": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-composables-no-modal-quick-start/package.json",
55+
"NO_MODAL_VUE_COMPOSABLES_HOME_VUE": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-composables-no-modal-quick-start/src/Home.vue",
56+
"NO_MODAL_VUE_COMPOSABLES_APP_VUE": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-composables-no-modal-quick-start/src/App.vue",
57+
"NO_MODAL_VUE_COMPOSABLES_WEB3AUTHCONTEXT_TSX": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vue-composables-no-modal-quick-start/src/web3authContext.tsx",
3658
"NO_MODAL_HTML_INDEX_HTML": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vanillajs-no-modal-quick-start/index.html",
3759
"NO_MODAL_HTML_SCRIPT_JS": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vanillajs-no-modal-quick-start/script.js",
3860
"NO_MODAL_HTML_STYLE_CSS": "Web3Auth/web3auth-pnp-examples/main/web-no-modal-sdk/quick-starts/vanillajs-no-modal-quick-start/style.css",

src/common/maps.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,16 @@ export const quickStartHostedLinks = {
44
PNP_MODAL_HTML: "https://w3a.link/pnp-vanillajs-modal-quick-start",
55
PNP_MODAL_NEXTJS: "https://w3a.link/pnp-nextjs-modal-quick-start",
66
PNP_MODAL_REACT: "https://w3a.link/pnp-react-modal-quick-start",
7+
PNP_MODAL_REACT_HOOKS: "https://w3a.link/pnp-react-hooks-modal-quick-start",
78
PNP_MODAL_VUE: "https://w3a.link/pnp-vue-modal-quick-start",
9+
PNP_MODAL_VUE_COMPOSABLES: "https://w3a.link/pnp-vue-composables-modal-quick-start",
810
// PNP No Modal SDK
911
PNP_NO_MODAL_ANGULAR: "https://w3a.link/pnp-angular-no-modal-quick-start",
1012
PNP_NO_MODAL_NEXTJS: "https://w3a.link/pnp-nextjs-no-modal-quick-start",
1113
PNP_NO_MODAL_REACT: "https://w3a.link/pnp-react-no-modal-quick-start",
14+
PNP_NO_MODAL_REACT_HOOKS: "https://w3a.link/pnp-react-hooks-no-modal-quick-start",
1215
PNP_NO_MODAL_VUE: "https://w3a.link/pnp-vue-no-modal-quick-start",
16+
PNP_NO_MODAL_VUE_COMPOSABLES: "https://w3a.link/pnp-vue-composables-no-modal-quick-start",
1317
PNP_NO_MODAL_HTML: "https://w3a.link/pnp-vanillajs-no-modal-quick-start",
1418
// PNP Android SDK
1519
PNP_ANDROID_ANDROID: "https://w3a.link/pnp-android-quick-start",

src/components/Examples/index.tsx

Lines changed: 41 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,7 @@ export default function Examples(props: {
3232
const [productFilter, setProductFilter] = useState<string[]>([]);
3333
const [platformFilter, setPlatformFilter] = useState<string[]>([]);
3434
const [blockchainFilter, setBlockchainFilter] = useState<string[]>([]);
35-
const [tagFilteredExampleMap, setTagFilteredExampleMap] =
36-
useState<ExamplesInterface[]>(sortedExamples);
37-
const [searchFilteredExampleMap, setSearchFilteredExampleMap] =
38-
useState<ExamplesInterface[]>(tagFilteredExampleMap);
35+
const [filteredExamples, setFilteredExamples] = useState<ExamplesInterface[]>(sortedExamples);
3936

4037
const chevron = (
4138
<svg width="14" height="14" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -49,24 +46,27 @@ export default function Examples(props: {
4946
</svg>
5047
);
5148

49+
// Apply tag filters first
5250
useEffect(() => {
53-
function filterByTags() {
54-
let examples;
55-
examples = sortedExamples;
56-
examples = examples.filter((item) => {
51+
let filtered = sortedExamples;
52+
53+
if (productFilter.length > 0 || platformFilter.length > 0 || blockchainFilter.length > 0) {
54+
filtered = sortedExamples.filter((item) => {
5755
const prodFil =
5856
productFilter.length === 0 || productFilter.some((tag) => item.tags.includes(tag));
5957
const platFil =
6058
platformFilter.length === 0 || platformFilter.some((tag) => item.tags.includes(tag));
6159
const blockFil =
6260
blockchainFilter.length === 0 || blockchainFilter.some((tag) => item.tags.includes(tag));
6361

64-
return [prodFil, platFil, blockFil].some((result) => result === true);
62+
return prodFil && platFil && blockFil;
6563
});
66-
setTagFilteredExampleMap(examples);
6764
}
68-
filterByTags();
69-
}, [productFilter, platformFilter, blockchainFilter, searchFilteredExampleMap]);
65+
66+
// Reset search when filters change
67+
setSearchInput("");
68+
setFilteredExamples(filtered);
69+
}, [productFilter, platformFilter, blockchainFilter]);
7070

7171
const onChangeProduct = (e) => {
7272
const filterValue = e.map((item) => item.value);
@@ -83,55 +83,42 @@ export default function Examples(props: {
8383
const onChangeBlockchain = (e) => {
8484
const filterValue = e.map((item) => item.value);
8585
setBlockchainFilter(filterValue);
86-
setTags([...productFilter, ...filterValue, ...platformFilter]);
86+
setTags([...productFilter, ...platformFilter, ...filterValue]);
8787
};
8888

8989
function highlightSearchText(text) {
90-
if (searchInput === "") {
90+
if (!searchInput.trim()) {
9191
return text;
9292
}
93-
let inputKeywords = searchInput.split(" ");
94-
inputKeywords = inputKeywords.filter((keyword) => keyword !== "");
95-
const keywords = inputKeywords
96-
.map((keyword) => {
97-
return `(${keyword})`;
98-
})
99-
.join("|");
100-
const regex = new RegExp(keywords, "gi");
101-
const matches = text.match(regex);
93+
const searchTerms = searchInput.trim().split(/\s+/);
94+
const regex = new RegExp(`(${searchTerms.join("|")})`, "gi");
10295
const parts = text.split(regex);
103-
if (matches) {
104-
return (
105-
<span>
106-
{parts.filter(String).map((part, i) => {
107-
return regex.test(part) ? <mark key={i}>{part}</mark> : <span key={i}>{part}</span>;
108-
})}
109-
</span>
110-
);
111-
}
112-
return text;
96+
97+
return (
98+
<span>
99+
{parts.map((part, i) => {
100+
return regex.test(part) ? <mark key={i}>{part}</mark> : <span key={i}>{part}</span>;
101+
})}
102+
</span>
103+
);
113104
}
114105

115106
function onChangeSearch(input) {
116107
setSearchInput(input);
108+
}
117109

118-
const inputKeywords = input.trim().split(" ").filter(Boolean);
110+
// Filter the already filtered examples based on search
111+
const displayedExamples = filteredExamples.filter((item) => {
112+
if (!searchInput.trim()) return true;
119113

120-
function searchFilter(item) {
121-
return (
122-
inputKeywords.some((key) => item.title.toLowerCase().includes(key.toLowerCase())) ||
123-
inputKeywords.some((key) => item.description.toLowerCase().includes(key.toLowerCase())) ||
124-
inputKeywords.some((key) =>
125-
item.tags.map((tag) => tag.toLowerCase().includes(key.toLowerCase())),
126-
)
127-
);
128-
}
129-
let examples = tagFilteredExampleMap;
130-
if (input !== "") {
131-
examples = tagFilteredExampleMap.filter((item) => searchFilter(item));
132-
}
133-
setSearchFilteredExampleMap(examples);
134-
}
114+
const searchTerms = searchInput.toLowerCase().trim().split(/\s+/);
115+
return searchTerms.every(
116+
(term) =>
117+
item.title.toLowerCase().includes(term) ||
118+
item.description.toLowerCase().includes(term) ||
119+
item.tags.some((tag) => tag.toLowerCase().includes(term)),
120+
);
121+
});
135122

136123
function renderArticle(article) {
137124
return (
@@ -165,7 +152,7 @@ export default function Examples(props: {
165152
<div className={styles.tagContainer}>
166153
{article.tags &&
167154
article.tags.map((tag) => {
168-
if (tags.includes(tag) || searchInput.split(" ").includes(tag)) {
155+
if (tags.includes(tag) || searchInput.split(/\s+/).includes(tag)) {
169156
return (
170157
<div key={tag} className={styles.tagActive}>
171158
{tag}
@@ -177,7 +164,7 @@ export default function Examples(props: {
177164

178165
{article.tags &&
179166
article.tags.map((tag) => {
180-
if (!(tags.includes(tag) || searchInput.split(" ").includes(tag))) {
167+
if (!(tags.includes(tag) || searchInput.split(/\s+/).includes(tag))) {
181168
return (
182169
<div key={tag} className={styles.tag}>
183170
{tag}
@@ -212,7 +199,7 @@ export default function Examples(props: {
212199
</svg>
213200
</div>
214201
<input
215-
placeholder="Quick search for anything"
202+
placeholder="Search within filtered results"
216203
value={searchInput}
217204
onChange={(event) => onChangeSearch(event.target.value)}
218205
type="text"
@@ -271,8 +258,8 @@ export default function Examples(props: {
271258
)}
272259
</div>
273260
<div className={styles.container}>
274-
{tagFilteredExampleMap.map((item) => renderArticle(item))}
275-
{tagFilteredExampleMap.length === 0 && (
261+
{displayedExamples.map((item) => renderArticle(item))}
262+
{displayedExamples.length === 0 && (
276263
<div className={styles.noResults}>
277264
<p>No Results Found</p>
278265
</div>

src/components/ProductCards/index.tsx

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -383,15 +383,12 @@ export default function QuickNavigation() {
383383
<span className={styles.pill}>Demo{chevron}</span>
384384
</a>
385385
<a
386-
href={`${baseUrl}quick-start?product=PNP&sdk=PNP_MODAL&framework=REACT&stepIndex=0`}
386+
href={`${baseUrl}quick-start?product=PNP&sdk=PNP_MODAL`}
387387
className={styles.pillContainer}
388388
>
389389
<span className={styles.pill}>Quick Start{chevron}</span>
390390
</a>
391-
<a
392-
href={`${baseUrl}examples?product=Plug+and+Play&sdk=Plug+and+Play+Web+Modal+SDK`}
393-
className={styles.pillContainer}
394-
>
391+
<a href={`${baseUrl}examples`} className={styles.pillContainer}>
395392
<span className={styles.pill}>Examples{chevron}</span>
396393
</a>
397394
</div>
@@ -445,15 +442,12 @@ export default function QuickNavigation() {
445442
<span className={styles.pill}>Demo{chevron}</span>
446443
</a>
447444
<a
448-
href={`${baseUrl}quick-start?product=CORE_KIT&sdk=SFA_WEB&framework=REACT&stepIndex=0`}
445+
href={`${baseUrl}quick-start?product=CORE_KIT&sdk=SFA_WEB`}
449446
className={styles.pillContainer}
450447
>
451448
<span className={styles.pill}>Quick Start{chevron}</span>
452449
</a>
453-
<a
454-
href={`${baseUrl}examples?product=Core+Kit&sdk=Single+Factor+Auth+JS+SDK`}
455-
className={styles.pillContainer}
456-
>
450+
<a href={`${baseUrl}examples`} className={styles.pillContainer}>
457451
<span className={styles.pill}>Examples{chevron}</span>
458452
</a>
459453
<a href={`https://t.me/w3a_tg_mini_app_bot/`} className={styles.pillContainer}>
@@ -498,15 +492,12 @@ export default function QuickNavigation() {
498492
{mpcIcons}
499493
<div className={styles.links}>
500494
<a
501-
href={`${baseUrl}quick-start?product=CORE_KIT&sdk=MPC_CORE_KIT&framework=REACT&stepIndex=0`}
495+
href={`${baseUrl}quick-start?product=MPC_CORE_KIT&sdk=MPC_CORE_KIT_WEB`}
502496
className={styles.pillContainer}
503497
>
504498
<span className={styles.pill}>Quick Start{chevron}</span>
505499
</a>
506-
<a
507-
href={`${baseUrl}examples?product=Core+Kit&sdk=Single+Factor+Auth+JS+SDK`}
508-
className={styles.pillContainer}
509-
>
500+
<a href={`${baseUrl}examples`} className={styles.pillContainer}>
510501
<span className={styles.pill}>Examples{chevron}</span>
511502
</a>
512503
</div>

0 commit comments

Comments
 (0)