@luxfi/core 4.4.14 → 4.4.16
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.
- package/components/access-code-input.tsx +71 -71
- package/components/auth/auth-listener.tsx +29 -29
- package/components/auth/auth-token/clear-auth-token.tsx +12 -12
- package/components/auth/auth-token/set-auth-token.tsx +16 -16
- package/components/auth/common-auth-domains.ts +16 -16
- package/components/auth/login-panel.tsx +103 -98
- 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.16",
|
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
|
+
|