apexify.js 4.8.0 → 4.8.2

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 (274) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/ai/ApexAI.d.ts +0 -1
  3. package/dist/cjs/ai/ApexAI.js +56 -68
  4. package/dist/cjs/ai/ApexModules.d.ts +0 -1
  5. package/dist/cjs/ai/ApexModules.js +25 -33
  6. package/dist/cjs/ai/functions/readFiles.d.ts +0 -1
  7. package/dist/cjs/ai/functions/readFiles.js +11 -51
  8. package/dist/cjs/ai/functions/tokenizer.d.ts +0 -1
  9. package/dist/cjs/ai/functions/tokenizer.js +1 -5
  10. package/dist/cjs/ai/functions/validOptions.d.ts +0 -1
  11. package/dist/cjs/ai/functions/validOptions.js +13 -23
  12. package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts +0 -1
  13. package/dist/cjs/ai/modals/electronHub/chatmodels.js +5 -12
  14. package/dist/cjs/ai/modals/electronHub/imageModels.d.ts +0 -1
  15. package/dist/cjs/ai/modals/electronHub/imageModels.js +10 -17
  16. package/dist/cjs/ai/modals/electronHub/songModels.d.ts +0 -1
  17. package/dist/cjs/ai/modals/electronHub/songModels.js +1 -3
  18. package/dist/cjs/ai/modals/electronHub/speechModels.d.ts +0 -1
  19. package/dist/cjs/ai/modals/electronHub/speechModels.js +7 -14
  20. package/dist/cjs/ai/modals/electronHub/videoModels.d.ts +0 -1
  21. package/dist/cjs/ai/modals/electronHub/videoModels.js +5 -12
  22. package/dist/cjs/ai/modals/groq/chatgroq.d.ts +0 -1
  23. package/dist/cjs/ai/modals/groq/chatgroq.js +4 -11
  24. package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts +0 -1
  25. package/dist/cjs/ai/modals/groq/imageAnalyzer.js +9 -16
  26. package/dist/cjs/ai/modals/groq/whisper.d.ts +0 -1
  27. package/dist/cjs/ai/modals/groq/whisper.js +20 -27
  28. package/dist/cjs/ai/modals/hercai/chatModels.d.ts +0 -1
  29. package/dist/cjs/ai/modals/hercai/chatModels.js +3 -7
  30. package/dist/cjs/ai/utils.d.ts +4 -6
  31. package/dist/cjs/ai/utils.js +4 -17
  32. package/dist/cjs/canvas/ApexPainter.d.ts +1 -2
  33. package/dist/cjs/canvas/ApexPainter.js +93 -101
  34. package/dist/cjs/canvas/utils/Background/bg.d.ts +1 -2
  35. package/dist/cjs/canvas/utils/Background/bg.js +8 -18
  36. package/dist/cjs/canvas/utils/Charts/charts.d.ts +1 -2
  37. package/dist/cjs/canvas/utils/Charts/charts.js +14 -23
  38. package/dist/cjs/canvas/utils/Custom/customLines.d.ts +1 -2
  39. package/dist/cjs/canvas/utils/Custom/customLines.js +4 -8
  40. package/dist/cjs/canvas/utils/General/conversion.d.ts +0 -1
  41. package/dist/cjs/canvas/utils/General/conversion.js +7 -15
  42. package/dist/cjs/canvas/utils/General/general functions.d.ts +1 -2
  43. package/dist/cjs/canvas/utils/General/general functions.js +48 -64
  44. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts +1 -2
  45. package/dist/cjs/canvas/utils/Image/imageProperties.js +9 -21
  46. package/dist/cjs/canvas/utils/Texts/textProperties.d.ts +1 -2
  47. package/dist/cjs/canvas/utils/Texts/textProperties.js +3 -9
  48. package/dist/cjs/canvas/utils/types.d.ts +0 -1
  49. package/dist/cjs/canvas/utils/types.js +1 -3
  50. package/dist/cjs/canvas/utils/utils.d.ts +8 -9
  51. package/dist/cjs/canvas/utils/utils.js +8 -44
  52. package/dist/cjs/index.d.ts +5 -6
  53. package/dist/cjs/index.js +15 -65
  54. package/dist/cjs/utils.d.ts +3 -4
  55. package/dist/cjs/utils.js +4 -16
  56. package/dist/esm/ai/ApexAI.d.ts +0 -1
  57. package/dist/esm/ai/ApexAI.js +56 -68
  58. package/dist/esm/ai/ApexModules.d.ts +0 -1
  59. package/dist/esm/ai/ApexModules.js +25 -33
  60. package/dist/esm/ai/functions/readFiles.d.ts +0 -1
  61. package/dist/esm/ai/functions/readFiles.js +11 -51
  62. package/dist/esm/ai/functions/tokenizer.d.ts +0 -1
  63. package/dist/esm/ai/functions/tokenizer.js +1 -5
  64. package/dist/esm/ai/functions/validOptions.d.ts +0 -1
  65. package/dist/esm/ai/functions/validOptions.js +13 -23
  66. package/dist/esm/ai/modals/electronHub/chatmodels.d.ts +0 -1
  67. package/dist/esm/ai/modals/electronHub/chatmodels.js +5 -12
  68. package/dist/esm/ai/modals/electronHub/imageModels.d.ts +0 -1
  69. package/dist/esm/ai/modals/electronHub/imageModels.js +10 -17
  70. package/dist/esm/ai/modals/electronHub/songModels.d.ts +0 -1
  71. package/dist/esm/ai/modals/electronHub/songModels.js +1 -3
  72. package/dist/esm/ai/modals/electronHub/speechModels.d.ts +0 -1
  73. package/dist/esm/ai/modals/electronHub/speechModels.js +7 -14
  74. package/dist/esm/ai/modals/electronHub/videoModels.d.ts +0 -1
  75. package/dist/esm/ai/modals/electronHub/videoModels.js +5 -12
  76. package/dist/esm/ai/modals/groq/chatgroq.d.ts +0 -1
  77. package/dist/esm/ai/modals/groq/chatgroq.js +4 -11
  78. package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts +0 -1
  79. package/dist/esm/ai/modals/groq/imageAnalyzer.js +9 -16
  80. package/dist/esm/ai/modals/groq/whisper.d.ts +0 -1
  81. package/dist/esm/ai/modals/groq/whisper.js +20 -27
  82. package/dist/esm/ai/modals/hercai/chatModels.d.ts +0 -1
  83. package/dist/esm/ai/modals/hercai/chatModels.js +3 -7
  84. package/dist/esm/ai/utils.d.ts +4 -6
  85. package/dist/esm/ai/utils.js +4 -17
  86. package/dist/esm/canvas/ApexPainter.d.ts +1 -2
  87. package/dist/esm/canvas/ApexPainter.js +93 -101
  88. package/dist/esm/canvas/utils/Background/bg.d.ts +1 -2
  89. package/dist/esm/canvas/utils/Background/bg.js +8 -18
  90. package/dist/esm/canvas/utils/Charts/charts.d.ts +1 -2
  91. package/dist/esm/canvas/utils/Charts/charts.js +14 -23
  92. package/dist/esm/canvas/utils/Custom/customLines.d.ts +1 -2
  93. package/dist/esm/canvas/utils/Custom/customLines.js +4 -8
  94. package/dist/esm/canvas/utils/General/conversion.d.ts +0 -1
  95. package/dist/esm/canvas/utils/General/conversion.js +7 -15
  96. package/dist/esm/canvas/utils/General/general functions.d.ts +1 -2
  97. package/dist/esm/canvas/utils/General/general functions.js +48 -64
  98. package/dist/esm/canvas/utils/Image/imageProperties.d.ts +1 -2
  99. package/dist/esm/canvas/utils/Image/imageProperties.js +9 -21
  100. package/dist/esm/canvas/utils/Texts/textProperties.d.ts +1 -2
  101. package/dist/esm/canvas/utils/Texts/textProperties.js +3 -9
  102. package/dist/esm/canvas/utils/types.d.ts +0 -1
  103. package/dist/esm/canvas/utils/types.js +1 -3
  104. package/dist/esm/canvas/utils/utils.d.ts +8 -9
  105. package/dist/esm/canvas/utils/utils.js +8 -44
  106. package/dist/esm/index.d.ts +5 -6
  107. package/dist/esm/index.js +15 -65
  108. package/dist/esm/utils.d.ts +3 -4
  109. package/dist/esm/utils.js +4 -16
  110. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  111. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  112. package/lib/ai/ApexAI.ts +2 -14
  113. package/lib/ai/ApexModules.ts +8 -8
  114. package/lib/ai/modals/electronHub/chatmodels.ts +1 -1
  115. package/lib/ai/modals/electronHub/imageModels.ts +2 -2
  116. package/lib/ai/modals/electronHub/speechModels.ts +1 -1
  117. package/lib/ai/utils.ts +3 -5
  118. package/lib/canvas/ApexPainter.ts +4 -4
  119. package/lib/canvas/utils/Background/bg.ts +1 -1
  120. package/lib/canvas/utils/Charts/charts.ts +1 -1
  121. package/lib/canvas/utils/Custom/customLines.ts +2 -2
  122. package/lib/canvas/utils/General/general functions.ts +1 -1
  123. package/lib/canvas/utils/Image/imageProperties.ts +1 -1
  124. package/lib/canvas/utils/Texts/textProperties.ts +1 -1
  125. package/lib/canvas/utils/utils.ts +8 -8
  126. package/lib/index.ts +5 -5
  127. package/lib/utils.ts +3 -3
  128. package/package.json +8 -6
  129. package/dist/cjs/ai/ApexAI.d.ts.map +0 -1
  130. package/dist/cjs/ai/ApexAI.js.map +0 -1
  131. package/dist/cjs/ai/ApexModules.d.ts.map +0 -1
  132. package/dist/cjs/ai/ApexModules.js.map +0 -1
  133. package/dist/cjs/ai/buttons/drawMenu.d.ts +0 -3
  134. package/dist/cjs/ai/buttons/drawMenu.d.ts.map +0 -1
  135. package/dist/cjs/ai/buttons/drawMenu.js +0 -273
  136. package/dist/cjs/ai/buttons/drawMenu.js.map +0 -1
  137. package/dist/cjs/ai/buttons/tools.d.ts +0 -3
  138. package/dist/cjs/ai/buttons/tools.d.ts.map +0 -1
  139. package/dist/cjs/ai/buttons/tools.js +0 -445
  140. package/dist/cjs/ai/buttons/tools.js.map +0 -1
  141. package/dist/cjs/ai/functions/readFiles.d.ts.map +0 -1
  142. package/dist/cjs/ai/functions/readFiles.js.map +0 -1
  143. package/dist/cjs/ai/functions/tokenizer.d.ts.map +0 -1
  144. package/dist/cjs/ai/functions/tokenizer.js.map +0 -1
  145. package/dist/cjs/ai/functions/typeWriter.d.ts +0 -2
  146. package/dist/cjs/ai/functions/typeWriter.d.ts.map +0 -1
  147. package/dist/cjs/ai/functions/typeWriter.js +0 -24
  148. package/dist/cjs/ai/functions/typeWriter.js.map +0 -1
  149. package/dist/cjs/ai/functions/validOptions.d.ts.map +0 -1
  150. package/dist/cjs/ai/functions/validOptions.js.map +0 -1
  151. package/dist/cjs/ai/modals/electronHub/chatmodels.d.ts.map +0 -1
  152. package/dist/cjs/ai/modals/electronHub/chatmodels.js.map +0 -1
  153. package/dist/cjs/ai/modals/electronHub/imageModels.d.ts.map +0 -1
  154. package/dist/cjs/ai/modals/electronHub/imageModels.js.map +0 -1
  155. package/dist/cjs/ai/modals/electronHub/songModels.d.ts.map +0 -1
  156. package/dist/cjs/ai/modals/electronHub/songModels.js.map +0 -1
  157. package/dist/cjs/ai/modals/electronHub/speechModels.d.ts.map +0 -1
  158. package/dist/cjs/ai/modals/electronHub/speechModels.js.map +0 -1
  159. package/dist/cjs/ai/modals/electronHub/videoModels.d.ts.map +0 -1
  160. package/dist/cjs/ai/modals/electronHub/videoModels.js.map +0 -1
  161. package/dist/cjs/ai/modals/groq/chatgroq.d.ts.map +0 -1
  162. package/dist/cjs/ai/modals/groq/chatgroq.js.map +0 -1
  163. package/dist/cjs/ai/modals/groq/imageAnalyzer.d.ts.map +0 -1
  164. package/dist/cjs/ai/modals/groq/imageAnalyzer.js.map +0 -1
  165. package/dist/cjs/ai/modals/groq/whisper.d.ts.map +0 -1
  166. package/dist/cjs/ai/modals/groq/whisper.js.map +0 -1
  167. package/dist/cjs/ai/modals/hercai/chatModels.d.ts.map +0 -1
  168. package/dist/cjs/ai/modals/hercai/chatModels.js.map +0 -1
  169. package/dist/cjs/ai/utils.d.ts.map +0 -1
  170. package/dist/cjs/ai/utils.js.map +0 -1
  171. package/dist/cjs/canvas/ApexPainter.d.ts.map +0 -1
  172. package/dist/cjs/canvas/ApexPainter.js.map +0 -1
  173. package/dist/cjs/canvas/Themes/Level-Up/levelup.d.ts +0 -11
  174. package/dist/cjs/canvas/Themes/Level-Up/levelup.d.ts.map +0 -1
  175. package/dist/cjs/canvas/Themes/Level-Up/levelup.js +0 -163
  176. package/dist/cjs/canvas/Themes/Level-Up/levelup.js.map +0 -1
  177. package/dist/cjs/canvas/utils/Background/bg.d.ts.map +0 -1
  178. package/dist/cjs/canvas/utils/Background/bg.js.map +0 -1
  179. package/dist/cjs/canvas/utils/Charts/charts.d.ts.map +0 -1
  180. package/dist/cjs/canvas/utils/Charts/charts.js.map +0 -1
  181. package/dist/cjs/canvas/utils/Custom/customLines.d.ts.map +0 -1
  182. package/dist/cjs/canvas/utils/Custom/customLines.js.map +0 -1
  183. package/dist/cjs/canvas/utils/General/conversion.d.ts.map +0 -1
  184. package/dist/cjs/canvas/utils/General/conversion.js.map +0 -1
  185. package/dist/cjs/canvas/utils/General/general functions.d.ts.map +0 -1
  186. package/dist/cjs/canvas/utils/General/general functions.js.map +0 -1
  187. package/dist/cjs/canvas/utils/Image/imageProperties.d.ts.map +0 -1
  188. package/dist/cjs/canvas/utils/Image/imageProperties.js.map +0 -1
  189. package/dist/cjs/canvas/utils/Texts/textProperties.d.ts.map +0 -1
  190. package/dist/cjs/canvas/utils/Texts/textProperties.js.map +0 -1
  191. package/dist/cjs/canvas/utils/types.d.ts.map +0 -1
  192. package/dist/cjs/canvas/utils/types.js.map +0 -1
  193. package/dist/cjs/canvas/utils/utils.d.ts.map +0 -1
  194. package/dist/cjs/canvas/utils/utils.js.map +0 -1
  195. package/dist/cjs/index.d.ts.map +0 -1
  196. package/dist/cjs/index.js.map +0 -1
  197. package/dist/cjs/tsconfig.cjs.tsbuildinfo +0 -1
  198. package/dist/cjs/utils.d.ts.map +0 -1
  199. package/dist/cjs/utils.js.map +0 -1
  200. package/dist/esm/ai/ApexAI.d.ts.map +0 -1
  201. package/dist/esm/ai/ApexAI.js.map +0 -1
  202. package/dist/esm/ai/ApexModules.d.ts.map +0 -1
  203. package/dist/esm/ai/ApexModules.js.map +0 -1
  204. package/dist/esm/ai/buttons/drawMenu.d.ts +0 -3
  205. package/dist/esm/ai/buttons/drawMenu.d.ts.map +0 -1
  206. package/dist/esm/ai/buttons/drawMenu.js +0 -273
  207. package/dist/esm/ai/buttons/drawMenu.js.map +0 -1
  208. package/dist/esm/ai/buttons/tools.d.ts +0 -3
  209. package/dist/esm/ai/buttons/tools.d.ts.map +0 -1
  210. package/dist/esm/ai/buttons/tools.js +0 -445
  211. package/dist/esm/ai/buttons/tools.js.map +0 -1
  212. package/dist/esm/ai/functions/readFiles.d.ts.map +0 -1
  213. package/dist/esm/ai/functions/readFiles.js.map +0 -1
  214. package/dist/esm/ai/functions/tokenizer.d.ts.map +0 -1
  215. package/dist/esm/ai/functions/tokenizer.js.map +0 -1
  216. package/dist/esm/ai/functions/typeWriter.d.ts +0 -2
  217. package/dist/esm/ai/functions/typeWriter.d.ts.map +0 -1
  218. package/dist/esm/ai/functions/typeWriter.js +0 -24
  219. package/dist/esm/ai/functions/typeWriter.js.map +0 -1
  220. package/dist/esm/ai/functions/validOptions.d.ts.map +0 -1
  221. package/dist/esm/ai/functions/validOptions.js.map +0 -1
  222. package/dist/esm/ai/modals/electronHub/chatmodels.d.ts.map +0 -1
  223. package/dist/esm/ai/modals/electronHub/chatmodels.js.map +0 -1
  224. package/dist/esm/ai/modals/electronHub/imageModels.d.ts.map +0 -1
  225. package/dist/esm/ai/modals/electronHub/imageModels.js.map +0 -1
  226. package/dist/esm/ai/modals/electronHub/songModels.d.ts.map +0 -1
  227. package/dist/esm/ai/modals/electronHub/songModels.js.map +0 -1
  228. package/dist/esm/ai/modals/electronHub/speechModels.d.ts.map +0 -1
  229. package/dist/esm/ai/modals/electronHub/speechModels.js.map +0 -1
  230. package/dist/esm/ai/modals/electronHub/videoModels.d.ts.map +0 -1
  231. package/dist/esm/ai/modals/electronHub/videoModels.js.map +0 -1
  232. package/dist/esm/ai/modals/groq/chatgroq.d.ts.map +0 -1
  233. package/dist/esm/ai/modals/groq/chatgroq.js.map +0 -1
  234. package/dist/esm/ai/modals/groq/imageAnalyzer.d.ts.map +0 -1
  235. package/dist/esm/ai/modals/groq/imageAnalyzer.js.map +0 -1
  236. package/dist/esm/ai/modals/groq/whisper.d.ts.map +0 -1
  237. package/dist/esm/ai/modals/groq/whisper.js.map +0 -1
  238. package/dist/esm/ai/modals/hercai/chatModels.d.ts.map +0 -1
  239. package/dist/esm/ai/modals/hercai/chatModels.js.map +0 -1
  240. package/dist/esm/ai/utils.d.ts.map +0 -1
  241. package/dist/esm/ai/utils.js.map +0 -1
  242. package/dist/esm/canvas/ApexPainter.d.ts.map +0 -1
  243. package/dist/esm/canvas/ApexPainter.js.map +0 -1
  244. package/dist/esm/canvas/Themes/Level-Up/levelup.d.ts +0 -11
  245. package/dist/esm/canvas/Themes/Level-Up/levelup.d.ts.map +0 -1
  246. package/dist/esm/canvas/Themes/Level-Up/levelup.js +0 -163
  247. package/dist/esm/canvas/Themes/Level-Up/levelup.js.map +0 -1
  248. package/dist/esm/canvas/utils/Background/bg.d.ts.map +0 -1
  249. package/dist/esm/canvas/utils/Background/bg.js.map +0 -1
  250. package/dist/esm/canvas/utils/Charts/charts.d.ts.map +0 -1
  251. package/dist/esm/canvas/utils/Charts/charts.js.map +0 -1
  252. package/dist/esm/canvas/utils/Custom/customLines.d.ts.map +0 -1
  253. package/dist/esm/canvas/utils/Custom/customLines.js.map +0 -1
  254. package/dist/esm/canvas/utils/General/conversion.d.ts.map +0 -1
  255. package/dist/esm/canvas/utils/General/conversion.js.map +0 -1
  256. package/dist/esm/canvas/utils/General/general functions.d.ts.map +0 -1
  257. package/dist/esm/canvas/utils/General/general functions.js.map +0 -1
  258. package/dist/esm/canvas/utils/Image/imageProperties.d.ts.map +0 -1
  259. package/dist/esm/canvas/utils/Image/imageProperties.js.map +0 -1
  260. package/dist/esm/canvas/utils/Texts/textProperties.d.ts.map +0 -1
  261. package/dist/esm/canvas/utils/Texts/textProperties.js.map +0 -1
  262. package/dist/esm/canvas/utils/types.d.ts.map +0 -1
  263. package/dist/esm/canvas/utils/types.js.map +0 -1
  264. package/dist/esm/canvas/utils/utils.d.ts.map +0 -1
  265. package/dist/esm/canvas/utils/utils.js.map +0 -1
  266. package/dist/esm/index.d.ts.map +0 -1
  267. package/dist/esm/index.js.map +0 -1
  268. package/dist/esm/tsconfig.esm.tsbuildinfo +0 -1
  269. package/dist/esm/utils.d.ts.map +0 -1
  270. package/dist/esm/utils.js.map +0 -1
  271. package/lib/ai/buttons/drawMenu.ts +0 -361
  272. package/lib/ai/buttons/tools.ts +0 -551
  273. package/lib/ai/functions/typeWriter.ts +0 -24
  274. package/lib/canvas/Themes/Level-Up/levelup.ts +0 -183
