zopassport 0.1.0

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 (110) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +407 -0
  3. package/app/.env.example +15 -0
  4. package/app/README.md +28 -0
  5. package/app/package.json +24 -0
  6. package/app/reanimated-mock.js +102 -0
  7. package/app/reanimated-mock.jsx +97 -0
  8. package/app/src/App.tsx +331 -0
  9. package/app/src/components/FounderBadge.tsx +26 -0
  10. package/app/src/components/OTPInput.tsx +149 -0
  11. package/app/src/components/PhoneInput.tsx +109 -0
  12. package/app/src/components/ZoAuth.tsx +320 -0
  13. package/app/src/components/ZoAvatar.tsx +87 -0
  14. package/app/src/components/ZoLanding.tsx +231 -0
  15. package/app/src/components/ZoOnboarding.tsx +524 -0
  16. package/app/src/components/ZoPassportCard.tsx +183 -0
  17. package/app/src/components/ZoProgressRing.tsx +57 -0
  18. package/app/src/components/index.ts +16 -0
  19. package/app/src/components/wallet/MovingShine.tsx +43 -0
  20. package/app/src/components/wallet/TransactionItem.tsx +84 -0
  21. package/app/src/components/wallet/TransactionList.tsx +65 -0
  22. package/app/src/components/wallet/WalletCard.tsx +152 -0
  23. package/app/src/components/wallet/WalletScreen.tsx +190 -0
  24. package/app/src/components/wallet/ZoToken.tsx +69 -0
  25. package/app/src/components/wallet/index.ts +8 -0
  26. package/app/src/components/wallet/styles/index.ts +4 -0
  27. package/app/src/components/wallet/styles/walletStyles.ts +210 -0
  28. package/app/src/sdk/ZoPassportSDK.ts +277 -0
  29. package/app/src/sdk/lib/api/auth.ts +223 -0
  30. package/app/src/sdk/lib/api/avatar.ts +155 -0
  31. package/app/src/sdk/lib/api/client.ts +135 -0
  32. package/app/src/sdk/lib/api/index.ts +8 -0
  33. package/app/src/sdk/lib/api/profile.ts +80 -0
  34. package/app/src/sdk/lib/api/wallet.ts +59 -0
  35. package/app/src/sdk/lib/types/auth.ts +78 -0
  36. package/app/src/sdk/lib/types/avatar.ts +22 -0
  37. package/app/src/sdk/lib/types/index.ts +8 -0
  38. package/app/src/sdk/lib/types/profile.ts +18 -0
  39. package/app/src/sdk/lib/types/wallet.ts +103 -0
  40. package/app/src/sdk/lib/types.ts +205 -0
  41. package/app/src/sdk/lib/utils/index.ts +6 -0
  42. package/app/src/sdk/lib/utils/phone.ts +71 -0
  43. package/app/src/sdk/lib/utils/storage.ts +116 -0
  44. package/app/src/sdk/lib/utils/wallet.ts +73 -0
  45. package/app/src/sdk/types.ts +205 -0
  46. package/app/src/styles.css +154 -0
  47. package/app/svg-mock.js +125 -0
  48. package/app/svg-mock.jsx +120 -0
  49. package/app/vite.config.ts +70 -0
  50. package/assets/ASSETS_MANIFEST.md +124 -0
  51. package/assets/bae.png +0 -0
  52. package/assets/bro.png +0 -0
  53. package/assets/cultural-stickers/Business.png +0 -0
  54. package/assets/cultural-stickers/Default (2).jpg +0 -0
  55. package/assets/cultural-stickers/Design.png +0 -0
  56. package/assets/cultural-stickers/FollowYourHeart.png +0 -0
  57. package/assets/cultural-stickers/Food.png +0 -0
  58. package/assets/cultural-stickers/Game.png +0 -0
  59. package/assets/cultural-stickers/Health&Fitness.png +0 -0
  60. package/assets/cultural-stickers/Home&Lifestyle.png +0 -0
  61. package/assets/cultural-stickers/Law.png +0 -0
  62. package/assets/cultural-stickers/Literature&Stories.png +0 -0
  63. package/assets/cultural-stickers/Music&Entertainment.png +0 -0
  64. package/assets/cultural-stickers/Nature&Wildlife.png +0 -0
  65. package/assets/cultural-stickers/Photography.png +0 -0
  66. package/assets/cultural-stickers/Science&Technology.png +0 -0
  67. package/assets/cultural-stickers/Spiritual.png +0 -0
  68. package/assets/cultural-stickers/Sport.png +0 -0
  69. package/assets/cultural-stickers/Stories&Journal.png +0 -0
  70. package/assets/cultural-stickers/Television&Cinema.png +0 -0
  71. package/assets/cultural-stickers/Travel&Adventure.png +0 -0
  72. package/assets/cultural-stickers/z.jpg (1).jpg +0 -0
  73. package/assets/figma-assets/landing-zo-logo.png +0 -0
  74. package/assets/images/rank1.jpeg +0 -0
  75. package/assets/index.ts +76 -0
  76. package/assets/lotties/loader.json +1216 -0
  77. package/assets/lotties/spinner.json +1 -0
  78. package/assets/videos/loading-screen-background.mp4 +0 -0
  79. package/assets/videos/opening-disks.mp4 +0 -0
  80. package/assets/wallet/constants.ts +38 -0
  81. package/assets/zo-coin.gif +0 -0
  82. package/assets/zo-fallback.png +0 -0
  83. package/dist/assets/index.d.mts +136 -0
  84. package/dist/assets/index.d.ts +136 -0
  85. package/dist/assets/index.js +133 -0
  86. package/dist/assets/index.js.map +1 -0
  87. package/dist/assets/index.mjs +100 -0
  88. package/dist/assets/index.mjs.map +1 -0
  89. package/dist/index.d.mts +789 -0
  90. package/dist/index.d.ts +789 -0
  91. package/dist/index.js +1118 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/index.mjs +1060 -0
  94. package/dist/index.mjs.map +1 -0
  95. package/dist/react-native.d.mts +537 -0
  96. package/dist/react-native.d.ts +537 -0
  97. package/dist/react-native.js +1617 -0
  98. package/dist/react-native.js.map +1 -0
  99. package/dist/react-native.mjs +1588 -0
  100. package/dist/react-native.mjs.map +1 -0
  101. package/dist/react.d.mts +824 -0
  102. package/dist/react.d.ts +824 -0
  103. package/dist/react.js +3856 -0
  104. package/dist/react.js.map +1 -0
  105. package/dist/react.mjs +3801 -0
  106. package/dist/react.mjs.map +1 -0
  107. package/package.json +112 -0
  108. package/scripts/init.js +196 -0
  109. package/scripts/postinstall.js +174 -0
  110. package/scripts/verify-build.js +121 -0
