diff --git a/src/frontend/apps/impress/.gitignore b/src/frontend/apps/impress/.gitignore index 0abcbb52..9a57ee73 100644 --- a/src/frontend/apps/impress/.gitignore +++ b/src/frontend/apps/impress/.gitignore @@ -35,3 +35,6 @@ yarn-error.log* *.tsbuildinfo service-worker.js + +# Font embedding +public/assets/fonts/Marianne/* \ No newline at end of file diff --git a/src/frontend/apps/impress/.prettierignore b/src/frontend/apps/impress/.prettierignore index 15b20443..1caf339d 100644 --- a/src/frontend/apps/impress/.prettierignore +++ b/src/frontend/apps/impress/.prettierignore @@ -1,2 +1,3 @@ next-env.d.ts service-worker.js +public/assets/fonts/* diff --git a/src/frontend/apps/impress/next.config.js b/src/frontend/apps/impress/next.config.js index 862b4faf..73869366 100644 --- a/src/frontend/apps/impress/next.config.js +++ b/src/frontend/apps/impress/next.config.js @@ -1,5 +1,7 @@ const crypto = require('crypto'); +const path = require('path'); +const CopyPlugin = require('copy-webpack-plugin'); const { InjectManifest } = require('workbox-webpack-plugin'); const buildId = crypto.randomBytes(256).toString('hex').slice(0, 8); @@ -41,6 +43,21 @@ const nextConfig = { }, ); + // Copy necessary fonts from node_modules to public directory during build or dev + config.plugins.push( + new CopyPlugin({ + patterns: [ + { + from: path.resolve( + __dirname, + '../../node_modules/@gouvfr-lasuite/ui-kit/dist/assets/fonts/Marianne', + ), + to: path.resolve(__dirname, 'public/assets/fonts/Marianne'), + }, + ], + }), + ); + if (!isServer && process.env.NEXT_PUBLIC_SW_DEACTIVATED !== 'true') { config.plugins.push( new InjectManifest({ diff --git a/src/frontend/apps/impress/package.json b/src/frontend/apps/impress/package.json index a8ff099a..42cf6961 100644 --- a/src/frontend/apps/impress/package.json +++ b/src/frontend/apps/impress/package.json @@ -77,6 +77,7 @@ "@types/react": "*", "@types/react-dom": "*", "@vitejs/plugin-react": "5.0.2", + "copy-webpack-plugin": "13.0.1", "cross-env": "10.0.0", "dotenv": "17.2.2", "eslint-plugin-docs": "*", diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold.woff deleted file mode 100644 index 335e3488..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold.woff2 deleted file mode 100644 index 6ea93fd6..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold_Italic.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold_Italic.woff deleted file mode 100644 index 72878fca..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold_Italic.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold_Italic.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold_Italic.woff2 deleted file mode 100644 index 31494ac0..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Bold_Italic.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold.woff deleted file mode 100644 index ad85a552..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold.woff2 deleted file mode 100644 index b98ec4f1..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold_Italic.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold_Italic.woff deleted file mode 100644 index af92ea7c..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold_Italic.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold_Italic.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold_Italic.woff2 deleted file mode 100644 index c4ec1c0d..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-ExtraBold_Italic.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light.woff deleted file mode 100644 index 9ef49df3..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light.woff2 deleted file mode 100644 index b29a01ff..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light_Italic.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light_Italic.woff deleted file mode 100644 index 5ae0dbea..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light_Italic.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light_Italic.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light_Italic.woff2 deleted file mode 100644 index ccf9c8e5..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Light_Italic.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium.woff deleted file mode 100644 index 692476eb..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium.woff2 deleted file mode 100644 index 46a6e19e..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium_Italic.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium_Italic.woff deleted file mode 100644 index 8e32b88f..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium_Italic.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium_Italic.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium_Italic.woff2 deleted file mode 100644 index 28b50404..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Medium_Italic.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular.woff deleted file mode 100644 index a95a2d04..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular.woff2 deleted file mode 100644 index d19d7cc9..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular_Italic.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular_Italic.woff deleted file mode 100644 index 1880c5d7..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular_Italic.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular_Italic.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular_Italic.woff2 deleted file mode 100644 index 30e8934e..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Regular_Italic.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin.woff deleted file mode 100644 index 6c8bc5a0..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin.woff2 deleted file mode 100644 index 1ec57f77..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin_Italic.woff b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin_Italic.woff deleted file mode 100644 index 4c23d6b9..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin_Italic.woff and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin_Italic.woff2 b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin_Italic.woff2 deleted file mode 100644 index d3978b9e..00000000 Binary files a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-Thin_Italic.woff2 and /dev/null differ diff --git a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-font.css b/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-font.css deleted file mode 100644 index 31b1df6e..00000000 --- a/src/frontend/apps/impress/public/assets/fonts/Marianne/Marianne-font.css +++ /dev/null @@ -1,101 +0,0 @@ -@font-face { - font-family: Marianne; - src: - url('Marianne-Thin.woff2') format('woff2'), - url('Marianne-Thin.woff') format('woff'); - font-weight: 100; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Thin_Italic.woff2') format('woff2'), - url('Marianne-Thin_Italic.woff') format('woff'); - font-weight: 100; - font-style: italic; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Light.woff2') format('woff2'), - url('Marianne-Light.woff') format('woff'); - font-weight: 300; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Light_Italic.woff2') format('woff2'), - url('Marianne-Light_Italic.woff') format('woff'); - font-weight: 300; - font-style: italic; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Regular.woff2') format('woff2'), - url('Marianne-Regular.woff') format('woff'); - font-weight: 400; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Regular_Italic.woff2') format('woff2'), - url('Marianne-Regular_Italic.woff') format('woff'); - font-weight: 400; - font-style: italic; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Medium.woff2') format('woff2'), - url('Marianne-Medium.woff') format('woff'); - font-weight: 500; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Medium_Italic.woff2') format('woff2'), - url('Marianne-Medium_Italic.woff') format('woff'); - font-weight: 500; - font-style: italic; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Bold.woff2') format('woff2'), - url('Marianne-Bold.woff') format('woff'); - font-weight: 700; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-Bold_Italic.woff2') format('woff2'), - url('Marianne-Bold_Italic.woff') format('woff'); - font-weight: 700; - font-style: italic; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-ExtraBold.woff2') format('woff2'), - url('Marianne-ExtraBold.woff') format('woff'); - font-weight: 800; -} - -@font-face { - font-family: Marianne; - src: - url('Marianne-ExtraBold_Italic.woff2') format('woff2'), - url('Marianne-ExtraBold_Italic.woff') format('woff'); - font-weight: 800; - font-style: italic; -} diff --git a/src/frontend/apps/impress/src/cunningham/cunningham-style.css b/src/frontend/apps/impress/src/cunningham/cunningham-style.css index b79f9e60..9f01f7fc 100644 --- a/src/frontend/apps/impress/src/cunningham/cunningham-style.css +++ b/src/frontend/apps/impress/src/cunningham/cunningham-style.css @@ -1,6 +1,5 @@ @import url('@gouvfr-lasuite/ui-kit/style'); @import url('./cunningham-tokens.css'); -@import url('/assets/fonts/Marianne/Marianne-font.css'); :root { /** diff --git a/src/frontend/apps/impress/src/pages/globals.css b/src/frontend/apps/impress/src/pages/globals.css index 9dcb3eda..2fcd11e5 100644 --- a/src/frontend/apps/impress/src/pages/globals.css +++ b/src/frontend/apps/impress/src/pages/globals.css @@ -1,6 +1,7 @@ @import url('../cunningham/cunningham-style.css'); @import url('@fontsource/material-icons'); @import url('@fontsource/material-icons-outlined'); +@import url('/assets/fonts/Marianne/Marianne-font.css'); body { margin: 0; diff --git a/src/frontend/yarn.lock b/src/frontend/yarn.lock index 3afc6df7..594fa679 100644 --- a/src/frontend/yarn.lock +++ b/src/frontend/yarn.lock @@ -8395,6 +8395,17 @@ cookiejar@^2.1.4: resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== +copy-webpack-plugin@13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-13.0.1.tgz#fba18c22bcab3633524e1b652580ff4489eddc0d" + integrity sha512-J+YV3WfhY6W/Xf9h+J1znYuqTye2xkBUIGyTPWuBAT27qajBa5mR4f8WBmfDY3YjRftT2kqZZiLi1qf0H+UOFw== + dependencies: + glob-parent "^6.0.1" + normalize-path "^3.0.0" + schema-utils "^4.2.0" + serialize-javascript "^6.0.2" + tinyglobby "^0.2.12" + core-js-compat@^3.43.0: version "3.45.0" resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.45.0.tgz#bc0017525dcb7a42ba3241d02f6fce9bae8e5c33" @@ -9994,7 +10005,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: +glob-parent@^6.0.1, glob-parent@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -14386,6 +14397,16 @@ scheduler@^0.26.0: resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== +schema-utils@^4.2.0: + version "4.3.3" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.3.tgz#5b1850912fa31df90716963d45d9121fdfc09f46" + integrity sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + schema-utils@^4.3.0, schema-utils@^4.3.2: version "4.3.2" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.2.tgz#0c10878bf4a73fd2b1dfd14b9462b26788c806ae" @@ -15278,6 +15299,14 @@ tinyexec@^0.3.2: resolved "https://registry.yarnpkg.com/tinyexec/-/tinyexec-0.3.2.tgz#941794e657a85e496577995c6eef66f53f42b3d2" integrity sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA== +tinyglobby@^0.2.12, tinyglobby@^0.2.15: + version "0.2.15" + resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" + integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== + dependencies: + fdir "^6.5.0" + picomatch "^4.0.3" + tinyglobby@^0.2.13, tinyglobby@^0.2.14: version "0.2.14" resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.14.tgz#5280b0cf3f972b050e74ae88406c0a6a58f4079d" @@ -15286,14 +15315,6 @@ tinyglobby@^0.2.13, tinyglobby@^0.2.14: fdir "^6.4.4" picomatch "^4.0.2" -tinyglobby@^0.2.15: - version "0.2.15" - resolved "https://registry.yarnpkg.com/tinyglobby/-/tinyglobby-0.2.15.tgz#e228dd1e638cea993d2fdb4fcd2d4602a79951c2" - integrity sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ== - dependencies: - fdir "^6.5.0" - picomatch "^4.0.3" - tinypool@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-1.1.1.tgz#059f2d042bd37567fbc017d3d426bdd2a2612591"