diff --git a/frontEnd/.eslintrc.cjs b/frontEnd/.eslintrc.cjs
index 15e4e10..fbebe49 100644
--- a/frontEnd/.eslintrc.cjs
+++ b/frontEnd/.eslintrc.cjs
@@ -29,5 +29,6 @@ module.exports = {
'no-param-reassign': 'off',
'react/no-array-index-key': 'off',
'react/no-danger': 'off',
+ 'react/require-default-props': 'off',
},
};
diff --git a/frontEnd/package-lock.json b/frontEnd/package-lock.json
index 6f358b6..1863ebc 100644
--- a/frontEnd/package-lock.json
+++ b/frontEnd/package-lock.json
@@ -15,7 +15,8 @@
"react-router-dom": "^6.18.0",
"socket.io-client": "^4.7.2",
"uuid": "^9.0.1",
- "yjs": "^13.6.8"
+ "yjs": "^13.6.8",
+ "zustand": "^4.4.6"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.1.4",
@@ -2426,13 +2427,13 @@
"version": "15.7.9",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz",
"integrity": "sha512-n1yyPsugYNSmHgxDFjicaI2+gCNjsBck8UX9kuofAKlc0h1bL+20oSF72KeNaW2DUlesbEVCFgyV2dPGTiY42g==",
- "dev": true
+ "devOptional": true
},
"node_modules/@types/react": {
"version": "18.2.37",
"resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.37.tgz",
"integrity": "sha512-RGAYMi2bhRgEXT3f4B92WTohopH6bIXw05FuGlmJEnv/omEn190+QYEIYxIAuIBdKgboYYdVved2p1AxZVQnaw==",
- "dev": true,
+ "devOptional": true,
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -2452,7 +2453,7 @@
"version": "0.16.5",
"resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.5.tgz",
"integrity": "sha512-s/FPdYRmZR8SjLWGMCuax7r3qCWQw9QKHzXVukAuuIJkXkDRwp+Pu5LMIVFi0Fxbav35WURicYr8u1QsoybnQw==",
- "dev": true
+ "devOptional": true
},
"node_modules/@types/semver": {
"version": "7.5.4",
@@ -3853,7 +3854,7 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==",
- "dev": true
+ "devOptional": true
},
"node_modules/damerau-levenshtein": {
"version": "1.0.8",
@@ -11175,6 +11176,14 @@
"requires-port": "^1.0.0"
}
},
+ "node_modules/use-sync-external-store": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ }
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -11603,6 +11612,33 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/zustand": {
+ "version": "4.4.6",
+ "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.4.6.tgz",
+ "integrity": "sha512-Rb16eW55gqL4W2XZpJh0fnrATxYEG3Apl2gfHTyDSE965x/zxslTikpNch0JgNjJA9zK6gEFW8Fl6d1rTZaqgg==",
+ "dependencies": {
+ "use-sync-external-store": "1.2.0"
+ },
+ "engines": {
+ "node": ">=12.7.0"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16.8",
+ "immer": ">=9.0",
+ "react": ">=16.8"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "immer": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ }
+ }
}
}
}
diff --git a/frontEnd/package.json b/frontEnd/package.json
index 9034ba2..f6ee785 100644
--- a/frontEnd/package.json
+++ b/frontEnd/package.json
@@ -18,7 +18,8 @@
"react-router-dom": "^6.18.0",
"socket.io-client": "^4.7.2",
"uuid": "^9.0.1",
- "yjs": "^13.6.8"
+ "yjs": "^13.6.8",
+ "zustand": "^4.4.6"
},
"devDependencies": {
"@testing-library/jest-dom": "^6.1.4",
diff --git a/frontEnd/src/assets/micOff.svg b/frontEnd/src/assets/micOff.svg
new file mode 100644
index 0000000..5f1b52d
--- /dev/null
+++ b/frontEnd/src/assets/micOff.svg
@@ -0,0 +1,30 @@
+
+
+
diff --git a/frontEnd/src/assets/micOn.svg b/frontEnd/src/assets/micOn.svg
new file mode 100644
index 0000000..4daa47c
--- /dev/null
+++ b/frontEnd/src/assets/micOn.svg
@@ -0,0 +1,28 @@
+
+
+
diff --git a/frontEnd/src/assets/videoOff.svg b/frontEnd/src/assets/videoOff.svg
new file mode 100644
index 0000000..e9fcee8
--- /dev/null
+++ b/frontEnd/src/assets/videoOff.svg
@@ -0,0 +1,18 @@
+
+
+
diff --git a/frontEnd/src/assets/videoOn.svg b/frontEnd/src/assets/videoOn.svg
new file mode 100644
index 0000000..5485ed7
--- /dev/null
+++ b/frontEnd/src/assets/videoOn.svg
@@ -0,0 +1,16 @@
+
+
+
diff --git a/frontEnd/src/components/Button.tsx b/frontEnd/src/components/Button.tsx
index 9ae4650..5c4abc5 100644
--- a/frontEnd/src/components/Button.tsx
+++ b/frontEnd/src/components/Button.tsx
@@ -5,8 +5,11 @@ type ButtonProps = {
onClick: () => void;
fontSize: string;
};
+function Button({ children }: { children: ReactNode }) {
+ return
{children}
;
+}
-export default function Button({ children, onClick, fontSize }: ButtonProps) {
+function Default({ children, onClick, fontSize }: ButtonProps) {
return (