dirk-cfx-react 1.0.32 → 1.0.34

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 (31) hide show
  1. package/dist/index.cjs +1 -48
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +1 -47
  4. package/dist/index.js.map +1 -1
  5. package/dist/providers/index.cjs +1 -48
  6. package/dist/providers/index.cjs.map +1 -1
  7. package/dist/providers/index.js +1 -47
  8. package/dist/providers/index.js.map +1 -1
  9. package/dist/styles/fonts.css +62 -0
  10. package/package.json +2 -3
  11. package/src/styles/fonts.css +62 -0
  12. package/dist/Akrobat-Black-ZNQ3X2DR.woff +0 -0
  13. package/dist/Akrobat-Bold-WHODCGVH.woff +0 -0
  14. package/dist/Akrobat-ExtraLight-EEU4O7A5.woff +0 -0
  15. package/dist/Akrobat-Light-G27NBZ3I.woff +0 -0
  16. package/dist/Akrobat-Regular-BWHYS34M.woff +0 -0
  17. package/dist/Akrobat-SemiBold-W7XR4FV7.woff +0 -0
  18. package/dist/RedDead-6PKXYEUH.otf +0 -0
  19. package/dist/akrobat-extrabold-webfont-T2DLCOEC.woff +0 -0
  20. package/dist/styles/fonts.ts +0 -43
  21. package/src/styles/fonts.ts +0 -43
  22. /package/dist/{Akrobat-Black.woff → fonts/Akrobat-Black.woff} +0 -0
  23. /package/dist/{Akrobat-Bold.woff → fonts/Akrobat-Bold.woff} +0 -0
  24. /package/dist/{Akrobat-ExtraLight.woff → fonts/Akrobat-ExtraLight.woff} +0 -0
  25. /package/dist/{Akrobat-Light.woff → fonts/Akrobat-Light.woff} +0 -0
  26. /package/dist/{Akrobat-Regular.woff → fonts/Akrobat-Regular.woff} +0 -0
  27. /package/dist/{Akrobat-SemiBold.woff → fonts/Akrobat-SemiBold.woff} +0 -0
  28. /package/dist/{CREDC___.otf → fonts/CREDC___.otf} +0 -0
  29. /package/dist/{CREDC___.ttf → fonts/CREDC___.ttf} +0 -0
  30. /package/dist/{RedDead.otf → fonts/RedDead.otf} +0 -0
  31. /package/dist/{akrobat-extrabold-webfont.woff → fonts/akrobat-extrabold-webfont.woff} +0 -0
@@ -1,5 +1,6 @@
1
1
  import '@mantine/core/styles.css';
2
2
  import '@mantine/notifications/styles.css';
3
+ import './styles/fonts.css';
3
4
  import './styles/scrollBar.css';
4
5
  import { library } from '@fortawesome/fontawesome-svg-core';
5
6
  import { fab } from '@fortawesome/free-brands-svg-icons';
@@ -12,53 +13,6 @@ import { jsx, Fragment } from 'react/jsx-runtime';
12
13
 
13
14
  // src/providers/DirkProvider.tsx
14
15
 
