diff --git a/front/apps/web/next.config.js b/front/apps/web/next.config.js index 1b94df99..6185317f 100755 --- a/front/apps/web/next.config.js +++ b/front/apps/web/next.config.js @@ -50,11 +50,8 @@ const nextConfig = { ...config.resolve, alias: { ...config.resolve.alias, - "react-native$": "react-native-web", - "react-native/Libraries/Image/AssetRegistry$": - "react-native-web/dist/modules/AssetRegistry", }, - extensions: [".web.ts", ".web.tsx", ".web.js", ".web.jsx", ...config.resolve.extensions], + extensions: [..config.resolve.extensions], }; if (!config.plugins) config.plugins = []; diff --git a/front/apps/web/package.json b/front/apps/web/package.json index 948eab2e..7a55142a 100644 --- a/front/apps/web/package.json +++ b/front/apps/web/package.json @@ -10,6 +10,7 @@ "build": "vite build", "start": "vite preview" }, + "type": "module", "dependencies": { "@gorhom/portal": "^1.0.14", "@kyoo/models": "workspace:^", @@ -54,6 +55,7 @@ "@types/react": "18.2.48", "@types/react-dom": "18.2.18", "react-native": "0.73.2", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "vite-plugin-react-native-web": "^1.0.2" } } diff --git a/front/apps/web/src/pages/+config.ts b/front/apps/web/src/pages/+config.ts index f54a53fb..37249200 100644 --- a/front/apps/web/src/pages/+config.ts +++ b/front/apps/web/src/pages/+config.ts @@ -1,5 +1,5 @@ import type { Config } from "vike/types"; -import logoUrl from "~/public/icon.svg"; +import logoUrl from "../../public/icon.svg"; import vikeReact from "vike-react/config"; import vikeReactQuery from "vike-react-query/config"; diff --git a/front/apps/web/src/pages/index/+Page.tsx b/front/apps/web/src/pages/index/+Page.tsx new file mode 100644 index 00000000..a423e40c --- /dev/null +++ b/front/apps/web/src/pages/index/+Page.tsx @@ -0,0 +1,3 @@ +import { HomePage } from "@kyoo/ui"; + +export default HomePage; diff --git a/front/apps/web/vite.config.ts b/front/apps/web/vite.config.ts index a9d293a9..a051333e 100644 --- a/front/apps/web/vite.config.ts +++ b/front/apps/web/vite.config.ts @@ -1,7 +1,17 @@ import react from "@vitejs/plugin-react"; +import reactNativeWeb from "vite-plugin-react-native-web"; import vike from "vike/plugin"; import type { UserConfig } from "vite"; +import path from "node:path"; export default { - plugins: [react(), vike()], + server: { + host: "0.0.0.0", + }, + resolve: { + alias: { + "~": path.resolve(__dirname, "./src"), + }, + }, + plugins: [react(), vike(), reactNativeWeb()], } satisfies UserConfig; diff --git a/front/packages/primitives/src/image/image.web.tsx b/front/packages/primitives/src/image/image.web.tsx index 3c5f6514..89963250 100644 --- a/front/packages/primitives/src/image/image.web.tsx +++ b/front/packages/primitives/src/image/image.web.tsx @@ -18,14 +18,13 @@ * along with Kyoo. If not, see . */ -import NextImage from "next/image"; import { useState } from "react"; import { type ImageStyle, View, type ViewStyle } from "react-native"; import { useYoshiki } from "yoshiki/native"; -import { imageBorderRadius } from "../constants"; -import { Skeleton } from "../skeleton"; -import type { ImageLayout, Props } from "./base-image"; +import type { Props, ImageLayout } from "./base-image"; import { BlurhashContainer } from "./blurhash.web"; +import { Skeleton } from "../skeleton"; +import { imageBorderRadius } from "../constants"; export const Image = ({ src, @@ -54,21 +53,17 @@ export const Image = ({ return ( - setState("finished")} onError={() => setState("errored")} - suppressHydrationWarning /> ); diff --git a/front/packages/primitives/src/image/sprite.web.tsx b/front/packages/primitives/src/image/sprite.web.tsx index 2dfbd4e0..bc21a62c 100644 --- a/front/packages/primitives/src/image/sprite.web.tsx +++ b/front/packages/primitives/src/image/sprite.web.tsx @@ -18,8 +18,6 @@ * along with Kyoo. If not, see . */ -import NextImage from "next/image"; - export const Sprite = ({ src, alt, @@ -37,12 +35,9 @@ export const Sprite = ({ y: number; }) => { return ( - . */ -import NextHead from "next/head"; + export const Head = ({ title, @@ -29,11 +29,13 @@ export const Head = ({ description?: string | null; image?: string | null; }) => { - return ( - - {title && {`${title} - Kyoo`}} - {description && } - {image && } - - ); + return <> + // TODO: implement this + // return ( + // + // {title && {`${title} - Kyoo`}} + // {description && } + // {image && } + // + // ); }; diff --git a/front/yarn.lock b/front/yarn.lock index 96b466e8..e89ceb05 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -7770,6 +7770,20 @@ __metadata: languageName: node linkType: hard +"flow-remove-types@npm:^2.233.0": + version: 2.236.0 + resolution: "flow-remove-types@npm:2.236.0" + dependencies: + hermes-parser: 0.21.0 + pirates: ^3.0.2 + vlq: ^0.2.1 + bin: + flow-node: flow-node + flow-remove-types: flow-remove-types + checksum: d1012205b8effde9483a6fddf154c9b36c42ba9219d6643b486b7fcf10ddc57d05f2a821478b5e12fc82786638e3527d28127321b0d54639acf42235bd1c3acb + languageName: node + linkType: hard + "fontfaceobserver@npm:^2.1.0": version: 2.3.0 resolution: "fontfaceobserver@npm:2.3.0" @@ -8189,6 +8203,13 @@ __metadata: languageName: node linkType: hard +"hermes-estree@npm:0.21.0": + version: 0.21.0 + resolution: "hermes-estree@npm:0.21.0" + checksum: b1654b8de21a102c36ef4a5a80f9956b04fc6e26fb16edb09ccb3ca4e2fbc3b794daaadb1696891e2b6192d4f2a581a1c5d1bf0c977a712ec6540505326d208c + languageName: node + linkType: hard + "hermes-parser@npm:0.15.0": version: 0.15.0 resolution: "hermes-parser@npm:0.15.0" @@ -8207,6 +8228,15 @@ __metadata: languageName: node linkType: hard +"hermes-parser@npm:0.21.0": + version: 0.21.0 + resolution: "hermes-parser@npm:0.21.0" + dependencies: + hermes-estree: 0.21.0 + checksum: 2e2ae7ebd446dc765d353323e1ff073d7fc96fcd90a8396dbfc0d13299d4c81293ccc72778bb4c6f1a6dc3751b2b778480a238f03419ccd9a8f364e5a58235ed + languageName: node + linkType: hard + "hermes-profile-transformer@npm:^0.0.6": version: 0.0.6 resolution: "hermes-profile-transformer@npm:0.0.6" @@ -10150,6 +10180,13 @@ __metadata: languageName: node linkType: hard +"node-modules-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "node-modules-regexp@npm:1.0.0" + checksum: 99541903536c5ce552786f0fca7f06b88df595e62e423c21fa86a1674ee2363dad1f7482d1bec20b4bd9fa5f262f88e6e5cb788fc56411113f2fe2e97783a3a7 + languageName: node + linkType: hard + "node-releases@npm:^2.0.14": version: 2.0.14 resolution: "node-releases@npm:2.0.14" @@ -10605,6 +10642,15 @@ __metadata: languageName: node linkType: hard +"pirates@npm:^3.0.2": + version: 3.0.2 + resolution: "pirates@npm:3.0.2" + dependencies: + node-modules-regexp: ^1.0.0 + checksum: 73bc9d8a1859c0854740541d1afd0c87b62d3d63fdaec38c3ac7f57d9d70b9f6f325f5ffcac11b8935c8d9249ead41c9c59632ed098b225a96219274ca6248c8 + languageName: node + linkType: hard + "pirates@npm:^4.0.1, pirates@npm:^4.0.6": version: 4.0.6 resolution: "pirates@npm:4.0.6" @@ -13039,6 +13085,15 @@ __metadata: languageName: node linkType: hard +"vite-plugin-react-native-web@npm:^1.0.2": + version: 1.0.2 + resolution: "vite-plugin-react-native-web@npm:1.0.2" + dependencies: + flow-remove-types: ^2.233.0 + checksum: 8e97b65152c1a1fdc9e5453fb3b24509ce4d194c6f9aab4f7abfaef283ed46eb3303e34c416cb628e219555739ccd20f7115419c17fa2760ff7f80eeaede23e2 + languageName: node + linkType: hard + "vite@npm:^5.2.11": version: 5.2.11 resolution: "vite@npm:5.2.11" @@ -13079,6 +13134,13 @@ __metadata: languageName: node linkType: hard +"vlq@npm:^0.2.1": + version: 0.2.3 + resolution: "vlq@npm:0.2.3" + checksum: 2231d8caeb5b2c1a438677ab029e9a94aa6fb61ab05819c72691b792aea0456dab29576aff5ae29309ee45bad0a309e832dc45173119bca1393f3b87709d8f8d + languageName: node + linkType: hard + "vlq@npm:^1.0.0": version: 1.0.1 resolution: "vlq@npm:1.0.1" @@ -13182,6 +13244,7 @@ __metadata: vike-react: ^0.4.8 vike-react-query: ^0.0.5 vite: ^5.2.11 + vite-plugin-react-native-web: ^1.0.2 yoshiki: 1.2.14 zod: ^3.22.4 languageName: unknown