@luxfi/core 4.4.10 → 4.4.12
Sign up to get free protection for your applications and to get access to all the features.
- package/components/access-code-input.tsx +71 -71
- package/components/auth/auth-listener.tsx +23 -41
- package/components/auth/auth-token/clear-auth-token.tsx +12 -0
- package/components/auth/auth-token/set-auth-token.tsx +16 -0
- package/components/auth/common-auth-domains.ts +16 -15
- package/components/auth/login-panel.tsx +119 -117
- package/components/chat-widget.tsx +77 -77
- package/components/commerce/bag-button.tsx +67 -67
- package/components/commerce/checkout-panel/close-button.tsx +26 -26
- package/components/commerce/checkout-panel/dt-bag-carousel.tsx +36 -36
- package/components/commerce/checkout-panel/dt-checkout-panel.tsx +66 -66
- package/components/commerce/checkout-panel/index.tsx +123 -123
- package/components/commerce/checkout-panel/links-row.tsx +21 -21
- package/components/commerce/checkout-panel/mb-checkout-panel.tsx +55 -55
- package/components/commerce/checkout-panel/steps-indicator.tsx +39 -39
- package/components/commerce/checkout-panel/thank-you.tsx +18 -18
- package/components/commerce/desktop-bag-popup.tsx +78 -78
- package/components/commerce/mobile-bag-drawer.tsx +51 -51
- package/components/commerce/mobile-menu-toggle-button.tsx +35 -35
- package/components/commerce/mobile-nav-menu.tsx +64 -64
- package/components/contact-dialog/contact-form.tsx +112 -112
- package/components/contact-dialog/disclaimer.tsx +13 -13
- package/components/contact-dialog/index.tsx +64 -64
- package/components/copyright.tsx +21 -21
- package/components/footer.tsx +77 -77
- package/components/header/desktop.tsx +54 -54
- package/components/header/index.tsx +26 -26
- package/components/header/mobile.tsx +161 -161
- package/components/header/theme-toggle.tsx +26 -26
- package/components/icons/bag-icon.tsx +10 -10
- package/components/icons/github.tsx +14 -14
- package/components/icons/index.tsx +35 -35
- package/components/icons/lux-logo.tsx +10 -10
- package/components/icons/secure-delivery.tsx +13 -13
- package/components/icons/social-icon.tsx +35 -35
- package/components/icons/social-svg.css +3 -3
- package/components/icons/youtube-logo.tsx +59 -59
- package/components/index.ts +27 -27
- package/components/logo.tsx +81 -81
- package/components/mini-chart/index.tsx +7 -7
- package/components/mini-chart/mini-chart-props.ts +43 -43
- package/components/mini-chart/mini-chart.tsx +85 -85
- package/components/mini-chart/wrapper.tsx +23 -23
- package/components/not-found/index.tsx +27 -27
- package/components/not-found/not-found-content.mdx +5 -5
- package/components/root-layout.tsx +71 -71
- package/components/scripts.tsx +23 -23
- package/conf/index.ts +50 -50
- package/environment.d.ts +5 -5
- package/next/analytics/fpixel.ts +15 -15
- package/next/analytics/google-analytics.ts +13 -13
- package/next/analytics/index.ts +3 -3
- package/next/analytics/pixel-analytics.tsx +54 -54
- package/next/determine-device-mw.ts +16 -16
- package/next/font/get-app-router-font-classes.ts +12 -12
- package/next/font/load-and-return-lux-next-fonts-on-import.ts +68 -68
- package/next/font/next-font-desc.ts +27 -27
- package/next/font/pages-router-font-vars.tsx +18 -18
- package/next/head-metadata/from-next/metadata-types.ts +158 -158
- package/next/head-metadata/from-next/opengraph-types.ts +267 -267
- package/next/head-metadata/from-next/twitter-types.ts +92 -92
- package/next/head-metadata/index.tsx +208 -208
- package/package.json +73 -73
- package/server-actions/firebase-app.ts +14 -14
- package/server-actions/index.ts +5 -5
- package/server-actions/store-contact.ts +51 -51
- package/site-def/footer/community.tsx +67 -67
- package/site-def/footer/company.ts +37 -37
- package/site-def/footer/ecosystem.ts +37 -37
- package/site-def/footer/index.tsx +26 -26
- package/site-def/footer/legal.ts +28 -28
- package/site-def/footer/network.ts +45 -45
- package/site-def/footer/svg/warpcast-logo.svg +11 -11
- package/site-def/index.ts +2 -2
- package/site-def/main-nav.ts +35 -35
- package/site-def/site-def.ts +36 -36
- package/style/lux-colors.css +85 -85
- package/style/lux-global.css +30 -30
- package/tailwind/fontFamily.tailwind.lux.ts +18 -18
- package/tailwind/index.ts +2 -2
- package/tailwind/lux-tw-fonts.ts +39 -39
- package/tailwind/tailwind.config.lux-preset.ts +10 -10
- package/tsconfig.json +10 -10
- package/types/contact-info.ts +10 -10
package/package.json
CHANGED
@@ -1,73 +1,73 @@
|
|
1
|
-
{
|
2
|
-
"name": "@luxfi/core",
|
3
|
-
"version": "4.4.
|
4
|
-
"description": "Library that contains shared UI primitives, support for a common design system, and other boilerplate support.",
|
5
|
-
"publishConfig": {
|
6
|
-
"registry": "https://registry.npmjs.org/",
|
7
|
-
"access": "public",
|
8
|
-
"scope": "@luxfi"
|
9
|
-
},
|
10
|
-
"repository": {
|
11
|
-
"type": "git",
|
12
|
-
"url": "git+https://github.com/luxfi/web.git",
|
13
|
-
"directory": "packages/common"
|
14
|
-
},
|
15
|
-
"keywords": [
|
16
|
-
"components",
|
17
|
-
"radix-ui",
|
18
|
-
"hanzo",
|
19
|
-
"luxdefi"
|
20
|
-
],
|
21
|
-
"scripts": {
|
22
|
-
"lat": "npm show @luxfi/core version",
|
23
|
-
"pub": "npm publish",
|
24
|
-
"build": "tsc",
|
25
|
-
"tc": "tsc",
|
26
|
-
"ln:ui": "pnpm link -g @hanzo/ui",
|
27
|
-
"ln:auth": "pnpm link -g @hanzo/auth",
|
28
|
-
"ln:cmmc": "pnpm link -g @hanzo/commerce",
|
29
|
-
"ul:all": "rm node_modules/@hanzo/*",
|
30
|
-
"clean": "rm -rf node_modules"
|
31
|
-
},
|
32
|
-
"exports": {
|
33
|
-
".": "./components/index.ts",
|
34
|
-
"./server-actions": "./server-actions/index.ts",
|
35
|
-
"./next": "./next/index.ts",
|
36
|
-
"./style/": "./style/",
|
37
|
-
"./site-def": "./site-def/index.ts",
|
38
|
-
"./tailwind": "./tailwind/index.ts",
|
39
|
-
"./conf": "./conf/index.ts"
|
40
|
-
},
|
41
|
-
"dependencies": {
|
42
|
-
"@hanzo/auth": "2.4.4",
|
43
|
-
"@hanzo/commerce": "6.4.4",
|
44
|
-
"@hanzo/ui": "3.6.3",
|
45
|
-
"@next/third-parties": "^14.1.0",
|
46
|
-
"cookies-next": "^4.1.1",
|
47
|
-
"embla-carousel-autoplay": "^8.0.1",
|
48
|
-
"react-device-detect": "^2.2.3",
|
49
|
-
"react-social-icons": "^6.4.0"
|
50
|
-
},
|
51
|
-
"peerDependencies": {
|
52
|
-
"@hookform/resolvers": "^3.3.2",
|
53
|
-
"lucide-react": "^0.344.0",
|
54
|
-
"next": "14.1.3",
|
55
|
-
"next-themes": "^0.2.1",
|
56
|
-
"react": "^18.2.0",
|
57
|
-
"react-dom": "^18.2.0",
|
58
|
-
"react-hook-form": "^7.47.0",
|
59
|
-
"validator": "^13.11.0",
|
60
|
-
"zod": "3.21.4"
|
61
|
-
},
|
62
|
-
"devDependencies": {
|
63
|
-
"@mdx-js/loader": "^3.0.0",
|
64
|
-
"@mdx-js/react": "^3.0.0",
|
65
|
-
"@types/facebook-pixel": "^0.0.30",
|
66
|
-
"@types/gtag.js": "^0.0.19",
|
67
|
-
"@types/mdx": "^2.0.9",
|
68
|
-
"@types/react": "^18.2.64",
|
69
|
-
"@types/react-dom": "^18.2.18",
|
70
|
-
"tailwindcss": "^3.4.2",
|
71
|
-
"typescript": "5.3.3"
|
72
|
-
}
|
73
|
-
}
|
1
|
+
{
|
2
|
+
"name": "@luxfi/core",
|
3
|
+
"version": "4.4.12",
|
4
|
+
"description": "Library that contains shared UI primitives, support for a common design system, and other boilerplate support.",
|
5
|
+
"publishConfig": {
|
6
|
+
"registry": "https://registry.npmjs.org/",
|
7
|
+
"access": "public",
|
8
|
+
"scope": "@luxfi"
|
9
|
+
},
|
10
|
+
"repository": {
|
11
|
+
"type": "git",
|
12
|
+
"url": "git+https://github.com/luxfi/web.git",
|
13
|
+
"directory": "packages/common"
|
14
|
+
},
|
15
|
+
"keywords": [
|
16
|
+
"components",
|
17
|
+
"radix-ui",
|
18
|
+
"hanzo",
|
19
|
+
"luxdefi"
|
20
|
+
],
|
21
|
+
"scripts": {
|
22
|
+
"lat": "npm show @luxfi/core version",
|
23
|
+
"pub": "npm publish",
|
24
|
+
"build": "tsc",
|
25
|
+
"tc": "tsc",
|
26
|
+
"ln:ui": "pnpm link -g @hanzo/ui",
|
27
|
+
"ln:auth": "pnpm link -g @hanzo/auth",
|
28
|
+
"ln:cmmc": "pnpm link -g @hanzo/commerce",
|
29
|
+
"ul:all": "rm node_modules/@hanzo/*",
|
30
|
+
"clean": "rm -rf node_modules"
|
31
|
+
},
|
32
|
+
"exports": {
|
33
|
+
".": "./components/index.ts",
|
34
|
+
"./server-actions": "./server-actions/index.ts",
|
35
|
+
"./next": "./next/index.ts",
|
36
|
+
"./style/": "./style/",
|
37
|
+
"./site-def": "./site-def/index.ts",
|
38
|
+
"./tailwind": "./tailwind/index.ts",
|
39
|
+
"./conf": "./conf/index.ts"
|
40
|
+
},
|
41
|
+
"dependencies": {
|
42
|
+
"@hanzo/auth": "2.4.4",
|
43
|
+
"@hanzo/commerce": "6.4.4",
|
44
|
+
"@hanzo/ui": "3.6.3",
|
45
|
+
"@next/third-parties": "^14.1.0",
|
46
|
+
"cookies-next": "^4.1.1",
|
47
|
+
"embla-carousel-autoplay": "^8.0.1",
|
48
|
+
"react-device-detect": "^2.2.3",
|
49
|
+
"react-social-icons": "^6.4.0"
|
50
|
+
},
|
51
|
+
"peerDependencies": {
|
52
|
+
"@hookform/resolvers": "^3.3.2",
|
53
|
+
"lucide-react": "^0.344.0",
|
54
|
+
"next": "14.1.3",
|
55
|
+
"next-themes": "^0.2.1",
|
56
|
+
"react": "^18.2.0",
|
57
|
+
"react-dom": "^18.2.0",
|
58
|
+
"react-hook-form": "^7.47.0",
|
59
|
+
"validator": "^13.11.0",
|
60
|
+
"zod": "3.21.4"
|
61
|
+
},
|
62
|
+
"devDependencies": {
|
63
|
+
"@mdx-js/loader": "^3.0.0",
|
64
|
+
"@mdx-js/react": "^3.0.0",
|
65
|
+
"@types/facebook-pixel": "^0.0.30",
|
66
|
+
"@types/gtag.js": "^0.0.19",
|
67
|
+
"@types/mdx": "^2.0.9",
|
68
|
+
"@types/react": "^18.2.64",
|
69
|
+
"@types/react-dom": "^18.2.18",
|
70
|
+
"tailwindcss": "^3.4.2",
|
71
|
+
"typescript": "5.3.3"
|
72
|
+
}
|
73
|
+
}
|
@@ -1,14 +1,14 @@
|
|
1
|
-
import { initializeApp, getApps } from 'firebase/app'
|
2
|
-
|
3
|
-
const firebaseConfig = {
|
4
|
-
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
|
5
|
-
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
|
6
|
-
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
|
7
|
-
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
|
8
|
-
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
9
|
-
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
|
10
|
-
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
|
11
|
-
}
|
12
|
-
|
13
|
-
// Initialize Firebase instance if there isn't one already
|
14
|
-
export default getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]
|
1
|
+
import { initializeApp, getApps } from 'firebase/app'
|
2
|
+
|
3
|
+
const firebaseConfig = {
|
4
|
+
apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
|
5
|
+
authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
|
6
|
+
projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
|
7
|
+
storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
|
8
|
+
messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
|
9
|
+
appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
|
10
|
+
measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
|
11
|
+
}
|
12
|
+
|
13
|
+
// Initialize Firebase instance if there isn't one already
|
14
|
+
export default getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]
|
package/server-actions/index.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import storeContact from './store-contact'
|
2
|
-
|
3
|
-
export {
|
4
|
-
storeContact as default
|
5
|
-
}
|
1
|
+
import storeContact from './store-contact'
|
2
|
+
|
3
|
+
export {
|
4
|
+
storeContact as default
|
5
|
+
}
|
@@ -1,51 +1,51 @@
|
|
1
|
-
'use server'
|
2
|
-
|
3
|
-
import {
|
4
|
-
getFirestore,
|
5
|
-
collection,
|
6
|
-
setDoc,
|
7
|
-
doc,
|
8
|
-
serverTimestamp,
|
9
|
-
type Firestore,
|
10
|
-
} from 'firebase/firestore'
|
11
|
-
|
12
|
-
import firebaseApp from './firebase-app'
|
13
|
-
import type { ContactInfo } from '../types'
|
14
|
-
|
15
|
-
let dbInstance: Firestore | undefined = undefined
|
16
|
-
|
17
|
-
const getDBInstance = (name: string): Firestore => {
|
18
|
-
if (!dbInstance) {
|
19
|
-
dbInstance = getFirestore(firebaseApp, name)
|
20
|
-
}
|
21
|
-
return dbInstance
|
22
|
-
}
|
23
|
-
|
24
|
-
const storeContact = async ( formData: ContactInfo, enclosure: any ) => {
|
25
|
-
const email = formData.email
|
26
|
-
const phone = formData.phone
|
27
|
-
const dbName = enclosure?.dbId
|
28
|
-
const tableName = enclosure?.listId
|
29
|
-
|
30
|
-
let error: any | null = null
|
31
|
-
const tableRef = collection(getDBInstance(dbName), tableName)
|
32
|
-
|
33
|
-
try {
|
34
|
-
await setDoc(doc(tableRef, email), {
|
35
|
-
email,
|
36
|
-
phone,
|
37
|
-
timestamp: serverTimestamp(),
|
38
|
-
})
|
39
|
-
return { success: !error, error, id: email }
|
40
|
-
}
|
41
|
-
catch (e) {
|
42
|
-
console.error('Error writing contact info to database: ', e)
|
43
|
-
error = e
|
44
|
-
}
|
45
|
-
|
46
|
-
return { success: !error, error }
|
47
|
-
}
|
48
|
-
|
49
|
-
export {
|
50
|
-
storeContact as default
|
51
|
-
}
|
1
|
+
'use server'
|
2
|
+
|
3
|
+
import {
|
4
|
+
getFirestore,
|
5
|
+
collection,
|
6
|
+
setDoc,
|
7
|
+
doc,
|
8
|
+
serverTimestamp,
|
9
|
+
type Firestore,
|
10
|
+
} from 'firebase/firestore'
|
11
|
+
|
12
|
+
import firebaseApp from './firebase-app'
|
13
|
+
import type { ContactInfo } from '../types'
|
14
|
+
|
15
|
+
let dbInstance: Firestore | undefined = undefined
|
16
|
+
|
17
|
+
const getDBInstance = (name: string): Firestore => {
|
18
|
+
if (!dbInstance) {
|
19
|
+
dbInstance = getFirestore(firebaseApp, name)
|
20
|
+
}
|
21
|
+
return dbInstance
|
22
|
+
}
|
23
|
+
|
24
|
+
const storeContact = async ( formData: ContactInfo, enclosure: any ) => {
|
25
|
+
const email = formData.email
|
26
|
+
const phone = formData.phone
|
27
|
+
const dbName = enclosure?.dbId
|
28
|
+
const tableName = enclosure?.listId
|
29
|
+
|
30
|
+
let error: any | null = null
|
31
|
+
const tableRef = collection(getDBInstance(dbName), tableName)
|
32
|
+
|
33
|
+
try {
|
34
|
+
await setDoc(doc(tableRef, email), {
|
35
|
+
email,
|
36
|
+
phone,
|
37
|
+
timestamp: serverTimestamp(),
|
38
|
+
})
|
39
|
+
return { success: !error, error, id: email }
|
40
|
+
}
|
41
|
+
catch (e) {
|
42
|
+
console.error('Error writing contact info to database: ', e)
|
43
|
+
error = e
|
44
|
+
}
|
45
|
+
|
46
|
+
return { success: !error, error }
|
47
|
+
}
|
48
|
+
|
49
|
+
export {
|
50
|
+
storeContact as default
|
51
|
+
}
|
@@ -1,67 +1,67 @@
|
|
1
|
-
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
-
import { Icons } from '../../components'
|
3
|
-
|
4
|
-
// @ts-ignore (will build in project that has @svgr support)
|
5
|
-
import SVG_warp_logo from './svg/warpcast-logo.svg'
|
6
|
-
|
7
|
-
const SOC_ICON_SIZE = 18
|
8
|
-
|
9
|
-
export default [
|
10
|
-
{
|
11
|
-
title: 'Community',
|
12
|
-
href: '',
|
13
|
-
variant: 'linkFG',
|
14
|
-
},
|
15
|
-
|
16
|
-
{
|
17
|
-
title: 'Lux Channel',
|
18
|
-
href: 'https://warpcast.com/~/channel/lux',
|
19
|
-
icon: <SVG_warp_logo width={SOC_ICON_SIZE} height={SOC_ICON_SIZE} /> //<Icons.SocialIcon network='warpcast' size={SOC_ICON_SIZE} />
|
20
|
-
},
|
21
|
-
{
|
22
|
-
title: 'Lux Discussions',
|
23
|
-
href: 'https://github.com/orgs/luxfi/discussions',
|
24
|
-
icon: <Icons.SocialIcon network='github' size={SOC_ICON_SIZE} />
|
25
|
-
},
|
26
|
-
|
27
|
-
/*
|
28
|
-
{
|
29
|
-
title: 'Discord',
|
30
|
-
href: 'https://discord.gg/luxdefi',
|
31
|
-
external: true,
|
32
|
-
icon: <Icons.SocialIcon network='discord' size={SOC_ICON_SIZE} />
|
33
|
-
},
|
34
|
-
{
|
35
|
-
title: 'Telegram',
|
36
|
-
href: 'https://t.me/luxdefi',
|
37
|
-
external: true,
|
38
|
-
icon: <Icons.SocialIcon network='telegram' size={SOC_ICON_SIZE} />
|
39
|
-
},
|
40
|
-
*/
|
41
|
-
|
42
|
-
{
|
43
|
-
title: '@luxdefi',
|
44
|
-
href: 'https://twitter.com/luxdefi',
|
45
|
-
icon: <Icons.SocialIcon network='x' size={SOC_ICON_SIZE} />
|
46
|
-
},
|
47
|
-
{
|
48
|
-
title: '@luxdefi',
|
49
|
-
href: 'https://facebook.com/luxdefi',
|
50
|
-
icon: <Icons.SocialIcon network='facebook' size={SOC_ICON_SIZE + 2} />
|
51
|
-
},
|
52
|
-
{
|
53
|
-
title: '@luxdefi',
|
54
|
-
href: 'https://www.instagram.com/luxdefi',
|
55
|
-
icon: <Icons.SocialIcon network='instagram' size={SOC_ICON_SIZE + 2} />
|
56
|
-
},
|
57
|
-
{
|
58
|
-
title: '@luxdefi',
|
59
|
-
href: 'https://linkedin.com/company/luxdefi',
|
60
|
-
icon: <Icons.SocialIcon network='linkedin' size={SOC_ICON_SIZE + 2} />
|
61
|
-
},
|
62
|
-
{
|
63
|
-
title: '@luxdefi',
|
64
|
-
href: 'https://www.youtube.com/@luxdefi',
|
65
|
-
icon: <Icons.SocialIcon network='youtube' size={SOC_ICON_SIZE + 2} />
|
66
|
-
},
|
67
|
-
] satisfies LinkDef[]
|
1
|
+
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
+
import { Icons } from '../../components'
|
3
|
+
|
4
|
+
// @ts-ignore (will build in project that has @svgr support)
|
5
|
+
import SVG_warp_logo from './svg/warpcast-logo.svg'
|
6
|
+
|
7
|
+
const SOC_ICON_SIZE = 18
|
8
|
+
|
9
|
+
export default [
|
10
|
+
{
|
11
|
+
title: 'Community',
|
12
|
+
href: '',
|
13
|
+
variant: 'linkFG',
|
14
|
+
},
|
15
|
+
|
16
|
+
{
|
17
|
+
title: 'Lux Channel',
|
18
|
+
href: 'https://warpcast.com/~/channel/lux',
|
19
|
+
icon: <SVG_warp_logo width={SOC_ICON_SIZE} height={SOC_ICON_SIZE} /> //<Icons.SocialIcon network='warpcast' size={SOC_ICON_SIZE} />
|
20
|
+
},
|
21
|
+
{
|
22
|
+
title: 'Lux Discussions',
|
23
|
+
href: 'https://github.com/orgs/luxfi/discussions',
|
24
|
+
icon: <Icons.SocialIcon network='github' size={SOC_ICON_SIZE} />
|
25
|
+
},
|
26
|
+
|
27
|
+
/*
|
28
|
+
{
|
29
|
+
title: 'Discord',
|
30
|
+
href: 'https://discord.gg/luxdefi',
|
31
|
+
external: true,
|
32
|
+
icon: <Icons.SocialIcon network='discord' size={SOC_ICON_SIZE} />
|
33
|
+
},
|
34
|
+
{
|
35
|
+
title: 'Telegram',
|
36
|
+
href: 'https://t.me/luxdefi',
|
37
|
+
external: true,
|
38
|
+
icon: <Icons.SocialIcon network='telegram' size={SOC_ICON_SIZE} />
|
39
|
+
},
|
40
|
+
*/
|
41
|
+
|
42
|
+
{
|
43
|
+
title: '@luxdefi',
|
44
|
+
href: 'https://twitter.com/luxdefi',
|
45
|
+
icon: <Icons.SocialIcon network='x' size={SOC_ICON_SIZE} />
|
46
|
+
},
|
47
|
+
{
|
48
|
+
title: '@luxdefi',
|
49
|
+
href: 'https://facebook.com/luxdefi',
|
50
|
+
icon: <Icons.SocialIcon network='facebook' size={SOC_ICON_SIZE + 2} />
|
51
|
+
},
|
52
|
+
{
|
53
|
+
title: '@luxdefi',
|
54
|
+
href: 'https://www.instagram.com/luxdefi',
|
55
|
+
icon: <Icons.SocialIcon network='instagram' size={SOC_ICON_SIZE + 2} />
|
56
|
+
},
|
57
|
+
{
|
58
|
+
title: '@luxdefi',
|
59
|
+
href: 'https://linkedin.com/company/luxdefi',
|
60
|
+
icon: <Icons.SocialIcon network='linkedin' size={SOC_ICON_SIZE + 2} />
|
61
|
+
},
|
62
|
+
{
|
63
|
+
title: '@luxdefi',
|
64
|
+
href: 'https://www.youtube.com/@luxdefi',
|
65
|
+
icon: <Icons.SocialIcon network='youtube' size={SOC_ICON_SIZE + 2} />
|
66
|
+
},
|
67
|
+
] satisfies LinkDef[]
|
@@ -1,37 +1,37 @@
|
|
1
|
-
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
-
|
3
|
-
export default [
|
4
|
-
{
|
5
|
-
title: 'Company',
|
6
|
-
href: "https://lux.partners/",
|
7
|
-
variant: 'linkFG',
|
8
|
-
newTab: false,
|
9
|
-
},
|
10
|
-
{
|
11
|
-
title: 'About',
|
12
|
-
href: 'https://lux.partners',
|
13
|
-
newTab: false,
|
14
|
-
},
|
15
|
-
{
|
16
|
-
title: 'Brand',
|
17
|
-
href: 'https://drive.google.com/drive/folders/14OJtKLVakGY6883XO9yGbiHtlFxQUUm5?usp=share_link',
|
18
|
-
},
|
19
|
-
{
|
20
|
-
title: 'Careers',
|
21
|
-
href: 'https://docs.google.com/document/d/1SCt0Hg7EIs06TootKCA1am1xo4mcXoKF/edit#heading=h.30j0zll',
|
22
|
-
newTab: true,
|
23
|
-
},
|
24
|
-
{
|
25
|
-
title: 'Partnerships',
|
26
|
-
href: 'https://apply.lux.partners/',
|
27
|
-
newTab: false,
|
28
|
-
},
|
29
|
-
{
|
30
|
-
title: 'Press',
|
31
|
-
href: 'mailto:ai@lux.partners?subject=%E2%96%BC%20Press',
|
32
|
-
},
|
33
|
-
{
|
34
|
-
title: 'Help',
|
35
|
-
href: 'mailto:ai@lux.partners?subject=%E2%96%BC%20Help',
|
36
|
-
},
|
37
|
-
] satisfies LinkDef[]
|
1
|
+
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
+
|
3
|
+
export default [
|
4
|
+
{
|
5
|
+
title: 'Company',
|
6
|
+
href: "https://lux.partners/",
|
7
|
+
variant: 'linkFG',
|
8
|
+
newTab: false,
|
9
|
+
},
|
10
|
+
{
|
11
|
+
title: 'About',
|
12
|
+
href: 'https://lux.partners',
|
13
|
+
newTab: false,
|
14
|
+
},
|
15
|
+
{
|
16
|
+
title: 'Brand',
|
17
|
+
href: 'https://drive.google.com/drive/folders/14OJtKLVakGY6883XO9yGbiHtlFxQUUm5?usp=share_link',
|
18
|
+
},
|
19
|
+
{
|
20
|
+
title: 'Careers',
|
21
|
+
href: 'https://docs.google.com/document/d/1SCt0Hg7EIs06TootKCA1am1xo4mcXoKF/edit#heading=h.30j0zll',
|
22
|
+
newTab: true,
|
23
|
+
},
|
24
|
+
{
|
25
|
+
title: 'Partnerships',
|
26
|
+
href: 'https://apply.lux.partners/',
|
27
|
+
newTab: false,
|
28
|
+
},
|
29
|
+
{
|
30
|
+
title: 'Press',
|
31
|
+
href: 'mailto:ai@lux.partners?subject=%E2%96%BC%20Press',
|
32
|
+
},
|
33
|
+
{
|
34
|
+
title: 'Help',
|
35
|
+
href: 'mailto:ai@lux.partners?subject=%E2%96%BC%20Help',
|
36
|
+
},
|
37
|
+
] satisfies LinkDef[]
|
@@ -1,37 +1,37 @@
|
|
1
|
-
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
-
|
3
|
-
export default [
|
4
|
-
{
|
5
|
-
title: 'Ecosystem',
|
6
|
-
href: 'https://lux.link',
|
7
|
-
variant: 'linkFG'
|
8
|
-
},
|
9
|
-
{
|
10
|
-
title: 'Lux AI',
|
11
|
-
href: 'https://lux.chat',
|
12
|
-
},
|
13
|
-
{
|
14
|
-
title: 'Lux Credit',
|
15
|
-
href: 'https://lux.credit',
|
16
|
-
},
|
17
|
-
{
|
18
|
-
title: 'Lux Exchange',
|
19
|
-
href: 'https://lux.exchange',
|
20
|
-
},
|
21
|
-
{
|
22
|
-
title: 'Lux Finance',
|
23
|
-
href: 'https://lux.finance',
|
24
|
-
},
|
25
|
-
{
|
26
|
-
title: 'Lux Market',
|
27
|
-
href: 'https://lux.market',
|
28
|
-
},
|
29
|
-
{
|
30
|
-
title: 'Lux Shop',
|
31
|
-
href: 'https://lux.shop',
|
32
|
-
},
|
33
|
-
{
|
34
|
-
title: 'Lux Quest',
|
35
|
-
href: 'https://lux.quest',
|
36
|
-
},
|
37
|
-
] satisfies LinkDef[]
|
1
|
+
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
+
|
3
|
+
export default [
|
4
|
+
{
|
5
|
+
title: 'Ecosystem',
|
6
|
+
href: 'https://lux.link',
|
7
|
+
variant: 'linkFG'
|
8
|
+
},
|
9
|
+
{
|
10
|
+
title: 'Lux AI',
|
11
|
+
href: 'https://lux.chat',
|
12
|
+
},
|
13
|
+
{
|
14
|
+
title: 'Lux Credit',
|
15
|
+
href: 'https://lux.credit',
|
16
|
+
},
|
17
|
+
{
|
18
|
+
title: 'Lux Exchange',
|
19
|
+
href: 'https://lux.exchange',
|
20
|
+
},
|
21
|
+
{
|
22
|
+
title: 'Lux Finance',
|
23
|
+
href: 'https://lux.finance',
|
24
|
+
},
|
25
|
+
{
|
26
|
+
title: 'Lux Market',
|
27
|
+
href: 'https://lux.market',
|
28
|
+
},
|
29
|
+
{
|
30
|
+
title: 'Lux Shop',
|
31
|
+
href: 'https://lux.shop',
|
32
|
+
},
|
33
|
+
{
|
34
|
+
title: 'Lux Quest',
|
35
|
+
href: 'https://lux.quest',
|
36
|
+
},
|
37
|
+
] satisfies LinkDef[]
|
@@ -1,26 +1,26 @@
|
|
1
|
-
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
-
|
3
|
-
import ecosystem from './ecosystem'
|
4
|
-
import network from './network'
|
5
|
-
import company from './company'
|
6
|
-
import community from './community'
|
7
|
-
import { legal, legalColumn } from './legal'
|
8
|
-
|
9
|
-
|
10
|
-
const standard = [
|
11
|
-
ecosystem,
|
12
|
-
network,
|
13
|
-
company,
|
14
|
-
community,
|
15
|
-
] satisfies LinkDef[][]
|
16
|
-
|
17
|
-
export {
|
18
|
-
ecosystem,
|
19
|
-
network,
|
20
|
-
company,
|
21
|
-
community,
|
22
|
-
legal,
|
23
|
-
legalColumn,
|
24
|
-
standard
|
25
|
-
}
|
26
|
-
|
1
|
+
import type { LinkDef } from '@hanzo/ui/types'
|
2
|
+
|
3
|
+
import ecosystem from './ecosystem'
|
4
|
+
import network from './network'
|
5
|
+
import company from './company'
|
6
|
+
import community from './community'
|
7
|
+
import { legal, legalColumn } from './legal'
|
8
|
+
|
9
|
+
|
10
|
+
const standard = [
|
11
|
+
ecosystem,
|
12
|
+
network,
|
13
|
+
company,
|
14
|
+
community,
|
15
|
+
] satisfies LinkDef[][]
|
16
|
+
|
17
|
+
export {
|
18
|
+
ecosystem,
|
19
|
+
network,
|
20
|
+
company,
|
21
|
+
community,
|
22
|
+
legal,
|
23
|
+
legalColumn,
|
24
|
+
standard
|
25
|
+
}
|
26
|
+
|