15
- // src/fonts/Akrobat-Regular.woff
16
- var Akrobat_Regular_default = "../Akrobat-Regular-BWHYS34M.woff";
17
-
18
- // src/fonts/Akrobat-Light.woff
19
- var Akrobat_Light_default = "../Akrobat-Light-G27NBZ3I.woff";
20
-
21
- // src/fonts/Akrobat-ExtraLight.woff
22
- var Akrobat_ExtraLight_default = "../Akrobat-ExtraLight-EEU4O7A5.woff";
23
-
24
- // src/fonts/Akrobat-SemiBold.woff
25
- var Akrobat_SemiBold_default = "../Akrobat-SemiBold-W7XR4FV7.woff";
26
-
27
- // src/fonts/Akrobat-Bold.woff
28
- var Akrobat_Bold_default = "../Akrobat-Bold-WHODCGVH.woff";
29
-
30
- // src/fonts/akrobat-extrabold-webfont.woff
31
- var akrobat_extrabold_webfont_default = "../akrobat-extrabold-webfont-T2DLCOEC.woff";
32
-
33
- // src/fonts/Akrobat-Black.woff
34
- var Akrobat_Black_default = "../Akrobat-Black-ZNQ3X2DR.woff";
35
-
36
- // src/fonts/RedDead.otf
37
- var RedDead_default = "../RedDead-6PKXYEUH.otf";
38
-
39
- // src/styles/fonts.ts
40
- var fontDefs = [
41
- { name: "Akrobat Regular", src: Akrobat_Regular_default },
42
- { name: "Akrobat Light", src: Akrobat_Light_default },
43
- { name: "Akrobat ExtraLight", src: Akrobat_ExtraLight_default },
44
- { name: "Akrobat SemiBold", src: Akrobat_SemiBold_default },
45
- { name: "Akrobat Bold", src: Akrobat_Bold_default },
46
- { name: "Akrobat ExtraBold Regular", src: akrobat_extrabold_webfont_default },
47
- { name: "Akrobat Black", src: Akrobat_Black_default },
48
- { name: "Red Dead", src: RedDead_default }
49
- ];
50
- for (const f of fontDefs) {
51
- const resolvedUrl = new URL(f.src, import.meta.url).toString();
52
- const font = new FontFace(f.name, `url(${resolvedUrl})`);
53
- console.log(`Loading font: ${f.name} from ${resolvedUrl}`);
54
- font.load().then(() => {
55
- document.fonts.add(font);
56
- console.log(`\u2705 Font loaded: ${f.name}`);
57
- }).catch((err) => {
58
- console.error(`\u274C Failed to load font: ${f.name}`, err);
59
- });
60
- }
61
-
62
16
  // src/utils/misc.ts
63
17
  var isEnvBrowser = () => !window.invokeNative;
