diff --git a/apps/client/package.json b/apps/client/package.json index 3fcf7f01e..e4c5e784e 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -10,6 +10,7 @@ "@dnd-kit/utilities": "^3.2.2", "@emotion/react": "^11.10.6", "@emotion/styled": "^11.10.6", + "@fontsource/open-sans": "^5.0.28", "@mantine/hooks": "^7.6.2", "@react-icons/all-files": "^4.1.0", "@sentry/react": "^7.92.0", @@ -28,7 +29,6 @@ "react-hook-form": "^7.49.2", "react-qr-code": "^2.0.12", "react-router-dom": "^6.3.0", - "typeface-open-sans": "^1.1.13", "web-vitals": "^3.1.1", "zustand": "^4.5.0" }, diff --git a/apps/client/src/App.tsx b/apps/client/src/App.tsx index 710efd119..e342c66c0 100644 --- a/apps/client/src/App.tsx +++ b/apps/client/src/App.tsx @@ -13,10 +13,6 @@ import theme from './theme/theme'; import { TranslationProvider } from './translation/TranslationProvider'; import AppRouter from './AppRouter'; -// Load Open Sans typeface -// @ts-expect-error no types from font import -import('typeface-open-sans'); - const preferredClientName = socketClientName.getState().name; connectSocket(preferredClientName); diff --git a/apps/client/src/index.scss b/apps/client/src/index.scss index 1213ca8e1..26a8a3b58 100644 --- a/apps/client/src/index.scss +++ b/apps/client/src/index.scss @@ -1,5 +1,36 @@ @use './theme/ontimeStyles' as *; +/* open-sans-latin-300-normal */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-display: swap; + font-weight: 300; + src: url(@fontsource/open-sans/files/open-sans-latin-300-normal.woff2) format('woff2'), url(@fontsource/open-sans/files/open-sans-latin-300-normal.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} + +/* open-sans-latin-400-normal */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-display: swap; + font-weight: 400; + src: url(@fontsource/open-sans/files/open-sans-latin-400-normal.woff2) format('woff2'), url(@fontsource/open-sans/files/open-sans-latin-400-normal.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} + +/* open-sans-latin-600-normal */ +@font-face { + font-family: 'Open Sans'; + font-style: normal; + font-display: swap; + font-weight: 600; + src: url(@fontsource/open-sans/files/open-sans-latin-600-normal.woff2) format('woff2'), url(@fontsource/open-sans/files/open-sans-latin-600-normal.woff) format('woff'); + unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; +} + + $track-color: $white-1; $thumb-color: $gray-1100; $thumb-color-hover: $gray-900; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e04f5c753..e997e6272 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,6 +68,9 @@ importers: '@emotion/styled': specifier: ^11.10.6 version: 11.10.6(@emotion/react@11.10.6)(@types/react@18.0.26)(react@18.2.0) + '@fontsource/open-sans': + specifier: ^5.0.28 + version: 5.0.28 '@mantine/hooks': specifier: ^7.6.2 version: 7.6.2(react@18.2.0) @@ -122,9 +125,6 @@ importers: react-router-dom: specifier: ^6.3.0 version: 6.6.2(react-dom@18.2.0)(react@18.2.0) - typeface-open-sans: - specifier: ^1.1.13 - version: 1.1.13 web-vitals: specifier: ^3.1.1 version: 3.1.1 @@ -2321,6 +2321,10 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@fontsource/open-sans@5.0.28: + resolution: {integrity: sha512-hBvJHY76pJT/JynGUB5EXWhnzjYfLdcMn655J5p1v9lTT9HdQSy+keq2KPVXO2Htlg998BBa3p6u/jlrZ6w0kg==} + dev: false + /@googleapis/sheets@5.0.5: resolution: {integrity: sha512-XMoONmgAJm2jYeTYHX4054VcEkElxlgqmnHvt0wAurzEHoGJLdUHhTAJXGPLgSs4WVMPtgU8HLrmk7/U+Qlw7A==} engines: {node: '>=12.0.0'} @@ -9053,10 +9057,6 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: false - /typeface-open-sans@1.1.13: - resolution: {integrity: sha512-lVGVHvYl7UJDFB9vN8r7NHw3sVm7Rjeow6b9AeABc/J+2mDaCkmcdVtw3QZnsJW39P+xm5zeggIj9gLHYGn9Iw==} - dev: false - /typescript@4.9.5: resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} engines: {node: '>=4.2.0'}