@@ -0,0 +1,100 @@
1
+ // assets/wallet/constants.ts
2
+ var WALLET_ASSETS = {
3
+ walletBackground: "https://proxy.cdn.zo.xyz/gallery/media/images/2e1fe74c-673c-4acd-a5aa-4ac13027dfb2_20250706072110.png",
4
+ walletCover: "https://proxy.cdn.zo.xyz/gallery/media/images/aeb1d508-c511-46a9-b4f8-260ea8825c6a_20250706072152.png",
5
+ shine: "https://proxy.cdn.zo.xyz/gallery/media/images/2a117a82-e399-4278-8eac-0d5b9209d150_20250706073538.png"
6
+ };
7
+ var WALLET_COLORS = {
8
+ background: "#111111",
9
+ cardBackground: "#222222",
10
+ cardInner: "rgba(255, 255, 255, 0.24)",
11
+ cardContent: "#111111",
12
+ cardBorder: "rgba(255, 255, 255, 0.16)",
13
+ textWhite: "#FFFFFF",
14
+ textGray: "rgba(255, 255, 255, 0.44)",
15
+ zoGreen: "#00C853",
16
+ shadowDark: "rgba(25, 25, 25, 1)"
17
+ };
18
+ var WALLET_DIMENSIONS = {
19
+ cardAspectRatio: 312 / 200,
20
+ coverAspectRatio: 312 / 120,
21
+ cardBorderRadius: 16,
22
+ innerBorderRadius: 12,
23
+ avatarSize: 32,
24
+ tokenSize: 16,
25
+ tokenVideoSize: 24
26
+ };
27
+ var ANIMATIONS = {
28
+ shineDuration: 1500,
29
+ cardTransition: 300,
30
+ fadeInDuration: 500
31
+ };
32
+
33
+ // assets/index.ts
34
+ var ASSETS = {
35
+ // Core avatars
36
+ BRO_AVATAR: "/bro.png",
37
+ BAE_AVATAR: "/bae.png",
38
+ FALLBACK_AVATAR: "/zo-fallback.png",
39
+ DEFAULT_AVATAR: "/images/rank1.jpeg",
40
+ // Branding
41
+ ZO_LOGO: "/figma-assets/landing-zo-logo.png",
42
+ ZO_COIN: "/zo-coin.gif",
43
+ // Videos
44
+ LANDING_VIDEO: "/videos/loading-screen-background.mp4",
45
+ PORTAL_VIDEO: "/videos/opening-disks.mp4",
46
+ // Passport backgrounds (CDN)
47
+ FOUNDER_BG: "https://proxy.cdn.zo.xyz/gallery/media/images/a1659b07-94f0-4490-9b3c-3366715d9717_20250515053726.png",
48
+ CITIZEN_BG: "https://proxy.cdn.zo.xyz/gallery/media/images/bda9da5a-eefe-411d-8d90-667c80024463_20250515053805.png",
49
+ // Lotties
50
+ LOADER: "/lotties/loader.json",
51
+ SPINNER: "/lotties/spinner.json"
52
+ };
53
+ var CULTURE_STICKERS = {
54
+ travel: "/cultural-stickers/Travel&Adventure.png",
55
+ design: "/cultural-stickers/Design.png",
56
+ tech: "/cultural-stickers/Science&Technology.png",
57
+ food: "/cultural-stickers/Food.png",
58
+ music: "/cultural-stickers/Music&Entertainment.png",
59
+ photography: "/cultural-stickers/Photography.png",
60
+ fitness: "/cultural-stickers/Health&Fitness.png",
61
+ sports: "/cultural-stickers/Sport.png",
62
+ literature: "/cultural-stickers/Literature&Stories.png",
63
+ cinema: "/cultural-stickers/Television&Cinema.png",
64
+ spiritual: "/cultural-stickers/Spiritual.png",
65
+ nature: "/cultural-stickers/Nature&Wildlife.png",
66
+ business: "/cultural-stickers/Business.png",
67
+ law: "/cultural-stickers/Law.png",
68
+ lifestyle: "/cultural-stickers/Home&Lifestyle.png",
69
+ gaming: "/cultural-stickers/Game.png",
70
+ stories: "/cultural-stickers/Stories&Journal.png"
71
+ };
72
+ var CULTURES = [
73
+ { id: "travel", name: "Travel & Adventure", icon: CULTURE_STICKERS.travel },
74
+ { id: "design", name: "Design", icon: CULTURE_STICKERS.design },
75
+ { id: "tech", name: "Science & Technology", icon: CULTURE_STICKERS.tech },
76
+ { id: "food", name: "Food", icon: CULTURE_STICKERS.food },
77
+ { id: "music", name: "Music & Entertainment", icon: CULTURE_STICKERS.music },
78
+ { id: "photography", name: "Photography", icon: CULTURE_STICKERS.photography },
79
+ { id: "fitness", name: "Health & Fitness", icon: CULTURE_STICKERS.fitness },
80
+ { id: "sports", name: "Sport", icon: CULTURE_STICKERS.sports },
81
+ { id: "literature", name: "Literature & Stories", icon: CULTURE_STICKERS.literature },
82
+ { id: "cinema", name: "Television & Cinema", icon: CULTURE_STICKERS.cinema },
83
+ { id: "spiritual", name: "Spiritual", icon: CULTURE_STICKERS.spiritual },
84
+ { id: "nature", name: "Nature & Wildlife", icon: CULTURE_STICKERS.nature },
85
+ { id: "business", name: "Business", icon: CULTURE_STICKERS.business },
86
+ { id: "law", name: "Law", icon: CULTURE_STICKERS.law },
87
+ { id: "lifestyle", name: "Home & Lifestyle", icon: CULTURE_STICKERS.lifestyle },
88
+ { id: "gaming", name: "Game", icon: CULTURE_STICKERS.gaming },
89
+ { id: "stories", name: "Stories & Journal", icon: CULTURE_STICKERS.stories }
90
+ ];
91
+ export {
92
+ ANIMATIONS,
93
+ ASSETS,
94
+ CULTURES,
95
+ CULTURE_STICKERS,
96
+ WALLET_ASSETS,
97
+ WALLET_COLORS,
98
+ WALLET_DIMENSIONS
99
+ };
100
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../assets/wallet/constants.ts","../../assets/index.ts"],"sourcesContent":["// Wallet Asset URLs - Production CDN\nexport const WALLET_ASSETS = {\n walletBackground:\n 'https://proxy.cdn.zo.xyz/gallery/media/images/2e1fe74c-673c-4acd-a5aa-4ac13027dfb2_20250706072110.png',\n walletCover:\n 'https://proxy.cdn.zo.xyz/gallery/media/images/aeb1d508-c511-46a9-b4f8-260ea8825c6a_20250706072152.png',\n shine:\n 'https://proxy.cdn.zo.xyz/gallery/media/images/2a117a82-e399-4278-8eac-0d5b9209d150_20250706073538.png',\n} as const;\n\nexport const WALLET_COLORS = {\n background: '#111111',\n cardBackground: '#222222',\n cardInner: 'rgba(255, 255, 255, 0.24)',\n cardContent: '#111111',\n cardBorder: 'rgba(255, 255, 255, 0.16)',\n textWhite: '#FFFFFF',\n textGray: 'rgba(255, 255, 255, 0.44)',\n zoGreen: '#00C853',\n shadowDark: 'rgba(25, 25, 25, 1)',\n} as const;\n\nexport const WALLET_DIMENSIONS = {\n cardAspectRatio: 312 / 200,\n coverAspectRatio: 312 / 120,\n cardBorderRadius: 16,\n innerBorderRadius: 12,\n avatarSize: 32,\n tokenSize: 16,\n tokenVideoSize: 24,\n} as const;\n\nexport const ANIMATIONS = {\n shineDuration: 1500,\n cardTransition: 300,\n fadeInDuration: 500,\n} as const;\n\n","// Asset path constants for Zo Passport SDK\n// Use these when configuring components\n\nexport const ASSETS = {\n // Core avatars\n BRO_AVATAR: '/bro.png',\n BAE_AVATAR: '/bae.png',\n FALLBACK_AVATAR: '/zo-fallback.png',\n DEFAULT_AVATAR: '/images/rank1.jpeg',\n\n // Branding\n ZO_LOGO: '/figma-assets/landing-zo-logo.png',\n ZO_COIN: '/zo-coin.gif',\n\n // Videos\n LANDING_VIDEO: '/videos/loading-screen-background.mp4',\n PORTAL_VIDEO: '/videos/opening-disks.mp4',\n\n // Passport backgrounds (CDN)\n FOUNDER_BG: 'https://proxy.cdn.zo.xyz/gallery/media/images/a1659b07-94f0-4490-9b3c-3366715d9717_20250515053726.png',\n CITIZEN_BG: 'https://proxy.cdn.zo.xyz/gallery/media/images/bda9da5a-eefe-411d-8d90-667c80024463_20250515053805.png',\n\n // Lotties\n LOADER: '/lotties/loader.json',\n SPINNER: '/lotties/spinner.json',\n} as const;\n\n// Cultural sticker paths\nexport const CULTURE_STICKERS = {\n travel: '/cultural-stickers/Travel&Adventure.png',\n design: '/cultural-stickers/Design.png',\n tech: '/cultural-stickers/Science&Technology.png',\n food: '/cultural-stickers/Food.png',\n music: '/cultural-stickers/Music&Entertainment.png',\n photography: '/cultural-stickers/Photography.png',\n fitness: '/cultural-stickers/Health&Fitness.png',\n sports: '/cultural-stickers/Sport.png',\n literature: '/cultural-stickers/Literature&Stories.png',\n cinema: '/cultural-stickers/Television&Cinema.png',\n spiritual: '/cultural-stickers/Spiritual.png',\n nature: '/cultural-stickers/Nature&Wildlife.png',\n business: '/cultural-stickers/Business.png',\n law: '/cultural-stickers/Law.png',\n lifestyle: '/cultural-stickers/Home&Lifestyle.png',\n gaming: '/cultural-stickers/Game.png',\n stories: '/cultural-stickers/Stories&Journal.png',\n} as const;\n\n// Culture metadata\nexport const CULTURES = [\n { id: 'travel', name: 'Travel & Adventure', icon: CULTURE_STICKERS.travel },\n { id: 'design', name: 'Design', icon: CULTURE_STICKERS.design },\n { id: 'tech', name: 'Science & Technology', icon: CULTURE_STICKERS.tech },\n { id: 'food', name: 'Food', icon: CULTURE_STICKERS.food },\n { id: 'music', name: 'Music & Entertainment', icon: CULTURE_STICKERS.music },\n { id: 'photography', name: 'Photography', icon: CULTURE_STICKERS.photography },\n { id: 'fitness', name: 'Health & Fitness', icon: CULTURE_STICKERS.fitness },\n { id: 'sports', name: 'Sport', icon: CULTURE_STICKERS.sports },\n { id: 'literature', name: 'Literature & Stories', icon: CULTURE_STICKERS.literature },\n { id: 'cinema', name: 'Television & Cinema', icon: CULTURE_STICKERS.cinema },\n { id: 'spiritual', name: 'Spiritual', icon: CULTURE_STICKERS.spiritual },\n { id: 'nature', name: 'Nature & Wildlife', icon: CULTURE_STICKERS.nature },\n { id: 'business', name: 'Business', icon: CULTURE_STICKERS.business },\n { id: 'law', name: 'Law', icon: CULTURE_STICKERS.law },\n { id: 'lifestyle', name: 'Home & Lifestyle', icon: CULTURE_STICKERS.lifestyle },\n { id: 'gaming', name: 'Game', icon: CULTURE_STICKERS.gaming },\n { id: 'stories', name: 'Stories & Journal', icon: CULTURE_STICKERS.stories },\n] as const;\n\nexport type CultureId = typeof CULTURES[number]['id'];\n\n// =====================\n// Wallet Assets\n// =====================\n\nexport * from './wallet/constants';\n"],"mappings":";AACO,IAAM,gBAAgB;AAAA,EAC3B,kBACE;AAAA,EACF,aACE;AAAA,EACF,OACE;AACJ;AAEO,IAAM,gBAAgB;AAAA,EAC3B,YAAY;AAAA,EACZ,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,UAAU;AAAA,EACV,SAAS;AAAA,EACT,YAAY;AACd;AAEO,IAAM,oBAAoB;AAAA,EAC/B,iBAAiB,MAAM;AAAA,EACvB,kBAAkB,MAAM;AAAA,EACxB,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAClB;AAEO,IAAM,aAAa;AAAA,EACxB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,gBAAgB;AAClB;;;ACjCO,IAAM,SAAS;AAAA;AAAA,EAEpB,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,gBAAgB;AAAA;AAAA,EAGhB,SAAS;AAAA,EACT,SAAS;AAAA;AAAA,EAGT,eAAe;AAAA,EACf,cAAc;AAAA;AAAA,EAGd,YAAY;AAAA,EACZ,YAAY;AAAA;AAAA,EAGZ,QAAQ;AAAA,EACR,SAAS;AACX;AAGO,IAAM,mBAAmB;AAAA,EAC9B,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,aAAa;AAAA,EACb,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,KAAK;AAAA,EACL,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,SAAS;AACX;AAGO,IAAM,WAAW;AAAA,EACtB,EAAE,IAAI,UAAU,MAAM,sBAAsB,MAAM,iBAAiB,OAAO;AAAA,EAC1E,EAAE,IAAI,UAAU,MAAM,UAAU,MAAM,iBAAiB,OAAO;AAAA,EAC9D,EAAE,IAAI,QAAQ,MAAM,wBAAwB,MAAM,iBAAiB,KAAK;AAAA,EACxE,EAAE,IAAI,QAAQ,MAAM,QAAQ,MAAM,iBAAiB,KAAK;AAAA,EACxD,EAAE,IAAI,SAAS,MAAM,yBAAyB,MAAM,iBAAiB,MAAM;AAAA,EAC3E,EAAE,IAAI,eAAe,MAAM,eAAe,MAAM,iBAAiB,YAAY;AAAA,EAC7E,EAAE,IAAI,WAAW,MAAM,oBAAoB,MAAM,iBAAiB,QAAQ;AAAA,EAC1E,EAAE,IAAI,UAAU,MAAM,SAAS,MAAM,iBAAiB,OAAO;AAAA,EAC7D,EAAE,IAAI,cAAc,MAAM,wBAAwB,MAAM,iBAAiB,WAAW;AAAA,EACpF,EAAE,IAAI,UAAU,MAAM,uBAAuB,MAAM,iBAAiB,OAAO;AAAA,EAC3E,EAAE,IAAI,aAAa,MAAM,aAAa,MAAM,iBAAiB,UAAU;AAAA,EACvE,EAAE,IAAI,UAAU,MAAM,qBAAqB,MAAM,iBAAiB,OAAO;AAAA,EACzE,EAAE,IAAI,YAAY,MAAM,YAAY,MAAM,iBAAiB,SAAS;AAAA,EACpE,EAAE,IAAI,OAAO,MAAM,OAAO,MAAM,iBAAiB,IAAI;AAAA,EACrD,EAAE,IAAI,aAAa,MAAM,oBAAoB,MAAM,iBAAiB,UAAU;AAAA,EAC9E,EAAE,IAAI,UAAU,MAAM,QAAQ,MAAM,iBAAiB,OAAO;AAAA,EAC5D,EAAE,IAAI,WAAW,MAAM,qBAAqB,MAAM,iBAAiB,QAAQ;AAC7E;","names":[]}