64
18
  var theme = createTheme({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/styles/fonts.ts","../../src/utils/misc.ts","../../src/theme.ts","../../src/providers/DirkProvider.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["// Fonts.ts — registers all fonts using FontFace API\r\nimport AkrobatRegular from '../fonts/Akrobat-Regular.woff';\r\nimport AkrobatLight from '../fonts/Akrobat-Light.woff';\r\nimport AkrobatExtraLight from '../fonts/Akrobat-ExtraLight.woff';\r\nimport AkrobatSemiBold from '../fonts/Akrobat-SemiBold.woff';\r\nimport AkrobatBold from '../fonts/Akrobat-Bold.woff';\r\nimport AkrobatExtraBold from '../fonts/akrobat-extrabold-webfont.woff';\r\nimport AkrobatBlack from '../fonts/Akrobat-Black.woff';\r\nimport RedDead from '../fonts/RedDead.otf';\r\n\r\ntype FontDef = {\r\n name: string;\r\n src: string;\r\n};\r\n\r\nconst fontDefs: FontDef[] = [\r\n { name: 'Akrobat Regular', src: AkrobatRegular },\r\n { name: 'Akrobat Light', src: AkrobatLight },\r\n { name: 'Akrobat ExtraLight', src: AkrobatExtraLight },\r\n { name: 'Akrobat SemiBold', src: AkrobatSemiBold },\r\n { name: 'Akrobat Bold', src: AkrobatBold },\r\n { name: 'Akrobat ExtraBold Regular', src: AkrobatExtraBold },\r\n { name: 'Akrobat Black', src: AkrobatBlack },\r\n { name: 'Red Dead', src: RedDead },\r\n];\r\n\r\nfor (const f of fontDefs) {\r\n // ✅ Ensure correct asset URL resolution for any bundler\r\n const resolvedUrl = new URL(f.src, import.meta.url).toString();\r\n\r\n const font = new FontFace(f.name, `url(${resolvedUrl})`);\r\n console.log(`Loading font: ${f.name} from ${resolvedUrl}`);\r\n\r\n font\r\n .load()\r\n .then(() => {\r\n document.fonts.add(font);\r\n console.log(`✅ Font loaded: ${f.name}`);\r\n })\r\n .catch((err) => {\r\n console.error(`❌ Failed to load font: ${f.name}`, err);\r\n });\r\n}\r\n","export const isEnvBrowser = (): boolean => !(window as any).invokeNative;\r\n\r\n// Basic no operation function\r\nexport const noop = () => {};\r\n\r\nexport const splitFAString = (faString:string) => {\r\n const [prefix, newIcon] = faString.split('-');\r\n if (!prefix || !newIcon) return {prefix: 'fas', newIcon: 'question'};\r\n return {prefix, newIcon};\r\n}\r\n\r\nexport const numberToRoman = (num:number) => {\r\n const romanNumerals = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX', 'XX'] \r\n return romanNumerals[num]\r\n}\r\n\r\nexport const copyToClipboard = (text:string) => {\r\n const el = document.createElement('textarea');\r\n el.value = text;\r\n document.body.appendChild(el);\r\n el.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(el);\r\n}\r\n\r\nexport const openLink = (url:string) => {\r\n if (isEnvBrowser()) {\r\n window.open(url, '_blank');\r\n } else {\r\n // @ts-expect-error -- invokeNative exists in NUI\r\n window.invokeNative('openLink', url);\r\n } \r\n}","import { createTheme } from \"@mantine/core\";\r\n\r\nconst theme = createTheme({\r\n primaryColor: \"dirk\",\r\n primaryShade: 9,\r\n defaultRadius: \"xxs\",\r\n fontFamily: \"Akrobat Regular, sans-serif\",\r\n\r\n radius:{\r\n xxs: '0.2vh',\r\n xs: '0.4vh',\r\n sm: '0.75vh',\r\n md: '1vh',\r\n lg: '1.5vh',\r\n xl: '2vh',\r\n xxl: '3vh',\r\n },\r\n\r\n fontSizes: {\r\n xxs: '1.2vh',\r\n xs: '1.5vh',\r\n sm: '1.8vh',\r\n md: '2.2vh',\r\n lg: '2.8vh',\r\n xl: '3.3vh',\r\n xxl: '3.8vh',\r\n },\r\n\r\n spacing:{\r\n xxs: '0.5vh',\r\n xs: '0.75vh',\r\n sm: '1.5vh',\r\n md: '2vh',\r\n lg: '3vh',\r\n xl: '4vh',\r\n xxl: '5vh',\r\n },\r\n\r\n components:{\r\n Progress:{\r\n styles:{\r\n root:{\r\n backgroundColor: 'rgba(77, 77, 77, 0.4)',\r\n },\r\n \r\n }\r\n },\r\n\r\n Select:{\r\n styles:{\r\n dropdown:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n input:{\r\n padding: 'var(--mantine-spacing-sm)',\r\n },\r\n item:{\r\n \r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n wrapper:{\r\n \r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n option:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n\r\n }\r\n },\r\n MultiSelect:{\r\n styles:{\r\n dropdown:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n pill:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n item:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n wrapper:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n option:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n\r\n }\r\n },\r\n TextInput:{\r\n styles:{\r\n section:{\r\n marginRight: '0.2vh',\r\n },\r\n\r\n input:{\r\n padding: 'var(--mantine-spacing-sm)',\r\n },\r\n\r\n \r\n \r\n }\r\n },\r\n },\r\n\r\n colors: {\r\n dark:[\r\n \"#ffffff\",\r\n \"#e2e2e2\",\r\n \"#c6c6c6\",\r\n \"#aaaaaa\",\r\n \"#8d8d8d\",\r\n \"#717171\",\r\n \"#555555\",\r\n \"#393939\",\r\n \"#1c1c1c\",\r\n \"#000000\",\r\n ],\r\n dirk:[\r\n \"#ffffff\",\r\n \"#f3fce9\",\r\n \"#dbf5bd\",\r\n \"#c3ee91\",\r\n \"#ace765\",\r\n \"#94e039\",\r\n \"#7ac61f\",\r\n \"#5f9a18\",\r\n \"#29420a\",\r\n \"#446e11\",\r\n ],\r\n },\r\n});\r\n\r\n\r\nexport default theme;","import '@mantine/core/styles.css';\r\nimport '@mantine/notifications/styles.css';\r\nimport '@/styles/fonts';\r\nimport './styles/scrollBar.css';\r\n\r\n\r\n\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { fab } from \"@fortawesome/free-brands-svg-icons\";\r\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { BackgroundImage, MantineColorShade, MantineProvider, MantineThemeOverride } from '@mantine/core';\r\nimport { isEnvBrowser } from '@/utils';\r\nimport { create } from 'zustand';\r\nimport theme from '@/theme';\r\nimport { useEffect, useMemo } from 'react';\r\nlibrary.add(fas, far, fab);\r\n\r\nexport type DirkProviderProps = {\r\n fakeBackground?: boolean;\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const useSettings = create<{\r\n game: 'rdr3' | 'fivem';\r\n primaryColor: string;\r\n primaryShade: number;\r\n customTheme: Record<string, string[]>;\r\n}>((set) => ({\r\n game: 'rdr3',\r\n primaryColor: 'teal',\r\n primaryShade: 6,\r\n customTheme: {},\r\n}));\r\n\r\n\r\n\r\nexport function DirkProvider(props: DirkProviderProps) {\r\n const primaryColor = useSettings((data) => data.primaryColor);\r\n const primaryShade = useSettings((data) => data.primaryShade);\r\n const customTheme = useSettings((data) => data.customTheme);\r\n const game = useSettings((data) => data.game);\r\n // Memoize the merged theme to avoid unnecessary recalculations\r\n const mergedTheme = useMemo<MantineThemeOverride>(() => ({\r\n ...theme,\r\n primaryColor: primaryColor,\r\n primaryShade: primaryShade as MantineColorShade,\r\n colors: {\r\n ...theme.colors,\r\n ...customTheme, // Custom theme colors will override/extend base colors\r\n },\r\n }), [primaryColor, primaryShade, customTheme]);\r\n\r\n useEffect(() => {\r\n document.fonts.ready.then(() => {\r\n document.body.style.fontFamily = \r\n game === 'rdr3' ? '\"Red Dead\", sans-serif' :\r\n game === 'fivem' ? '\"Akrobat Regular\", sans-serif' :\r\n 'sans-serif';\r\n console.log(`Game set to ${game}, applied corresponding font family.: ${document.body.style.fontFamily}`);\r\n });\r\n }, [game]);\r\n\r\n return (\r\n <MantineProvider theme={mergedTheme} defaultColorScheme='dark'>\r\n <Wrapper>\r\n {props.children}\r\n </Wrapper>\r\n </MantineProvider>\r\n );\r\n}\r\n\r\nfunction Wrapper({ children }: { children: React.ReactNode }) {\r\n const game = useSettings((data) => data.game);\r\n return isEnvBrowser() ? ( \r\n <BackgroundImage w='100vw' h='100vh' style={{overflow:'hidden'}}\r\n src={game === 'fivem' ?\r\n \"https://i.ytimg.com/vi/TOxuNbXrO28/maxresdefault.jpg\"\r\n : \"https://raw.githubusercontent.com/Jump-On-Studios/RedM-jo_libs/refs/heads/main/source-repositories/Menu/public/assets/images/background_dev.jpg\"}\r\n > \r\n {children}\r\n </BackgroundImage>\r\n ) : (\r\n <>{children}</>\r\n )\r\n}\r\n\r\n"]}
1
+ {"version":3,"sources":["../../src/utils/misc.ts","../../src/theme.ts","../../src/providers/DirkProvider.tsx"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["export const isEnvBrowser = (): boolean => !(window as any).invokeNative;\r\n\r\n// Basic no operation function\r\nexport const noop = () => {};\r\n\r\nexport const splitFAString = (faString:string) => {\r\n const [prefix, newIcon] = faString.split('-');\r\n if (!prefix || !newIcon) return {prefix: 'fas', newIcon: 'question'};\r\n return {prefix, newIcon};\r\n}\r\n\r\nexport const numberToRoman = (num:number) => {\r\n const romanNumerals = ['I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII', 'IX', 'X', 'XI', 'XII', 'XIII', 'XIV', 'XV', 'XVI', 'XVII', 'XVIII', 'XIX', 'XX'] \r\n return romanNumerals[num]\r\n}\r\n\r\nexport const copyToClipboard = (text:string) => {\r\n const el = document.createElement('textarea');\r\n el.value = text;\r\n document.body.appendChild(el);\r\n el.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(el);\r\n}\r\n\r\nexport const openLink = (url:string) => {\r\n if (isEnvBrowser()) {\r\n window.open(url, '_blank');\r\n } else {\r\n // @ts-expect-error -- invokeNative exists in NUI\r\n window.invokeNative('openLink', url);\r\n } \r\n}","import { createTheme } from \"@mantine/core\";\r\n\r\nconst theme = createTheme({\r\n primaryColor: \"dirk\",\r\n primaryShade: 9,\r\n defaultRadius: \"xxs\",\r\n fontFamily: \"Akrobat Regular, sans-serif\",\r\n\r\n radius:{\r\n xxs: '0.2vh',\r\n xs: '0.4vh',\r\n sm: '0.75vh',\r\n md: '1vh',\r\n lg: '1.5vh',\r\n xl: '2vh',\r\n xxl: '3vh',\r\n },\r\n\r\n fontSizes: {\r\n xxs: '1.2vh',\r\n xs: '1.5vh',\r\n sm: '1.8vh',\r\n md: '2.2vh',\r\n lg: '2.8vh',\r\n xl: '3.3vh',\r\n xxl: '3.8vh',\r\n },\r\n\r\n spacing:{\r\n xxs: '0.5vh',\r\n xs: '0.75vh',\r\n sm: '1.5vh',\r\n md: '2vh',\r\n lg: '3vh',\r\n xl: '4vh',\r\n xxl: '5vh',\r\n },\r\n\r\n components:{\r\n Progress:{\r\n styles:{\r\n root:{\r\n backgroundColor: 'rgba(77, 77, 77, 0.4)',\r\n },\r\n \r\n }\r\n },\r\n\r\n Select:{\r\n styles:{\r\n dropdown:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n input:{\r\n padding: 'var(--mantine-spacing-sm)',\r\n },\r\n item:{\r\n \r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n wrapper:{\r\n \r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n option:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n\r\n }\r\n },\r\n MultiSelect:{\r\n styles:{\r\n dropdown:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n pill:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n item:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n wrapper:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n option:{\r\n borderRadius: 'var(--mantine-radius-xxs)',\r\n },\r\n\r\n }\r\n },\r\n TextInput:{\r\n styles:{\r\n section:{\r\n marginRight: '0.2vh',\r\n },\r\n\r\n input:{\r\n padding: 'var(--mantine-spacing-sm)',\r\n },\r\n\r\n \r\n \r\n }\r\n },\r\n },\r\n\r\n colors: {\r\n dark:[\r\n \"#ffffff\",\r\n \"#e2e2e2\",\r\n \"#c6c6c6\",\r\n \"#aaaaaa\",\r\n \"#8d8d8d\",\r\n \"#717171\",\r\n \"#555555\",\r\n \"#393939\",\r\n \"#1c1c1c\",\r\n \"#000000\",\r\n ],\r\n dirk:[\r\n \"#ffffff\",\r\n \"#f3fce9\",\r\n \"#dbf5bd\",\r\n \"#c3ee91\",\r\n \"#ace765\",\r\n \"#94e039\",\r\n \"#7ac61f\",\r\n \"#5f9a18\",\r\n \"#29420a\",\r\n \"#446e11\",\r\n ],\r\n },\r\n});\r\n\r\n\r\nexport default theme;","import '@mantine/core/styles.css';\r\nimport '@mantine/notifications/styles.css';\r\nimport './styles/fonts.css';\r\nimport './styles/scrollBar.css';\r\n\r\n\r\n\r\nimport { library } from \"@fortawesome/fontawesome-svg-core\";\r\nimport { fab } from \"@fortawesome/free-brands-svg-icons\";\r\nimport { far } from \"@fortawesome/free-regular-svg-icons\";\r\nimport { fas } from \"@fortawesome/free-solid-svg-icons\";\r\nimport { BackgroundImage, MantineColorShade, MantineProvider, MantineThemeOverride } from '@mantine/core';\r\nimport { isEnvBrowser } from '@/utils';\r\nimport { create } from 'zustand';\r\nimport theme from '@/theme';\r\nimport { useEffect, useMemo } from 'react';\r\nlibrary.add(fas, far, fab);\r\n\r\nexport type DirkProviderProps = {\r\n fakeBackground?: boolean;\r\n children: React.ReactNode;\r\n}\r\n\r\nexport const useSettings = create<{\r\n game: 'rdr3' | 'fivem';\r\n primaryColor: string;\r\n primaryShade: number;\r\n customTheme: Record<string, string[]>;\r\n}>((set) => ({\r\n game: 'rdr3',\r\n primaryColor: 'teal',\r\n primaryShade: 6,\r\n customTheme: {},\r\n}));\r\n\r\n\r\n\r\nexport function DirkProvider(props: DirkProviderProps) {\r\n const primaryColor = useSettings((data) => data.primaryColor);\r\n const primaryShade = useSettings((data) => data.primaryShade);\r\n const customTheme = useSettings((data) => data.customTheme);\r\n const game = useSettings((data) => data.game);\r\n // Memoize the merged theme to avoid unnecessary recalculations\r\n const mergedTheme = useMemo<MantineThemeOverride>(() => ({\r\n ...theme,\r\n primaryColor: primaryColor,\r\n primaryShade: primaryShade as MantineColorShade,\r\n colors: {\r\n ...theme.colors,\r\n ...customTheme, // Custom theme colors will override/extend base colors\r\n },\r\n }), [primaryColor, primaryShade, customTheme]);\r\n\r\n useEffect(() => {\r\n document.fonts.ready.then(() => {\r\n document.body.style.fontFamily = \r\n game === 'rdr3' ? '\"Red Dead\", sans-serif' :\r\n game === 'fivem' ? '\"Akrobat Regular\", sans-serif' :\r\n 'sans-serif';\r\n console.log(`Game set to ${game}, applied corresponding font family.: ${document.body.style.fontFamily}`);\r\n });\r\n }, [game]);\r\n\r\n return (\r\n <MantineProvider theme={mergedTheme} defaultColorScheme='dark'>\r\n <Wrapper>\r\n {props.children}\r\n </Wrapper>\r\n </MantineProvider>\r\n );\r\n}\r\n\r\nfunction Wrapper({ children }: { children: React.ReactNode }) {\r\n const game = useSettings((data) => data.game);\r\n return isEnvBrowser() ? ( \r\n <BackgroundImage w='100vw' h='100vh' style={{overflow:'hidden'}}\r\n src={game === 'fivem' ?\r\n \"https://i.ytimg.com/vi/TOxuNbXrO28/maxresdefault.jpg\"\r\n : \"https://raw.githubusercontent.com/Jump-On-Studios/RedM-jo_libs/refs/heads/main/source-repositories/Menu/public/assets/images/background_dev.jpg\"}\r\n > \r\n {children}\r\n </BackgroundImage>\r\n ) : (\r\n <>{children}</>\r\n )\r\n}\r\n\r\n"]}
@@ -0,0 +1,62 @@
1
+ @font-face {
2
+ font-family: 'Akrobat Regular';
3
+ font-style: normal;
4
+ font-weight: normal;
5
+ src: local('Akrobat Regular'), url('../fonts/Akrobat-Regular.woff') format('woff');
6
+ }
7
+
8
+ @font-face {
9
+ font-family: 'Akrobat Light';
10
+ font-style: normal;
11
+ font-weight: normal;
12
+ src: local('Akrobat Light'), url('../fonts/Akrobat-Light.woff') format('woff');
13
+ }
14
+
15
+ @font-face {
16
+ font-family: 'Akrobat ExtraLight';
17
+ font-style: normal;
18
+ font-weight: normal;
19
+ src: local('Akrobat ExtraLight'), url('../fonts/Akrobat-ExtraLight.woff') format('woff');
20
+ }
21
+
22
+ @font-face {
23
+ font-family: 'Akrobat SemiBold';
24
+ font-style: normal;
25
+ font-weight: normal;
26
+ src: local('Akrobat SemiBold'), url('../fonts/Akrobat-SemiBold.woff') format('woff');
27
+ }
28
+
29
+ @font-face {
30
+ font-family: 'Akrobat Bold';
31
+ font-style: normal;
32
+ font-weight: normal;
33
+ src: local('Akrobat Bold'), url('../fonts/Akrobat-Bold.woff') format('woff');
34
+ }
35
+
36
+ @font-face {
37
+ font-family: 'Akrobat ExtraBold Regular';
38
+ font-style: normal;
39
+ font-weight: normal;
40
+ src: local('Akrobat ExtraBold Regular'), url('../fonts/akrobat-extrabold-webfont.woff') format('woff');
41
+ }
42
+
43
+ @font-face {
44
+ font-family: 'Akrobat Black';
45
+ font-style: normal;
46
+ font-weight: normal;
47
+ src: local('Akrobat Black'), url('../fonts/Akrobat-Black.woff') format('woff');
48
+ }
49
+
50
+ @font-face {
51
+ font-family: 'CreditCard';
52
+ font-style: normal;
53
+ font-weight: normal;
54
+ src: local('Credit Card'), url('../fonts/CREDC___.otf') format('opentype');
55
+ }
56
+
57
+ @font-face {
58
+ font-family: 'Red Dead';
59
+ font-style: normal;
60
+ font-weight: normal;
61
+ src: local('Red Dead'), url('../fonts/RedDead.otf') format('opentype');
62
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dirk-cfx-react",
3
- "version": "1.0.32",
3
+ "version": "1.0.34",
4
4
  "type": "module",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.js",
@@ -83,8 +83,7 @@
83
83
  "**/*.woff",
84
84
  "**/*.woff2",
85
85
  "**/*.ttf",
86
- "**/*.otf",
87
- "src/styles/fonts.ts"
86
+ "**/*.otf"
88
87
  ],
89
88
  "typesVersions": {
90
89
  "*": {
@@ -0,0 +1,62 @@
1
+ @font-face {
2
+ font-family: 'Akrobat Regular';
3
+ font-style: normal;
4
+ font-weight: normal;
5
+ src: local('Akrobat Regular'), url('../fonts/Akrobat-Regular.woff') format('woff');
6
+ }
7
+
8
+ @font-face {
9
+ font-family: 'Akrobat Light';
10
+ font-style: normal;
11
+ font-weight: normal;
12
+ src: local('Akrobat Light'), url('../fonts/Akrobat-Light.woff') format('woff');
13
+ }
14
+
15
+ @font-face {
16
+ font-family: 'Akrobat ExtraLight';
17
+ font-style: normal;
18
+ font-weight: normal;
19
+ src: local('Akrobat ExtraLight'), url('../fonts/Akrobat-ExtraLight.woff') format('woff');
20
+ }
21
+
22
+ @font-face {
23
+ font-family: 'Akrobat SemiBold';
24
+ font-style: normal;
25
+ font-weight: normal;
26
+ src: local('Akrobat SemiBold'), url('../fonts/Akrobat-SemiBold.woff') format('woff');
27
+ }
28
+
29
+ @font-face {
30
+ font-family: 'Akrobat Bold';
31
+ font-style: normal;
32
+ font-weight: normal;
33
+ src: local('Akrobat Bold'), url('../fonts/Akrobat-Bold.woff') format('woff');
34
+ }
35
+
36
+ @font-face {
37
+ font-family: 'Akrobat ExtraBold Regular';
38
+ font-style: normal;
39
+ font-weight: normal;
40
+ src: local('Akrobat ExtraBold Regular'), url('../fonts/akrobat-extrabold-webfont.woff') format('woff');
41
+ }
42
+
43
+ @font-face {
44
+ font-family: 'Akrobat Black';
45
+ font-style: normal;
46
+ font-weight: normal;
47
+ src: local('Akrobat Black'), url('../fonts/Akrobat-Black.woff') format('woff');
48
+ }
49
+
50
+ @font-face {
51
+ font-family: 'CreditCard';
52
+ font-style: normal;
53
+ font-weight: normal;
54
+ src: local('Credit Card'), url('../fonts/CREDC___.otf') format('opentype');
55
+ }
56
+
57
+ @font-face {
58
+ font-family: 'Red Dead';
59
+ font-style: normal;
60
+ font-weight: normal;
61
+ src: local('Red Dead'), url('../fonts/RedDead.otf') format('opentype');
62
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,43 +0,0 @@
1
- // Fonts.ts — registers all fonts using FontFace API
2
- import AkrobatRegular from '../fonts/Akrobat-Regular.woff';
3
- import AkrobatLight from '../fonts/Akrobat-Light.woff';
4
- import AkrobatExtraLight from '../fonts/Akrobat-ExtraLight.woff';
5
- import AkrobatSemiBold from '../fonts/Akrobat-SemiBold.woff';
6
- import AkrobatBold from '../fonts/Akrobat-Bold.woff';
7
- import AkrobatExtraBold from '../fonts/akrobat-extrabold-webfont.woff';
8
- import AkrobatBlack from '../fonts/Akrobat-Black.woff';
9
- import RedDead from '../fonts/RedDead.otf';
10
-
11
- type FontDef = {
12
- name: string;
13
- src: string;
14
- };
15
-
16
- const fontDefs: FontDef[] = [
17
- { name: 'Akrobat Regular', src: AkrobatRegular },
18
- { name: 'Akrobat Light', src: AkrobatLight },
19
- { name: 'Akrobat ExtraLight', src: AkrobatExtraLight },
20
- { name: 'Akrobat SemiBold', src: AkrobatSemiBold },
21
- { name: 'Akrobat Bold', src: AkrobatBold },
22
- { name: 'Akrobat ExtraBold Regular', src: AkrobatExtraBold },
23
- { name: 'Akrobat Black', src: AkrobatBlack },
24
- { name: 'Red Dead', src: RedDead },
25
- ];
26
-
27
- for (const f of fontDefs) {
28
- // ✅ Ensure correct asset URL resolution for any bundler
29
- const resolvedUrl = new URL(f.src, import.meta.url).toString();
30
-
31
- const font = new FontFace(f.name, `url(${resolvedUrl})`);
32
- console.log(`Loading font: ${f.name} from ${resolvedUrl}`);
33
-
34
- font
35
- .load()
36
- .then(() => {
37
- document.fonts.add(font);
38
- console.log(`✅ Font loaded: ${f.name}`);
39
- })
40
- .catch((err) => {
41
- console.error(`❌ Failed to load font: ${f.name}`, err);
42
- });
43
- }
@@ -1,43 +0,0 @@
1
- // Fonts.ts — registers all fonts using FontFace API
2
- import AkrobatRegular from '../fonts/Akrobat-Regular.woff';
3
- import AkrobatLight from '../fonts/Akrobat-Light.woff';
4
- import AkrobatExtraLight from '../fonts/Akrobat-ExtraLight.woff';
5
- import AkrobatSemiBold from '../fonts/Akrobat-SemiBold.woff';
6
- import AkrobatBold from '../fonts/Akrobat-Bold.woff';
7
- import AkrobatExtraBold from '../fonts/akrobat-extrabold-webfont.woff';
8
- import AkrobatBlack from '../fonts/Akrobat-Black.woff';
9
- import RedDead from '../fonts/RedDead.otf';
10
-
11
- type FontDef = {
12
- name: string;
13
- src: string;
14
- };
15
-
16
- const fontDefs: FontDef[] = [
17
- { name: 'Akrobat Regular', src: AkrobatRegular },
18
- { name: 'Akrobat Light', src: AkrobatLight },
19
- { name: 'Akrobat ExtraLight', src: AkrobatExtraLight },
20
- { name: 'Akrobat SemiBold', src: AkrobatSemiBold },
21
- { name: 'Akrobat Bold', src: AkrobatBold },
22
- { name: 'Akrobat ExtraBold Regular', src: AkrobatExtraBold },
23
- { name: 'Akrobat Black', src: AkrobatBlack },
24
- { name: 'Red Dead', src: RedDead },
25
- ];
26
-
27
- for (const f of fontDefs) {
28
- // ✅ Ensure correct asset URL resolution for any bundler
29
- const resolvedUrl = new URL(f.src, import.meta.url).toString();
30
-
31
- const font = new FontFace(f.name, `url(${resolvedUrl})`);
32
- console.log(`Loading font: ${f.name} from ${resolvedUrl}`);
33
-
34
- font
35
- .load()
36
- .then(() => {
37
- document.fonts.add(font);
38
- console.log(`✅ Font loaded: ${f.name}`);
39
- })
40
- .catch((err) => {
41
- console.error(`❌ Failed to load font: ${f.name}`, err);
42
- });
43
- }
File without changes
File without changes
File without changes