@@ -1,183 +0,0 @@
1
- import { ApexPainter, CanvasConfig, ImageProperties, TextObject } from "../../../index";
2
-
3
- const Image = new ApexPainter();
4
-
5
- /**
6
- * Generates a level-up card.
7
- * @param {string} userPfp - User profile picture URL.
8
- * @param {string} username - Username.
9
- * @param {string} [levelUpmsg="Well done user. You had leveled up 🔥🔥"] - Custom level-up message.
10
- * @param {string} prevLevel - Previous level before leveling up.
11
- * @param {string} nextLevel - Next level after leveling up.
12
- * @returns {Promise<Buffer>} - The generated level-up image.
13
- */
14
- export async function level_up_1(
15
- userPfp: string,
16
- username: string,
17
- levelUpmsg: string = "Well done user. You had leveled up 🔥🔥",
18
- prevLevel: string,
19
- nextLevel: string
20
- ): Promise<Buffer> {
21
-
22
- /** Helper function to detect Arabic text */
23
- const isArabic = (text: string) => /[\u0600-\u06FF]/.test(text);
24
-
25
- /** Helper function to shuffle an array */
26
- function shuffleArray<T>(array: T[]): T[] {
27
- return array.sort(() => Math.random() - 0.5);
28
- }
29
-
30
- /** Extracts and returns random colors from the dominant colors */
31
- function getRandomColors(colors: { color: string }[]): string[] {
32
- if (colors.length === 0) return ["rgb(0, 255, 247)", "rgb(157, 0, 255)", "rgb(255, 94, 0)"];
33
- return shuffleArray(colors).slice(0, 5).map(c => `rgb(${c.color})`);
34
- }
35
-
36
- // 1. **Canvas Configuration**
37
- const canvasConfig: CanvasConfig = {
38
- customBg: './bg.png',
39
- width: 1599, height: 876,
40
- zoom: {}
41
- };
42
-
43
- const bg = await Image.createCanvas(canvasConfig);
44
-
45
- // 2. **Extract Dominant Colors for Gradients**
46
- const dominantColors = await Image.colorAnalysis(userPfp);
47
- const gradientColors = getRandomColors(dominantColors).map((color, index) => ({
48
- stop: index / 4, color
49
- }));
50
- const shadowGradient = [...gradientColors];
51
-
52
- // 3. **User Profile Picture Configuration**
53
- const imgs: ImageProperties[] = [{
54
- source: userPfp,
55
- width: 240, height: 240,
56
- x: 235, y: 235,
57
- blur: 0.4,
58
- borderRadius: 'circular',
59
- stroke: {
60
- width: 8, position: 5, blur: 0.5,
61
- borderRadius: 'circular',
62
- gradient: {
63
- type: 'linear',
64
- startX: 200, startY: 200,
65
- endX: 290, endY: 290,
66
- colors: gradientColors
67
- }
68
- },
69
- shadow: {
70
- gradient: {
71
- type: 'linear',
72
- startX: 220, startY: 220,
73
- endX: 270, endY: 270,
74
- colors: shadowGradient
75
- },
76
- opacity: 0.7,
77
- blur: 25,
78
- borderRadius: 90,
79
- offsetX: 0, offsetY: 0,
80
- }
81
- }];
82
-
83
- const img = await Image.createImage(imgs, bg);
84
-
85
- // 4. **Username Text Handling**
86
- const maxLength = isArabic(username) ? 12 : 10;
87
- let displayName = username.length > maxLength
88
- ? isArabic(username)
89
- ? '...' + username.slice(-maxLength)
90
- : username.slice(0, maxLength - 3) + '...'
91
- : username;
92
-
93
- let xPos = isArabic(username) ? Math.max(480 - (displayName.length - 4) * 3, 190) - 30 : 300 - Math.min((displayName.length - 3) * 10, 110);
94
-
95
- // 5. **Message Text Alignment**
96
- const container = { width: 590, height: 235, x: 810, y: 520 };
97
- const fontName = isArabic(levelUpmsg) ? 'Segoe UI' : 'Segoe UI Emoji';
98
- const textX = isArabic(levelUpmsg) ? container.x + 290 : container.x + 285;
99
-
100
- // 6. **Dynamic Level Positioning Function**
101
- function getLevelPosition(level: string, isNext: boolean) {
102
- let x = isNext ? 1320 : 885;
103
- let y = 455;
104
- let fontSize = 72;
105
-
106
- if (level.length === 3) {
107
- x = isNext ? 1323 : 888;
108
- y = 455;
109
- fontSize = 63;
110
- }
111
-
112
- return { x, y, fontSize };
113
- }
114
-
115
- const prevLevelConfig = getLevelPosition(prevLevel, false);
116
- const nextLevelConfig = getLevelPosition(nextLevel, true);
117
-
118
- // 7. **Text Elements Configuration**
119
- const txts: TextObject[] = [
120
- {
121
- text: displayName,
122
- x: xPos, y: 600,
123
- fontSize: 54,
124
- fontName: 'Segoe UI',
125
- textAlign: isArabic(username) ? 'right' : 'left',
126
- gradient: {
127
- type: 'linear',
128
- startX: 0, startY: 0,
129
- endX: 0, endY: 50,
130
- colors: [
131
- { stop: 0, color: '#ffffff' },
132
- { stop: 1, color: '#66e6ff' }
133
- ]
134
- },
135
- stroke: { width: 3, color: '#9d00ff' },
136
- shadow: { color: '#66e6ff', opacity: 0.4, blur: 8, offsetX: 0, offsetY: 0 }
137
- },
138
- {
139
- text: levelUpmsg,
140
- x: textX, y: container.y + 60,
141
- fontSize: 34,
142
- fontName: fontName,
143
- textAlign: 'center',
144
- maxWidth: container.width - 30,
145
- lineHeight: 42,
146
- maxHeight: container.height - 30,
147
- gradient: {
148
- type: 'linear',
149
- startX: 0, startY: 0,
150
- endX: 0, endY: 50,
151
- colors: [
152
- { stop: 0, color: '#f9ff00' },
153
- { stop: 1, color: '#ff6a00' }
154
- ]
155
- },
156
- stroke: { width: 2, color: '#ff9d00' },
157
- shadow: { color: '#ffcc00', opacity: 0.5, blur: 10, offsetX: 0, offsetY: 0 }
158
- },
159
- {
160
- text: prevLevel,
161
- x: prevLevelConfig.x, y: prevLevelConfig.y,
162
- fontSize: prevLevelConfig.fontSize,
163
- fontName: "Bahnschrift",
164
- textAlign: "center",
165
- gradient: { type: "linear", startX: 0, startY: 0, endX: 0, endY: 80, colors: [{ stop: 0, color: "#00FFFF" }, { stop: 1, color: "#007BFF" }] },
166
- stroke: { width: 6, color: "#0033FF" },
167
- shadow: { color: "#00BFFF", opacity: 0.6, blur: 15, offsetX: 0, offsetY: 0 }
168
- },
169
- {
170
- text: nextLevel,
171
- x: nextLevelConfig.x, y: nextLevelConfig.y,
172
- fontSize: nextLevelConfig.fontSize,
173
- fontName: "Bahnschrift",
174
- textAlign: "center",
175
- gradient: { type: "linear", startX: 0, startY: 0, endX: 0, endY: 80, colors: [{ stop: 0, color: "#00FFFF" }, { stop: 1, color: "#007BFF" }] },
176
- stroke: { width: 6, color: "#0033FF" },
177
- shadow: { color: "#00BFFF", opacity: 0.6, blur: 15, offsetX: 0, offsetY: 0 }
178
- }
179
- ];
180
-
181
- // 8. **Render Final Image**
182
- return await Image.createText(txts, img);
183
- }