From 3b909cf9a894670863ea53fa68ef26a7c5986d3d Mon Sep 17 00:00:00 2001 From: J Taylor Date: Thu, 16 Sep 2021 19:53:35 +0100 Subject: [PATCH 1/9] removed airbnb defaults and updated Track Provider --- .eslintrc | 9 +- dailyjs/basic-call/components/App/App.js | 2 +- .../RoomContainer.js => Call/Container.js} | 8 +- .../components/{Room => Call}/Header.js | 8 +- .../components/{Room => Call}/Room.js | 8 +- .../{VideoGrid => Call}/VideoGrid.js | 0 .../{WaitingRoom => Call}/WaitingRoom.js | 0 .../components/CreatingRoom/index.js | 2 - dailyjs/basic-call/components/Intro/index.js | 3 - .../{CreatingRoom => Prejoin}/CreatingRoom.js | 0 .../components/{Intro => Prejoin}/Intro.js | 0 .../{Intro => Prejoin}/NotConfigured.js | 0 dailyjs/basic-call/components/Room/index.js | 2 - .../basic-call/components/VideoGrid/index.js | 2 - .../components/WaitingRoom/index.js | 1 - dailyjs/basic-call/env.example | 3 + dailyjs/basic-call/package.json | 6 +- dailyjs/basic-call/pages/_app.js | 2 - dailyjs/basic-call/pages/_document.js | 23 ++ dailyjs/basic-call/pages/index.js | 8 +- dailyjs/live-fitness/.babelrc | 4 + dailyjs/live-fitness/README.md | 0 dailyjs/live-fitness/components/App/App.js | 13 ++ dailyjs/live-fitness/components/App/index.js | 1 + dailyjs/live-fitness/components/Tray/Tray.js | 47 ++++ dailyjs/live-fitness/components/Tray/index.js | 1 + dailyjs/live-fitness/env.example | 8 + dailyjs/live-fitness/next.config.js | 13 ++ dailyjs/live-fitness/package.json | 25 +++ dailyjs/live-fitness/pages/_app.js | 12 + dailyjs/live-fitness/pages/api | 1 + dailyjs/live-fitness/pages/index.js | 16 ++ dailyjs/live-fitness/public | 1 + dailyjs/live-streaming/README.md | 2 +- .../components/GlobalHead/GlobalHead.js | 14 -- dailyjs/shared/components/GlobalHead/index.js | 2 - .../shared/contexts/MediaDeviceProvider.js | 24 +- dailyjs/shared/contexts/TracksProvider.js | 102 +++++++-- dailyjs/shared/contexts/tracksState.js | 48 ++-- dailyjs/shared/contexts/useCallMachine.js | 8 +- dailyjs/shared/lib/demoProps.js | 2 - yarn.lock | 206 ++++++++++++++++++ 42 files changed, 524 insertions(+), 113 deletions(-) rename dailyjs/basic-call/components/{Room/RoomContainer.js => Call/Container.js} (86%) rename dailyjs/basic-call/components/{Room => Call}/Header.js (89%) rename dailyjs/basic-call/components/{Room => Call}/Room.js (68%) rename dailyjs/basic-call/components/{VideoGrid => Call}/VideoGrid.js (100%) rename dailyjs/basic-call/components/{WaitingRoom => Call}/WaitingRoom.js (100%) delete mode 100644 dailyjs/basic-call/components/CreatingRoom/index.js delete mode 100644 dailyjs/basic-call/components/Intro/index.js rename dailyjs/basic-call/components/{CreatingRoom => Prejoin}/CreatingRoom.js (100%) rename dailyjs/basic-call/components/{Intro => Prejoin}/Intro.js (100%) rename dailyjs/basic-call/components/{Intro => Prejoin}/NotConfigured.js (100%) delete mode 100644 dailyjs/basic-call/components/Room/index.js delete mode 100644 dailyjs/basic-call/components/VideoGrid/index.js delete mode 100644 dailyjs/basic-call/components/WaitingRoom/index.js create mode 100644 dailyjs/basic-call/pages/_document.js create mode 100644 dailyjs/live-fitness/.babelrc create mode 100644 dailyjs/live-fitness/README.md create mode 100644 dailyjs/live-fitness/components/App/App.js create mode 100644 dailyjs/live-fitness/components/App/index.js create mode 100644 dailyjs/live-fitness/components/Tray/Tray.js create mode 100644 dailyjs/live-fitness/components/Tray/index.js create mode 100644 dailyjs/live-fitness/env.example create mode 100644 dailyjs/live-fitness/next.config.js create mode 100644 dailyjs/live-fitness/package.json create mode 100644 dailyjs/live-fitness/pages/_app.js create mode 120000 dailyjs/live-fitness/pages/api create mode 100644 dailyjs/live-fitness/pages/index.js create mode 120000 dailyjs/live-fitness/public delete mode 100644 dailyjs/shared/components/GlobalHead/GlobalHead.js delete mode 100644 dailyjs/shared/components/GlobalHead/index.js diff --git a/.eslintrc b/.eslintrc index 51a6ed2..1dca80b 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,18 +1,13 @@ { - "extends": ["airbnb", "airbnb/hooks", "prettier"], - "parser": "babel-eslint", + "extends": ["next/core-web-vitals", "prettier"], "env": { "browser": true, "node": true, "es6": true }, "rules": { - "no-console": 0, - "react/jsx-props-no-spreading": 0, - "react/forbid-prop-types": 0, - "react/require-default-props": 0, - "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }], "import/no-extraneous-dependencies": 0, + "@next/next/no-img-element": 0, "import/order": [ "error", { diff --git a/dailyjs/basic-call/components/App/App.js b/dailyjs/basic-call/components/App/App.js index fa7c678..f85e251 100644 --- a/dailyjs/basic-call/components/App/App.js +++ b/dailyjs/basic-call/components/App/App.js @@ -4,7 +4,7 @@ import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; import { useCallUI } from '@dailyjs/shared/hooks/useCallUI'; import PropTypes from 'prop-types'; -import Room from '../Room'; +import { Room } from '../Call/Room'; import { Asides } from './Asides'; import { Modals } from './Modals'; diff --git a/dailyjs/basic-call/components/Room/RoomContainer.js b/dailyjs/basic-call/components/Call/Container.js similarity index 86% rename from dailyjs/basic-call/components/Room/RoomContainer.js rename to dailyjs/basic-call/components/Call/Container.js index b3fed79..bfda121 100644 --- a/dailyjs/basic-call/components/Room/RoomContainer.js +++ b/dailyjs/basic-call/components/Call/Container.js @@ -4,9 +4,9 @@ import { BasicTray } from '@dailyjs/shared/components/Tray'; import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; import useJoinSound from '@dailyjs/shared/hooks/useJoinSound'; import PropTypes from 'prop-types'; -import WaitingRoom from '../WaitingRoom'; +import { WaitingRoom } from './WaitingRoom'; -export const RoomContainer = ({ children }) => { +export const Container = ({ children }) => { const { isOwner } = useParticipants(); useJoinSound(); @@ -42,8 +42,8 @@ export const RoomContainer = ({ children }) => { ); }; -RoomContainer.propTypes = { +Container.propTypes = { children: PropTypes.node, }; -export default RoomContainer; +export default Container; diff --git a/dailyjs/basic-call/components/Room/Header.js b/dailyjs/basic-call/components/Call/Header.js similarity index 89% rename from dailyjs/basic-call/components/Room/Header.js rename to dailyjs/basic-call/components/Call/Header.js index 7491b1e..7412a5d 100644 --- a/dailyjs/basic-call/components/Room/Header.js +++ b/dailyjs/basic-call/components/Call/Header.js @@ -10,7 +10,13 @@ export const Header = () => { return useMemo( () => (
- Daily + Daily Basic call demo diff --git a/dailyjs/basic-call/components/Room/Room.js b/dailyjs/basic-call/components/Call/Room.js similarity index 68% rename from dailyjs/basic-call/components/Room/Room.js rename to dailyjs/basic-call/components/Call/Room.js index 8efc0bb..3c26b50 100644 --- a/dailyjs/basic-call/components/Room/Room.js +++ b/dailyjs/basic-call/components/Call/Room.js @@ -1,17 +1,17 @@ import React from 'react'; import VideoContainer from '@dailyjs/shared/components/VideoContainer/VideoContainer'; -import { VideoGrid } from '../VideoGrid'; +import { Container } from './Container'; import { Header } from './Header'; -import { RoomContainer } from './RoomContainer'; +import { VideoGrid } from './VideoGrid'; export const Room = () => ( - +
- + ); export default Room; diff --git a/dailyjs/basic-call/components/VideoGrid/VideoGrid.js b/dailyjs/basic-call/components/Call/VideoGrid.js similarity index 100% rename from dailyjs/basic-call/components/VideoGrid/VideoGrid.js rename to dailyjs/basic-call/components/Call/VideoGrid.js diff --git a/dailyjs/basic-call/components/WaitingRoom/WaitingRoom.js b/dailyjs/basic-call/components/Call/WaitingRoom.js similarity index 100% rename from dailyjs/basic-call/components/WaitingRoom/WaitingRoom.js rename to dailyjs/basic-call/components/Call/WaitingRoom.js diff --git a/dailyjs/basic-call/components/CreatingRoom/index.js b/dailyjs/basic-call/components/CreatingRoom/index.js deleted file mode 100644 index c92b6f2..0000000 --- a/dailyjs/basic-call/components/CreatingRoom/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { CreatingRoom as default } from './CreatingRoom'; -export { CreatingRoom } from './CreatingRoom'; diff --git a/dailyjs/basic-call/components/Intro/index.js b/dailyjs/basic-call/components/Intro/index.js deleted file mode 100644 index 7994320..0000000 --- a/dailyjs/basic-call/components/Intro/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export { Intro as default } from './Intro'; -export { Intro } from './Intro'; -export { NotConfigured } from './NotConfigured'; diff --git a/dailyjs/basic-call/components/CreatingRoom/CreatingRoom.js b/dailyjs/basic-call/components/Prejoin/CreatingRoom.js similarity index 100% rename from dailyjs/basic-call/components/CreatingRoom/CreatingRoom.js rename to dailyjs/basic-call/components/Prejoin/CreatingRoom.js diff --git a/dailyjs/basic-call/components/Intro/Intro.js b/dailyjs/basic-call/components/Prejoin/Intro.js similarity index 100% rename from dailyjs/basic-call/components/Intro/Intro.js rename to dailyjs/basic-call/components/Prejoin/Intro.js diff --git a/dailyjs/basic-call/components/Intro/NotConfigured.js b/dailyjs/basic-call/components/Prejoin/NotConfigured.js similarity index 100% rename from dailyjs/basic-call/components/Intro/NotConfigured.js rename to dailyjs/basic-call/components/Prejoin/NotConfigured.js diff --git a/dailyjs/basic-call/components/Room/index.js b/dailyjs/basic-call/components/Room/index.js deleted file mode 100644 index 2dc7fcb..0000000 --- a/dailyjs/basic-call/components/Room/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { Room as default } from './Room'; -export { RoomContainer } from './RoomContainer'; diff --git a/dailyjs/basic-call/components/VideoGrid/index.js b/dailyjs/basic-call/components/VideoGrid/index.js deleted file mode 100644 index 5285614..0000000 --- a/dailyjs/basic-call/components/VideoGrid/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { VideoGrid as default } from './VideoGrid'; -export { VideoGrid } from './VideoGrid'; diff --git a/dailyjs/basic-call/components/WaitingRoom/index.js b/dailyjs/basic-call/components/WaitingRoom/index.js deleted file mode 100644 index 48d19f6..0000000 --- a/dailyjs/basic-call/components/WaitingRoom/index.js +++ /dev/null @@ -1 +0,0 @@ -export { WaitingRoom as default } from './WaitingRoom'; diff --git a/dailyjs/basic-call/env.example b/dailyjs/basic-call/env.example index 5ab7e03..b4eeffe 100644 --- a/dailyjs/basic-call/env.example +++ b/dailyjs/basic-call/env.example @@ -6,3 +6,6 @@ DAILY_API_KEY= # Daily REST API endpoint DAILY_REST_DOMAIN=https://api.daily.co/v1 + +# Run in demo mode (will create a demo room for you to try) +DAILY_DEMO_MODE=0 \ No newline at end of file diff --git a/dailyjs/basic-call/package.json b/dailyjs/basic-call/package.json index 495f694..75705bd 100644 --- a/dailyjs/basic-call/package.json +++ b/dailyjs/basic-call/package.json @@ -11,10 +11,8 @@ }, "dependencies": { "@dailyjs/shared": "*", - "next": "^11.0.0", - "pluralize": "^8.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" + "next": "^11.1.2", + "pluralize": "^8.0.0" }, "devDependencies": { "babel-plugin-module-resolver": "^4.1.0", diff --git a/dailyjs/basic-call/pages/_app.js b/dailyjs/basic-call/pages/_app.js index 790ea7a..3453010 100644 --- a/dailyjs/basic-call/pages/_app.js +++ b/dailyjs/basic-call/pages/_app.js @@ -1,5 +1,4 @@ import React from 'react'; -import GlobalHead from '@dailyjs/shared/components/GlobalHead'; import GlobalStyle from '@dailyjs/shared/components/GlobalStyle'; import Head from 'next/head'; import PropTypes from 'prop-types'; @@ -10,7 +9,6 @@ function App({ Component, pageProps }) { Daily - {process.env.PROJECT_TITLE} - + + + + + +
+ + + + ); + } +} + +export default MyDocument; diff --git a/dailyjs/basic-call/pages/index.js b/dailyjs/basic-call/pages/index.js index d2c213b..da20ba5 100644 --- a/dailyjs/basic-call/pages/index.js +++ b/dailyjs/basic-call/pages/index.js @@ -8,8 +8,8 @@ import { WaitingRoomProvider } from '@dailyjs/shared/contexts/WaitingRoomProvide import getDemoProps from '@dailyjs/shared/lib/demoProps'; import PropTypes from 'prop-types'; import App from '../components/App'; -import { CreatingRoom } from '../components/CreatingRoom'; -import { Intro, NotConfigured } from '../components/Intro'; +import { CreatingRoom } from '../components/Prejoin/CreatingRoom'; +import { Intro, NotConfigured } from '../components/Prejoin/Intro'; /** * Index page @@ -22,7 +22,6 @@ import { Intro, NotConfigured } from '../components/Intro'; export default function Index({ domain, isConfigured = false, - predefinedRoom = '', forceFetchToken = false, forceOwner = false, subscribeToTracksAutomatically = true, @@ -32,7 +31,7 @@ export default function Index({ customTrayComponent, customAppComponent, }) { - const [roomName, setRoomName] = useState(predefinedRoom); + const [roomName, setRoomName] = useState(); const [fetchingToken, setFetchingToken] = useState(false); const [token, setToken] = useState(); const [tokenError, setTokenError] = useState(); @@ -137,7 +136,6 @@ export default function Index({ Index.propTypes = { isConfigured: PropTypes.bool.isRequired, - predefinedRoom: PropTypes.string, domain: PropTypes.string, asides: PropTypes.arrayOf(PropTypes.func), modals: PropTypes.arrayOf(PropTypes.func), diff --git a/dailyjs/live-fitness/.babelrc b/dailyjs/live-fitness/.babelrc new file mode 100644 index 0000000..a6f4434 --- /dev/null +++ b/dailyjs/live-fitness/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["next/babel"], + "plugins": ["inline-react-svg"] +} diff --git a/dailyjs/live-fitness/README.md b/dailyjs/live-fitness/README.md new file mode 100644 index 0000000..e69de29 diff --git a/dailyjs/live-fitness/components/App/App.js b/dailyjs/live-fitness/components/App/App.js new file mode 100644 index 0000000..393d2ad --- /dev/null +++ b/dailyjs/live-fitness/components/App/App.js @@ -0,0 +1,13 @@ +import React from 'react'; + +import App from '@dailyjs/basic-call/components/App'; +import { RecordingProvider } from '../../contexts/RecordingProvider'; + +// Extend our basic call app component with the recording context +export const AppWithRecording = () => ( + + + +); + +export default AppWithRecording; diff --git a/dailyjs/live-fitness/components/App/index.js b/dailyjs/live-fitness/components/App/index.js new file mode 100644 index 0000000..82a89dc --- /dev/null +++ b/dailyjs/live-fitness/components/App/index.js @@ -0,0 +1 @@ +export { AppWithRecording as default } from './App'; diff --git a/dailyjs/live-fitness/components/Tray/Tray.js b/dailyjs/live-fitness/components/Tray/Tray.js new file mode 100644 index 0000000..c26f253 --- /dev/null +++ b/dailyjs/live-fitness/components/Tray/Tray.js @@ -0,0 +1,47 @@ +import React, { useEffect } from 'react'; + +import { TrayButton } from '@dailyjs/shared/components/Tray'; +import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import { ReactComponent as IconRecord } from '@dailyjs/shared/icons/record-md.svg'; + +import { + RECORDING_ERROR, + RECORDING_RECORDING, + RECORDING_SAVED, + RECORDING_UPLOADING, + useRecording, +} from '../../contexts/RecordingProvider'; +import { RECORDING_MODAL } from '../RecordingModal'; + +export const Tray = () => { + const { openModal } = useUIState(); + const { recordingState } = useRecording(); + + useEffect(() => { + console.log(`⏺️ Recording state: ${recordingState}`); + + if (recordingState === RECORDING_ERROR) { + // show error modal here + } + }, [recordingState]); + + const isRecording = [ + RECORDING_RECORDING, + RECORDING_UPLOADING, + RECORDING_SAVED, + ].includes(recordingState); + + return ( + <> + openModal(RECORDING_MODAL)} + > + + + + ); +}; + +export default Tray; diff --git a/dailyjs/live-fitness/components/Tray/index.js b/dailyjs/live-fitness/components/Tray/index.js new file mode 100644 index 0000000..100bcc8 --- /dev/null +++ b/dailyjs/live-fitness/components/Tray/index.js @@ -0,0 +1 @@ +export { Tray as default } from './Tray'; diff --git a/dailyjs/live-fitness/env.example b/dailyjs/live-fitness/env.example new file mode 100644 index 0000000..5ab7e03 --- /dev/null +++ b/dailyjs/live-fitness/env.example @@ -0,0 +1,8 @@ +# Domain excluding 'https://' and 'daily.co' e.g. 'somedomain' +DAILY_DOMAIN= + +# Obtained from https://dashboard.daily.co/developers +DAILY_API_KEY= + +# Daily REST API endpoint +DAILY_REST_DOMAIN=https://api.daily.co/v1 diff --git a/dailyjs/live-fitness/next.config.js b/dailyjs/live-fitness/next.config.js new file mode 100644 index 0000000..9a0a6ee --- /dev/null +++ b/dailyjs/live-fitness/next.config.js @@ -0,0 +1,13 @@ +const withPlugins = require('next-compose-plugins'); +const withTM = require('next-transpile-modules')([ + '@dailyjs/shared', + '@dailyjs/basic-call', +]); + +const packageJson = require('./package.json'); + +module.exports = withPlugins([withTM], { + env: { + PROJECT_TITLE: packageJson.description, + }, +}); diff --git a/dailyjs/live-fitness/package.json b/dailyjs/live-fitness/package.json new file mode 100644 index 0000000..56770d8 --- /dev/null +++ b/dailyjs/live-fitness/package.json @@ -0,0 +1,25 @@ +{ + "name": "@dailyjs/live-fitness", + "description": "Live Fitness", + "version": "0.1.0", + "private": true, + "scripts": { + "dev": "next dev", + "build": "next build", + "start": "next start", + "lint": "next lint" + }, + "dependencies": { + "@dailyjs/shared": "*", + "@dailyjs/basic-call": "*", + "next": "^11.0.0", + "pluralize": "^8.0.0", + "react": "^17.0.2", + "react-dom": "^17.0.2" + }, + "devDependencies": { + "babel-plugin-module-resolver": "^4.1.0", + "next-compose-plugins": "^2.2.1", + "next-transpile-modules": "^8.0.0" + } +} diff --git a/dailyjs/live-fitness/pages/_app.js b/dailyjs/live-fitness/pages/_app.js new file mode 100644 index 0000000..df733a8 --- /dev/null +++ b/dailyjs/live-fitness/pages/_app.js @@ -0,0 +1,12 @@ +import React from 'react'; +import App from '@dailyjs/basic-call/pages/_app'; +import AppWithRecording from '../components/App'; + +import { RecordingModal } from '../components/RecordingModal'; +import Tray from '../components/Tray'; + +App.modals = [RecordingModal]; +App.customAppComponent = ; +App.customTrayComponent = ; + +export default App; diff --git a/dailyjs/live-fitness/pages/api b/dailyjs/live-fitness/pages/api new file mode 120000 index 0000000..999f604 --- /dev/null +++ b/dailyjs/live-fitness/pages/api @@ -0,0 +1 @@ +../../basic-call/pages/api \ No newline at end of file diff --git a/dailyjs/live-fitness/pages/index.js b/dailyjs/live-fitness/pages/index.js new file mode 100644 index 0000000..2668138 --- /dev/null +++ b/dailyjs/live-fitness/pages/index.js @@ -0,0 +1,16 @@ +import Index from '@dailyjs/basic-call/pages'; +import getDemoProps from '@dailyjs/shared/lib/demoProps'; + +export async function getStaticProps() { + const defaultProps = getDemoProps(); + + return { + props: { + ...defaultProps, + forceFetchToken: true, + forceOwner: true, + }, + }; +} + +export default Index; diff --git a/dailyjs/live-fitness/public b/dailyjs/live-fitness/public new file mode 120000 index 0000000..33a6e67 --- /dev/null +++ b/dailyjs/live-fitness/public @@ -0,0 +1 @@ +../basic-call/public \ No newline at end of file diff --git a/dailyjs/live-streaming/README.md b/dailyjs/live-streaming/README.md index c5e7974..65d4c26 100644 --- a/dailyjs/live-streaming/README.md +++ b/dailyjs/live-streaming/README.md @@ -34,7 +34,7 @@ In this example we extend the [basic call demo](../basic-call) with live streami We pass a custom tray object, a custom app object (wrapping the original in a new `LiveStreamingProvider`) and a custom modal. We also symlink both the `public` and `pages/api` folders from the basic call. -Single live streaming is only available to call owners, you must create a token when joining the call (for simplicity, we have disabled the abiltiy to join the call as a guest.) +Single live streaming is only available to call owners, you must create a token when joining the call (for simplicity, we have disabled the ability to join the call as a guest.) ## Deploy your own on Vercel diff --git a/dailyjs/shared/components/GlobalHead/GlobalHead.js b/dailyjs/shared/components/GlobalHead/GlobalHead.js deleted file mode 100644 index dc4660a..0000000 --- a/dailyjs/shared/components/GlobalHead/GlobalHead.js +++ /dev/null @@ -1,14 +0,0 @@ -import React from 'react'; -import Head from 'next/head'; - -export const GlobalHead = () => ( - - - - -); - -export default GlobalHead; diff --git a/dailyjs/shared/components/GlobalHead/index.js b/dailyjs/shared/components/GlobalHead/index.js deleted file mode 100644 index 2d9ccec..0000000 --- a/dailyjs/shared/components/GlobalHead/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { GlobalHead as default } from './GlobalHead'; -export { GlobalHead } from './GlobalHead'; diff --git a/dailyjs/shared/contexts/MediaDeviceProvider.js b/dailyjs/shared/contexts/MediaDeviceProvider.js index 0563392..2e5e6e7 100644 --- a/dailyjs/shared/contexts/MediaDeviceProvider.js +++ b/dailyjs/shared/contexts/MediaDeviceProvider.js @@ -1,15 +1,15 @@ -import React, { useState, useEffect, createContext, useContext } from 'react'; +import React, { createContext, useContext } from 'react'; import PropTypes from 'prop-types'; import { useCallState } from './CallProvider'; +import { useParticipants } from './ParticipantsProvider'; import { useDevices } from './useDevices'; export const MediaDeviceContext = createContext(); export const MediaDeviceProvider = ({ children }) => { const { callObject } = useCallState(); - const [isCamMuted, setIsCamMuted] = useState(false); - const [isMicMuted, setIsMicMuted] = useState(false); + const { localParticipant } = useParticipants(); const { cams, @@ -24,20 +24,6 @@ export const MediaDeviceProvider = ({ children }) => { setSpeakersDevice, } = useDevices(callObject); - useEffect(() => { - if (!callObject) return false; - - const handleNewDeviceState = () => { - setIsCamMuted(!callObject.participants()?.local?.video); - setIsMicMuted(!callObject.participants()?.local?.audio); - }; - - callObject.on('participant-updated', handleNewDeviceState); - return () => { - callObject.off('participant-updated', handleNewDeviceState); - }; - }, [callObject]); - return ( { micError, currentDevices, deviceState, - isCamMuted, - isMicMuted, + isCamMuted: localParticipant.isCamMuted, + isMicMuted: localParticipant.isMicMuted, setMicDevice, setCamDevice, setSpeakersDevice, diff --git a/dailyjs/shared/contexts/TracksProvider.js b/dailyjs/shared/contexts/TracksProvider.js index 4021d43..c92067c 100644 --- a/dailyjs/shared/contexts/TracksProvider.js +++ b/dailyjs/shared/contexts/TracksProvider.js @@ -11,6 +11,7 @@ import React, { import PropTypes from 'prop-types'; +import { useDeepCompareEffect } from 'use-deep-compare'; import { sortByKey } from '../lib/sortByKey'; import { useCallState } from './CallProvider'; import { useParticipants } from './ParticipantsProvider'; @@ -20,6 +21,8 @@ import { REMOVE_TRACKS, TRACK_STARTED, TRACK_STOPPED, + TRACK_VIDEO_UPDATED, + TRACK_AUDIO_UPDATED, tracksReducer, } from './tracksState'; @@ -111,17 +114,15 @@ export const TracksProvider = ({ children }) => { // participant's cam if (desiredSubscription === currentSubscription) return u; - return { - ...u, - [id]: { - setSubscribedTracks: { - audio: true, - screenAudio: true, - screenVideo: true, - video: desiredSubscription, - }, + u[id] = { + setSubscribedTracks: { + audio: true, + screenAudio: true, + screenVideo: true, + video: desiredSubscription, }, }; + return u; }, {}); if (Object.keys(updates).length === 0) return; @@ -181,26 +182,25 @@ export const TracksProvider = ({ children }) => { joinedSubscriptionQueue.push(participant.session_id); }; - const joinBatchInterval = setInterval(() => { + const joinBatchInterval = setInterval(async () => { if (!joinedSubscriptionQueue.length) return; const ids = joinedSubscriptionQueue.splice(0); - const callParticipants = callObject.participants(); + const participants = callObject.participants(); + const topology = (await callObject.getNetworkTopology())?.topology; const updates = ids.reduce((o, id) => { - const { subscribed } = callParticipants?.[id]?.tracks?.audio; - const result = { ...o[id] }; - if (!subscribed) { - result.setSubscribedTracks = { - audio: true, - screenAudio: true, - screenVideo: true, + if (!participants?.[id]?.tracks?.audio?.subscribed) { + o[id] = { + setSubscribedTracks: { + audio: true, + screenAudio: true, + screenVideo: true, + }, }; } - - if (rtcpeers?.getCurrentType?.() === 'peer-to-peer') { - result.setSubscribedTracks = true; + if (topology === 'peer') { + o[id] = { setSubscribedTracks: true }; } - - return { [id]: result }; + return o; }, {}); if (!subscribeToTracksAutomatically && Object.keys(updates).length0) { @@ -222,6 +222,62 @@ export const TracksProvider = ({ children }) => { }; }, [callObject, subscribeToTracksAutomatically]); + useDeepCompareEffect(() => { + if (!callObject) return; + + const handleParticipantUpdated = ({ participant }) => { + const hasAudioChanged = + // State changed + participant.tracks.audio.state !== + state.audioTracks?.[participant.user_id]?.state || + // Off/blocked reason changed + !deepEqual( + { + ...(participant.tracks.audio?.blocked ?? {}), + ...(participant.tracks.audio?.off ?? {}), + }, + { + ...(state.audioTracks?.[participant.user_id].blocked ?? {}), + ...(state.audioTracks?.[participant.user_id].off ?? {}), + } + ); + const hasVideoChanged = + // State changed + participant.tracks.video.state !== + state.videoTracks?.[participant.user_id]?.state || + // Off/blocked reason changed + !deepEqual( + { + ...(participant.tracks.video?.blocked ?? {}), + ...(participant.tracks.video?.off ?? {}), + }, + { + ...(state.videoTracks?.[participant.user_id].blocked ?? {}), + ...(state.videoTracks?.[participant.user_id].off ?? {}), + } + ); + if (hasAudioChanged) { + // Update audio track state + dispatch({ + type: TRACK_AUDIO_UPDATED, + participant, + }); + } + if (hasVideoChanged) { + // Update video track state + dispatch({ + type: TRACK_VIDEO_UPDATED, + participant, + }); + } + }; + + callObject.on('participant-updated', handleParticipantUpdated); + return () => { + callObject.off('participant-updated', handleParticipantUpdated); + }; + }, [callObject, state.audioTracks, state.videoTracks]); + return ( { const dailyRoomInfo = await co.room(); + const { access } = co.accessState(); const prejoinEnabled = dailyRoomInfo?.config?.enable_prejoin_ui === null @@ -61,7 +62,12 @@ export const useCallMachine = ({ const knockingEnabled = !!dailyRoomInfo?.config?.enable_knocking; - return prejoinEnabled || knockingEnabled; + return ( + prejoinEnabled || + (access !== ACCESS_STATE_UNKNOWN && + access?.level === ACCESS_STATE_LOBBY && + knockingEnabled) + ); }; // --- Callbacks --- diff --git a/dailyjs/shared/lib/demoProps.js b/dailyjs/shared/lib/demoProps.js index ba814bb..757128c 100644 --- a/dailyjs/shared/lib/demoProps.js +++ b/dailyjs/shared/lib/demoProps.js @@ -3,8 +3,6 @@ export default function getDemoProps() { domain: process.env.DAILY_DOMAIN || null, // Check that both domain and key env vars are set isConfigured: !!process.env.DAILY_DOMAIN && !!process.env.DAILY_API_KEY, - // Have we predefined a room to use? - predefinedRoom: process.env.DAILY_ROOM || '', // Manual or automatic track subscriptions subscribeToTracksAutomatically: !process.env.MANUAL_TRACK_SUBS, // Are we running in demo mode? (automatically creates a short-expiry room) diff --git a/yarn.lock b/yarn.lock index 073555d..f66f64d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -46,6 +46,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== +"@babel/helper-plugin-utils@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + "@babel/helper-split-export-declaration@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" @@ -58,6 +63,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== +"@babel/helper-validator-identifier@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" + integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== + "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": version "7.13.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" @@ -82,6 +92,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.16.tgz#0f18179b0448e6939b1f3f5c4c355a3a9bcdfd37" integrity sha512-6bAg36mCwuqLO0hbR+z7PHuqWiCeP7Dzg73OpQwsAB1Eb8HnGEz5xYBzCfbu+YjoaJsJs+qheDxVAuqbt3ILEw== +"@babel/plugin-syntax-jsx@7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" + integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/runtime-corejs3@^7.10.2": version "7.13.17" resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.13.17.tgz#9baf45f03d4d013f021760b992d6349a9d27deaf" @@ -97,6 +114,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@7.15.3": + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.3.tgz#2e1c2880ca118e5b2f9988322bd8a7656a32502b" + integrity sha512-OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2": version "7.13.17" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.13.17.tgz#8966d1fc9593bf848602f0662d6b4d0069e3a7ec" @@ -134,6 +158,14 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/types@7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.0.tgz#61af11f2286c4e9c69ca8deb5f4375a73c72dcbd" + integrity sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ== + dependencies: + "@babel/helper-validator-identifier" "^7.14.9" + to-fast-properties "^2.0.0" + "@babel/types@7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" @@ -206,11 +238,21 @@ resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.1.1.tgz#9daf5745156fd84b8e9889a2dc721f0c58e894aa" integrity sha512-CAEbWH7OIur6jEOzaai83jq3FmKmv4PmX1JYfs9IrYcGEVI/lyL1EXJGCj7eFVJ0bg5QR8LMxBlEtA+xKiLpFw== +"@napi-rs/triples@^1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@napi-rs/triples/-/triples-1.0.3.tgz#76d6d0c3f4d16013c61e45dfca5ff1e6c31ae53c" + integrity sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA== + "@next/env@11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@next/env/-/env-11.0.0.tgz#bdd306a45e88ba3e4e7a36aa91806f6486bb61d0" integrity sha512-VKpmDvTYeCpEQjREg3J4pCmVs/QjEzoLmkM8shGFK6e9AmFd0G9QXOL8HGA8qKhy/XmNb7dHeMqrcMiBua4OgA== +"@next/env@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/env/-/env-11.1.2.tgz#27996efbbc54c5f949f5e8c0a156e3aa48369b99" + integrity sha512-+fteyVdQ7C/OoulfcF6vd1Yk0FEli4453gr8kSFbU8sKseNSizYq6df5MKz/AjwLptsxrUeIkgBdAzbziyJ3mA== + "@next/eslint-plugin-next@11.0.1": version "11.0.1" resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-11.0.1.tgz#5dd3264a40fadcf28eba00d914d69103422bb7e6" @@ -221,6 +263,11 @@ resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-11.0.0.tgz#cb2f46b323bbe7f8a337ccd80fb82314d4039403" integrity sha512-gydtFzRqsT549U8+sY8382I/f4HFcelD8gdUGnAofQJa/jEU1jkxmjCHC8tmEiyeMLidl7iDZgchfSCpmMzzUg== +"@next/polyfill-module@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-11.1.2.tgz#1fe92c364fdc81add775a16c678f5057c6aace98" + integrity sha512-xZmixqADM3xxtqBV0TpAwSFzWJP0MOQzRfzItHXf1LdQHWb0yofHHC+7eOrPFic8+ZGz5y7BdPkkgR1S25OymA== + "@next/react-dev-overlay@11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-11.0.0.tgz#6befb4d00d952551db1b3909023074eb5778ac5d" @@ -238,11 +285,60 @@ stacktrace-parser "0.1.10" strip-ansi "6.0.0" +"@next/react-dev-overlay@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-11.1.2.tgz#73795dc5454b7af168bac93df7099965ebb603be" + integrity sha512-rDF/mGY2NC69mMg2vDqzVpCOlWqnwPUXB2zkARhvknUHyS6QJphPYv9ozoPJuoT/QBs49JJd9KWaAzVBvq920A== + dependencies: + "@babel/code-frame" "7.12.11" + anser "1.4.9" + chalk "4.0.0" + classnames "2.2.6" + css.escape "1.5.1" + data-uri-to-buffer "3.0.1" + platform "1.3.6" + shell-quote "1.7.2" + source-map "0.8.0-beta.0" + stacktrace-parser "0.1.10" + strip-ansi "6.0.0" + "@next/react-refresh-utils@11.0.0": version "11.0.0" resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-11.0.0.tgz#cb671723c50b904eaa44b4b45c0845476ecd8825" integrity sha512-hi5eY+KBn4QGtUv7VL2OptdM33fI2hxhd7+omOFmAK+S0hDWhg1uqHqqGJk0W1IfqlWEzzL10WvTJDPRAtDugQ== +"@next/react-refresh-utils@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-11.1.2.tgz#44ea40d8e773e4b77bad85e24f6ac041d5e4b4a5" + integrity sha512-hsoJmPfhVqjZ8w4IFzoo8SyECVnN+8WMnImTbTKrRUHOVJcYMmKLL7xf7T0ft00tWwAl/3f3Q3poWIN2Ueql/Q== + +"@next/swc-darwin-arm64@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-11.1.2.tgz#93226c38db488c4b62b30a53b530e87c969b8251" + integrity sha512-hZuwOlGOwBZADA8EyDYyjx3+4JGIGjSHDHWrmpI7g5rFmQNltjlbaefAbiU5Kk7j3BUSDwt30quJRFv3nyJQ0w== + +"@next/swc-darwin-x64@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-11.1.2.tgz#792003989f560c00677b5daeff360b35b510db83" + integrity sha512-PGOp0E1GisU+EJJlsmJVGE+aPYD0Uh7zqgsrpD3F/Y3766Ptfbe1lEPPWnRDl+OzSSrSrX1lkyM/Jlmh5OwNvA== + +"@next/swc-linux-x64-gnu@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-11.1.2.tgz#8216b2ae1f21f0112958735c39dd861088108f37" + integrity sha512-YcDHTJjn/8RqvyJVB6pvEKXihDcdrOwga3GfMv/QtVeLphTouY4BIcEUfrG5+26Nf37MP1ywN3RRl1TxpurAsQ== + +"@next/swc-win32-x64-msvc@11.1.2": + version "11.1.2" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-11.1.2.tgz#e15824405df137129918205e43cb5e9339589745" + integrity sha512-e/pIKVdB+tGQYa1cW3sAeHm8gzEri/HYLZHT4WZojrUxgWXqx8pk7S7Xs47uBcFTqBDRvK3EcQpPLf3XdVsDdg== + +"@node-rs/helper@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@node-rs/helper/-/helper-1.2.1.tgz#e079b05f21ff4329d82c4e1f71c0290e4ecdc70c" + integrity sha512-R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg== + dependencies: + "@napi-rs/triples" "^1.0.3" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -968,6 +1064,13 @@ cssnano-preset-simple@^2.0.0: dependencies: caniuse-lite "^1.0.30001202" +cssnano-preset-simple@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-3.0.0.tgz#e95d0012699ca2c741306e9a3b8eeb495a348dbe" + integrity sha512-vxQPeoMRqUT3c/9f0vWeVa2nKQIHFpogtoBvFdW4GQ3IvEJ6uauCP6p3Y5zQDLFcI7/+40FTgX12o7XUL0Ko+w== + dependencies: + caniuse-lite "^1.0.30001202" + cssnano-simple@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-2.0.0.tgz#930d9dcd8ba105c5a62ce719cb00854da58b5c05" @@ -975,6 +1078,13 @@ cssnano-simple@2.0.0: dependencies: cssnano-preset-simple "^2.0.0" +cssnano-simple@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-3.0.0.tgz#a4b8ccdef4c7084af97e19bc5b93b4ecf211e90f" + integrity sha512-oU3ueli5Dtwgh0DyeohcIEE00QVfbPR3HzyXdAl89SfnQG3y0/qcpfLVW+jPIh3/rgMZGwuW96rejZGaYE9eUg== + dependencies: + cssnano-preset-simple "^3.0.0" + csso@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" @@ -2388,6 +2498,67 @@ next@^11.0.0: vm-browserify "1.1.2" watchpack "2.1.1" +next@^11.1.2: + version "11.1.2" + resolved "https://registry.yarnpkg.com/next/-/next-11.1.2.tgz#527475787a9a362f1bc916962b0c0655cc05bc91" + integrity sha512-azEYL0L+wFjv8lstLru3bgvrzPvK0P7/bz6B/4EJ9sYkXeW8r5Bjh78D/Ol7VOg0EIPz0CXoe72hzAlSAXo9hw== + dependencies: + "@babel/runtime" "7.15.3" + "@hapi/accept" "5.0.2" + "@next/env" "11.1.2" + "@next/polyfill-module" "11.1.2" + "@next/react-dev-overlay" "11.1.2" + "@next/react-refresh-utils" "11.1.2" + "@node-rs/helper" "1.2.1" + assert "2.0.0" + ast-types "0.13.2" + browserify-zlib "0.2.0" + browserslist "4.16.6" + buffer "5.6.0" + caniuse-lite "^1.0.30001228" + chalk "2.4.2" + chokidar "3.5.1" + constants-browserify "1.0.0" + crypto-browserify "3.12.0" + cssnano-simple "3.0.0" + domain-browser "4.19.0" + encoding "0.1.13" + etag "1.8.1" + find-cache-dir "3.3.1" + get-orientation "1.1.2" + https-browserify "1.0.0" + image-size "1.0.0" + jest-worker "27.0.0-next.5" + native-url "0.3.4" + node-fetch "2.6.1" + node-html-parser "1.4.9" + node-libs-browser "^2.2.1" + os-browserify "0.3.0" + p-limit "3.1.0" + path-browserify "1.0.1" + pnp-webpack-plugin "1.6.4" + postcss "8.2.15" + process "0.11.10" + querystring-es3 "0.2.1" + raw-body "2.4.1" + react-is "17.0.2" + react-refresh "0.8.3" + stream-browserify "3.0.0" + stream-http "3.1.1" + string_decoder "1.3.0" + styled-jsx "4.0.1" + timers-browserify "2.0.12" + tty-browserify "0.0.1" + use-subscription "1.5.1" + util "0.12.4" + vm-browserify "1.1.2" + watchpack "2.1.1" + optionalDependencies: + "@next/swc-darwin-arm64" "11.1.2" + "@next/swc-darwin-x64" "11.1.2" + "@next/swc-linux-x64-gnu" "11.1.2" + "@next/swc-win32-x64-msvc" "11.1.2" + no-scroll@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/no-scroll/-/no-scroll-2.1.1.tgz#f37e08cb159b75a5bdbfc0a87cd9223e120e6e27" @@ -2773,6 +2944,15 @@ postcss@8.2.13: nanoid "^3.1.22" source-map "^0.6.1" +postcss@8.2.15: + version "8.2.15" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.15.tgz#9e66ccf07292817d226fc315cbbf9bc148fbca65" + integrity sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q== + dependencies: + colorette "^1.2.2" + nanoid "^3.1.23" + source-map "^0.6.1" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -3368,6 +3548,20 @@ styled-jsx@3.3.2: stylis "3.5.4" stylis-rule-sheet "0.0.10" +styled-jsx@4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-4.0.1.tgz#ae3f716eacc0792f7050389de88add6d5245b9e9" + integrity sha512-Gcb49/dRB1k8B4hdK8vhW27Rlb2zujCk1fISrizCcToIs+55B4vmUM0N9Gi4nnVfFZWe55jRdWpAqH1ldAKWvQ== + dependencies: + "@babel/plugin-syntax-jsx" "7.14.5" + "@babel/types" "7.15.0" + convert-source-map "1.7.0" + loader-utils "1.2.3" + source-map "0.7.3" + string-hash "1.1.3" + stylis "3.5.4" + stylis-rule-sheet "0.0.10" + stylis-rule-sheet@0.0.10: version "0.0.10" resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" @@ -3598,6 +3792,18 @@ util@0.12.3, util@^0.12.0: safe-buffer "^5.1.2" which-typed-array "^1.1.2" +util@0.12.4: + version "0.12.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" + integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + util@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" From dd7aaf2d8b02bae68f6f7cabb29b67b4e934e98b Mon Sep 17 00:00:00 2001 From: J Taylor Date: Thu, 16 Sep 2021 20:03:06 +0100 Subject: [PATCH 2/9] removed ghost live fitness example --- dailyjs/live-streaming/.babelrc | 4 - dailyjs/live-streaming/README.md | 41 ----- dailyjs/live-streaming/components/App/App.js | 13 -- .../live-streaming/components/App/index.js | 1 - .../LiveStreamingModal/LiveStreamingModal.js | 148 ------------------ .../components/LiveStreamingModal/index.js | 3 - .../live-streaming/components/Tray/Tray.js | 25 --- .../live-streaming/components/Tray/index.js | 1 - .../contexts/LiveStreamingProvider.js | 71 --------- dailyjs/live-streaming/env.example | 8 - dailyjs/live-streaming/image.png | Bin 276183 -> 0 bytes dailyjs/live-streaming/index.js | 1 - dailyjs/live-streaming/next.config.js | 13 -- dailyjs/live-streaming/package.json | 25 --- dailyjs/live-streaming/pages/_app.js | 12 -- dailyjs/live-streaming/pages/api | 1 - dailyjs/live-streaming/pages/index.js | 16 -- .../public/assets/daily-logo-dark.svg | 14 -- .../public/assets/daily-logo.svg | 14 -- dailyjs/live-streaming/public/assets/join.mp3 | Bin 15472 -> 0 bytes .../live-streaming/public/assets/message.mp3 | Bin 58931 -> 0 bytes .../public/assets/pattern-bg.png | Bin 51030 -> 0 bytes 22 files changed, 411 deletions(-) delete mode 100644 dailyjs/live-streaming/.babelrc delete mode 100644 dailyjs/live-streaming/README.md delete mode 100644 dailyjs/live-streaming/components/App/App.js delete mode 100644 dailyjs/live-streaming/components/App/index.js delete mode 100644 dailyjs/live-streaming/components/LiveStreamingModal/LiveStreamingModal.js delete mode 100644 dailyjs/live-streaming/components/LiveStreamingModal/index.js delete mode 100644 dailyjs/live-streaming/components/Tray/Tray.js delete mode 100644 dailyjs/live-streaming/components/Tray/index.js delete mode 100644 dailyjs/live-streaming/contexts/LiveStreamingProvider.js delete mode 100644 dailyjs/live-streaming/env.example delete mode 100644 dailyjs/live-streaming/image.png delete mode 100644 dailyjs/live-streaming/index.js delete mode 100644 dailyjs/live-streaming/next.config.js delete mode 100644 dailyjs/live-streaming/package.json delete mode 100644 dailyjs/live-streaming/pages/_app.js delete mode 120000 dailyjs/live-streaming/pages/api delete mode 100644 dailyjs/live-streaming/pages/index.js delete mode 100644 dailyjs/live-streaming/public/assets/daily-logo-dark.svg delete mode 100644 dailyjs/live-streaming/public/assets/daily-logo.svg delete mode 100644 dailyjs/live-streaming/public/assets/join.mp3 delete mode 100644 dailyjs/live-streaming/public/assets/message.mp3 delete mode 100644 dailyjs/live-streaming/public/assets/pattern-bg.png diff --git a/dailyjs/live-streaming/.babelrc b/dailyjs/live-streaming/.babelrc deleted file mode 100644 index a6f4434..0000000 --- a/dailyjs/live-streaming/.babelrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "presets": ["next/babel"], - "plugins": ["inline-react-svg"] -} diff --git a/dailyjs/live-streaming/README.md b/dailyjs/live-streaming/README.md deleted file mode 100644 index 65d4c26..0000000 --- a/dailyjs/live-streaming/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Live Streaming - -![Live Streaming](./image.png) - -### Live example - -**[See it in action here ➡️](https://dailyjs-live-streaming.vercel.app)** - ---- - -## What does this demo do? - -- Use [startLiveStreaming](https://docs.daily.co/reference#%EF%B8%8F-startlivestreaming) to send video and audio to specified RTMP endpoint -- Listen for stream started / stopped / error events -- Allows call owner to specify stream layout (grid, single participant or active speaker) and maximum cams -- Extends the basic call demo with a live streaming provider, tray button and modal -- Show a notification bubble at the top of the screen when live streaming is in progress - -Please note: this demo is not currently mobile optimised - -### Getting started - -``` -# set both DAILY_API_KEY and DAILY_DOMAIN -mv env.example .env.local - -yarn -yarn workspace @dailyjs/live-streaming dev -``` - -## How does this example work? - -In this example we extend the [basic call demo](../basic-call) with live streaming functionality. - -We pass a custom tray object, a custom app object (wrapping the original in a new `LiveStreamingProvider`) and a custom modal. We also symlink both the `public` and `pages/api` folders from the basic call. - -Single live streaming is only available to call owners, you must create a token when joining the call (for simplicity, we have disabled the ability to join the call as a guest.) - -## Deploy your own on Vercel - -[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/daily-co/clone-flow?repository-url=https%3A%2F%2Fgithub.com%2Fdaily-demos%2Fexamples.git&env=DAILY_DOMAIN%2CDAILY_API_KEY&envDescription=Your%20Daily%20domain%20and%20API%20key%20can%20be%20found%20on%20your%20account%20dashboard&envLink=https%3A%2F%2Fdashboard.daily.co&project-name=daily-examples&repo-name=daily-examples) diff --git a/dailyjs/live-streaming/components/App/App.js b/dailyjs/live-streaming/components/App/App.js deleted file mode 100644 index 4749551..0000000 --- a/dailyjs/live-streaming/components/App/App.js +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; - -import App from '@dailyjs/basic-call/components/App'; -import { LiveStreamingProvider } from '../../contexts/LiveStreamingProvider'; - -// Extend our basic call app component with the live streaming context -export const AppWithLiveStreaming = () => ( - - - -); - -export default AppWithLiveStreaming; diff --git a/dailyjs/live-streaming/components/App/index.js b/dailyjs/live-streaming/components/App/index.js deleted file mode 100644 index c46acf2..0000000 --- a/dailyjs/live-streaming/components/App/index.js +++ /dev/null @@ -1 +0,0 @@ -export { AppWithLiveStreaming as default } from './App'; diff --git a/dailyjs/live-streaming/components/LiveStreamingModal/LiveStreamingModal.js b/dailyjs/live-streaming/components/LiveStreamingModal/LiveStreamingModal.js deleted file mode 100644 index 2cee300..0000000 --- a/dailyjs/live-streaming/components/LiveStreamingModal/LiveStreamingModal.js +++ /dev/null @@ -1,148 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { Button } from '@dailyjs/shared/components/Button'; -import { CardBody } from '@dailyjs/shared/components/Card'; -import Field from '@dailyjs/shared/components/Field'; -import { TextInput, SelectInput } from '@dailyjs/shared/components/Input'; -import Modal from '@dailyjs/shared/components/Modal'; -import { Well } from '@dailyjs/shared/components/Well'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { useLiveStreaming } from '../../contexts/LiveStreamingProvider'; - -export const LIVE_STREAMING_MODAL = 'live-streaming'; - -const LAYOUTS = [ - { label: 'Grid (default)', value: 'default' }, - { label: 'Single participant', value: 'single-participant' }, - { label: 'Active participant', value: 'active-participant' }, -]; - -export const LiveStreamingModal = () => { - const { callObject } = useCallState(); - const { allParticipants } = useParticipants(); - const { currentModals, closeModal } = useUIState(); - const { isStreaming, streamError } = useLiveStreaming(); - const [pending, setPending] = useState(false); - const [rtmpUrl, setRtmpUrl] = useState(''); - const [layout, setLayout] = useState(0); - const [maxCams, setMaxCams] = useState(9); - const [participant, setParticipant] = useState(0); - - useEffect(() => { - // Reset pending state whenever stream state changes - setPending(false); - }, [isStreaming]); - - function startLiveStream() { - setPending(true); - - const opts = - layout === 'single-participant' - ? { session_id: participant.id } - : { max_cam_streams: maxCams }; - callObject.startLiveStreaming({ rtmpUrl, preset: layout, ...opts }); - } - - function stopLiveStreaming() { - setPending(true); - callObject.stopLiveStreaming(); - } - - return ( - closeModal(LIVE_STREAMING_MODAL)} - actions={[ - , - !isStreaming ? ( - - ) : ( - - ), - ]} - > - {streamError && ( - - Unable to start stream. Error message: {streamError} - - )} - - - setLayout(Number(e.target.value))} - value={layout} - > - {LAYOUTS.map((l, i) => ( - - ))} - - - - {layout !== - LAYOUTS.findIndex((l) => l.value === 'single-participant') && ( - - setMaxCams(Number(e.target.value))} - value={maxCams} - > - - - - - - - - - - - - )} - - {layout === - LAYOUTS.findIndex((l) => l.value === 'single-participant') && ( - - setParticipant(e.target.value)} - value={participant} - > - {allParticipants.map((p) => ( - - ))} - - - )} - - - setRtmpUrl(e.target.value)} - /> - - - - ); -}; - -export default LiveStreamingModal; diff --git a/dailyjs/live-streaming/components/LiveStreamingModal/index.js b/dailyjs/live-streaming/components/LiveStreamingModal/index.js deleted file mode 100644 index 12ffdf0..0000000 --- a/dailyjs/live-streaming/components/LiveStreamingModal/index.js +++ /dev/null @@ -1,3 +0,0 @@ -export { LiveStreamingModal as default } from './LiveStreamingModal'; -export { LiveStreamingModal } from './LiveStreamingModal'; -export { LIVE_STREAMING_MODAL } from './LiveStreamingModal'; diff --git a/dailyjs/live-streaming/components/Tray/Tray.js b/dailyjs/live-streaming/components/Tray/Tray.js deleted file mode 100644 index fa22345..0000000 --- a/dailyjs/live-streaming/components/Tray/Tray.js +++ /dev/null @@ -1,25 +0,0 @@ -import React from 'react'; - -import { TrayButton } from '@dailyjs/shared/components/Tray'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { ReactComponent as IconStream } from '@dailyjs/shared/icons/streaming-md.svg'; - -import { useLiveStreaming } from '../../contexts/LiveStreamingProvider'; -import { LIVE_STREAMING_MODAL } from '../LiveStreamingModal'; - -export const Tray = () => { - const { openModal } = useUIState(); - const { isStreaming } = useLiveStreaming(); - - return ( - openModal(LIVE_STREAMING_MODAL)} - > - - - ); -}; - -export default Tray; diff --git a/dailyjs/live-streaming/components/Tray/index.js b/dailyjs/live-streaming/components/Tray/index.js deleted file mode 100644 index 100bcc8..0000000 --- a/dailyjs/live-streaming/components/Tray/index.js +++ /dev/null @@ -1 +0,0 @@ -export { Tray as default } from './Tray'; diff --git a/dailyjs/live-streaming/contexts/LiveStreamingProvider.js b/dailyjs/live-streaming/contexts/LiveStreamingProvider.js deleted file mode 100644 index f0c4a51..0000000 --- a/dailyjs/live-streaming/contexts/LiveStreamingProvider.js +++ /dev/null @@ -1,71 +0,0 @@ -import React, { - useState, - createContext, - useContext, - useEffect, - useCallback, -} from 'react'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import PropTypes from 'prop-types'; - -export const LiveStreamingContext = createContext(); - -export const LiveStreamingProvider = ({ children }) => { - const [isStreaming, setIsStreaming] = useState(false); - const [streamError, setStreamError] = useState(); - const { setCustomCapsule } = useUIState(); - const { callObject } = useCallState(); - - const handleStreamStarted = useCallback(() => { - console.log('📺 Live stream started'); - setIsStreaming(true); - setStreamError(null); - setCustomCapsule({ variant: 'recording', label: 'Live streaming' }); - }, [setCustomCapsule]); - - const handleStreamStopped = useCallback(() => { - console.log('📺 Live stream stopped'); - setIsStreaming(false); - setCustomCapsule(null); - }, [setCustomCapsule]); - - const handleStreamError = useCallback( - (e) => { - setIsStreaming(false); - setCustomCapsule(null); - setStreamError(e.errorMsg); - }, - [setCustomCapsule] - ); - - useEffect(() => { - if (!callObject) { - return false; - } - - console.log('📺 Live streaming provider listening for stream events'); - - callObject.on('live-streaming-started', handleStreamStarted); - callObject.on('live-streaming-stopped', handleStreamStopped); - callObject.on('live-streaming-error', handleStreamError); - - return () => { - callObject.off('live-streaming-started', handleStreamStarted); - callObject.off('live-streaming-stopped', handleStreamStopped); - callObject.on('live-streaming-error', handleStreamError); - }; - }, [callObject, handleStreamStarted, handleStreamStopped, handleStreamError]); - - return ( - - {children} - - ); -}; - -LiveStreamingProvider.propTypes = { - children: PropTypes.node, -}; - -export const useLiveStreaming = () => useContext(LiveStreamingContext); diff --git a/dailyjs/live-streaming/env.example b/dailyjs/live-streaming/env.example deleted file mode 100644 index 5ab7e03..0000000 --- a/dailyjs/live-streaming/env.example +++ /dev/null @@ -1,8 +0,0 @@ -# Domain excluding 'https://' and 'daily.co' e.g. 'somedomain' -DAILY_DOMAIN= - -# Obtained from https://dashboard.daily.co/developers -DAILY_API_KEY= - -# Daily REST API endpoint -DAILY_REST_DOMAIN=https://api.daily.co/v1 diff --git a/dailyjs/live-streaming/image.png b/dailyjs/live-streaming/image.png deleted file mode 100644 index 97812616605aa94167fb1d3a7bd37f753cf98fd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 276183 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

fZ0eN8 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 diff --git a/dailyjs/live-streaming/index.js b/dailyjs/live-streaming/index.js deleted file mode 100644 index 9044efc..0000000 --- a/dailyjs/live-streaming/index.js +++ /dev/null @@ -1 +0,0 @@ -// Note: I am here because next-transpile-modules requires a mainfile diff --git a/dailyjs/live-streaming/next.config.js b/dailyjs/live-streaming/next.config.js deleted file mode 100644 index 9a0a6ee..0000000 --- a/dailyjs/live-streaming/next.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const withPlugins = require('next-compose-plugins'); -const withTM = require('next-transpile-modules')([ - '@dailyjs/shared', - '@dailyjs/basic-call', -]); - -const packageJson = require('./package.json'); - -module.exports = withPlugins([withTM], { - env: { - PROJECT_TITLE: packageJson.description, - }, -}); diff --git a/dailyjs/live-streaming/package.json b/dailyjs/live-streaming/package.json deleted file mode 100644 index a255016..0000000 --- a/dailyjs/live-streaming/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@dailyjs/live-streaming", - "description": "Basic Call + Live Streaming", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@dailyjs/shared": "*", - "@dailyjs/basic-call": "*", - "next": "^11.0.0", - "pluralize": "^8.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "devDependencies": { - "babel-plugin-module-resolver": "^4.1.0", - "next-compose-plugins": "^2.2.1", - "next-transpile-modules": "^8.0.0" - } -} diff --git a/dailyjs/live-streaming/pages/_app.js b/dailyjs/live-streaming/pages/_app.js deleted file mode 100644 index 7a097c4..0000000 --- a/dailyjs/live-streaming/pages/_app.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import App from '@dailyjs/basic-call/pages/_app'; -import AppWithLiveStreaming from '../components/App'; - -import { LiveStreamingModal } from '../components/LiveStreamingModal'; -import Tray from '../components/Tray'; - -App.modals = [LiveStreamingModal]; -App.customAppComponent = ; -App.customTrayComponent = ; - -export default App; diff --git a/dailyjs/live-streaming/pages/api b/dailyjs/live-streaming/pages/api deleted file mode 120000 index 999f604..0000000 --- a/dailyjs/live-streaming/pages/api +++ /dev/null @@ -1 +0,0 @@ -../../basic-call/pages/api \ No newline at end of file diff --git a/dailyjs/live-streaming/pages/index.js b/dailyjs/live-streaming/pages/index.js deleted file mode 100644 index 2668138..0000000 --- a/dailyjs/live-streaming/pages/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import Index from '@dailyjs/basic-call/pages'; -import getDemoProps from '@dailyjs/shared/lib/demoProps'; - -export async function getStaticProps() { - const defaultProps = getDemoProps(); - - return { - props: { - ...defaultProps, - forceFetchToken: true, - forceOwner: true, - }, - }; -} - -export default Index; diff --git a/dailyjs/live-streaming/public/assets/daily-logo-dark.svg b/dailyjs/live-streaming/public/assets/daily-logo-dark.svg deleted file mode 100644 index ef3a565..0000000 --- a/dailyjs/live-streaming/public/assets/daily-logo-dark.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dailyjs/live-streaming/public/assets/daily-logo.svg b/dailyjs/live-streaming/public/assets/daily-logo.svg deleted file mode 100644 index 534a18a..0000000 --- a/dailyjs/live-streaming/public/assets/daily-logo.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dailyjs/live-streaming/public/assets/join.mp3 b/dailyjs/live-streaming/public/assets/join.mp3 deleted file mode 100644 index 765791511d4299070bd307e20ee2b62f74ac4c9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15472 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 diff --git a/dailyjs/live-streaming/public/assets/message.mp3 b/dailyjs/live-streaming/public/assets/message.mp3 deleted file mode 100644 index a0673154f4318b537f5d94894f81d8c137b9f480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58931 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ℜ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 From 5c502a076793c012c6e7a421721c2b3c9a9c8961 Mon Sep 17 00:00:00 2001 From: J Taylor Date: Thu, 16 Sep 2021 20:23:29 +0100 Subject: [PATCH 3/9] removed assets from shared --- dailyjs/basic-call/components/App/index.js | 1 - dailyjs/shared/assets/daily-logo-dark.svg | 14 -------------- dailyjs/shared/assets/daily-logo.svg | 14 -------------- dailyjs/shared/assets/join.mp3 | Bin 15472 -> 0 bytes dailyjs/shared/assets/message.mp3 | Bin 58931 -> 0 bytes dailyjs/shared/assets/pattern-bg.png | Bin 51030 -> 0 bytes 6 files changed, 29 deletions(-) delete mode 100644 dailyjs/shared/assets/daily-logo-dark.svg delete mode 100644 dailyjs/shared/assets/daily-logo.svg delete mode 100644 dailyjs/shared/assets/join.mp3 delete mode 100644 dailyjs/shared/assets/message.mp3 delete mode 100644 dailyjs/shared/assets/pattern-bg.png diff --git a/dailyjs/basic-call/components/App/index.js b/dailyjs/basic-call/components/App/index.js index 8ab4977..7e7372b 100644 --- a/dailyjs/basic-call/components/App/index.js +++ b/dailyjs/basic-call/components/App/index.js @@ -1,2 +1 @@ export { App as default } from './App'; -export { Modals } from './Modals'; diff --git a/dailyjs/shared/assets/daily-logo-dark.svg b/dailyjs/shared/assets/daily-logo-dark.svg deleted file mode 100644 index ef3a565..0000000 --- a/dailyjs/shared/assets/daily-logo-dark.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dailyjs/shared/assets/daily-logo.svg b/dailyjs/shared/assets/daily-logo.svg deleted file mode 100644 index 534a18a..0000000 --- a/dailyjs/shared/assets/daily-logo.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/dailyjs/shared/assets/join.mp3 b/dailyjs/shared/assets/join.mp3 deleted file mode 100644 index 765791511d4299070bd307e20ee2b62f74ac4c9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15472 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 diff --git a/dailyjs/shared/assets/message.mp3 b/dailyjs/shared/assets/message.mp3 deleted file mode 100644 index a0673154f4318b537f5d94894f81d8c137b9f480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58931 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ℜ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 From 2691a2ceec3d425007486604c46979dc523be82b Mon Sep 17 00:00:00 2001 From: J Taylor Date: Thu, 16 Sep 2021 21:47:55 +0100 Subject: [PATCH 4/9] fixed all imports to align to linter rules --- dailyjs/basic-call/components/App/App.js | 2 +- dailyjs/basic-call/components/Call/Room.js | 18 ++++++++++-------- dailyjs/basic-call/components/Prejoin/Intro.js | 4 ++-- dailyjs/basic-call/pages/index.js | 5 +++-- .../RecordingModal/RecordingModal.js | 2 +- dailyjs/shared/components/Aside/Aside.js | 2 +- dailyjs/shared/components/Aside/PeopleAside.js | 4 ++-- dailyjs/shared/components/Aside/index.js | 1 - dailyjs/shared/components/Audio/index.js | 3 ++- dailyjs/shared/components/Button/index.js | 1 - .../components/DeviceSelect/DeviceSelect.js | 2 +- .../shared/components/DeviceSelect/index.js | 1 - .../DeviceSelectModal/DeviceSelectModal.js | 4 ++-- .../components/DeviceSelectModal/index.js | 1 - dailyjs/shared/components/Field/index.js | 1 - .../shared/components/HairCheck/HairCheck.js | 4 ++-- dailyjs/shared/components/Input/index.js | 1 - dailyjs/shared/components/Modal/Modal.js | 2 +- .../{MuteButtons => MuteButton}/MuteButton.js | 2 +- .../{MuteButtons => MuteButton}/index.js | 1 - .../shared/components/ParticipantBar/index.js | 1 - dailyjs/shared/components/Tile/Tile.js | 2 +- .../components/Tile/{Video => }/Video.js | 0 dailyjs/shared/components/Tile/Video/index.js | 2 -- dailyjs/shared/components/Tile/index.js | 2 +- dailyjs/shared/components/Tray/index.js | 1 - .../shared/components/VideoContainer/index.js | 1 + .../components/WaitingRoom/WaitingRoomModal.js | 2 +- dailyjs/shared/components/Well/index.js | 1 - .../components/ChatAside/ChatAside.js | 4 ++-- 30 files changed, 35 insertions(+), 42 deletions(-) rename dailyjs/shared/components/{MuteButtons => MuteButton}/MuteButton.js (97%) rename dailyjs/shared/components/{MuteButtons => MuteButton}/index.js (55%) rename dailyjs/shared/components/Tile/{Video => }/Video.js (100%) delete mode 100644 dailyjs/shared/components/Tile/Video/index.js diff --git a/dailyjs/basic-call/components/App/App.js b/dailyjs/basic-call/components/App/App.js index f85e251..fab2cfb 100644 --- a/dailyjs/basic-call/components/App/App.js +++ b/dailyjs/basic-call/components/App/App.js @@ -4,7 +4,7 @@ import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; import { useCallUI } from '@dailyjs/shared/hooks/useCallUI'; import PropTypes from 'prop-types'; -import { Room } from '../Call/Room'; +import Room from '../Call/Room'; import { Asides } from './Asides'; import { Modals } from './Modals'; diff --git a/dailyjs/basic-call/components/Call/Room.js b/dailyjs/basic-call/components/Call/Room.js index 3c26b50..7f8fffb 100644 --- a/dailyjs/basic-call/components/Call/Room.js +++ b/dailyjs/basic-call/components/Call/Room.js @@ -5,13 +5,15 @@ import { Container } from './Container'; import { Header } from './Header'; import { VideoGrid } from './VideoGrid'; -export const Room = () => ( - -

- - - - -); +export function Room() { + return ( + +
+ + + + + ); +} export default Room; diff --git a/dailyjs/basic-call/components/Prejoin/Intro.js b/dailyjs/basic-call/components/Prejoin/Intro.js index 2fe43bb..c281faf 100644 --- a/dailyjs/basic-call/components/Prejoin/Intro.js +++ b/dailyjs/basic-call/components/Prejoin/Intro.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { Button } from '@dailyjs/shared/components/Button'; +import Button from '@dailyjs/shared/components/Button'; import { Card, CardBody, @@ -8,7 +8,7 @@ import { } from '@dailyjs/shared/components/Card'; import Field from '@dailyjs/shared/components/Field'; import { TextInput, BooleanInput } from '@dailyjs/shared/components/Input'; -import { Well } from '@dailyjs/shared/components/Well'; +import Well from '@dailyjs/shared/components/Well'; import PropTypes from 'prop-types'; /** diff --git a/dailyjs/basic-call/pages/index.js b/dailyjs/basic-call/pages/index.js index da20ba5..e6107fb 100644 --- a/dailyjs/basic-call/pages/index.js +++ b/dailyjs/basic-call/pages/index.js @@ -8,8 +8,9 @@ import { WaitingRoomProvider } from '@dailyjs/shared/contexts/WaitingRoomProvide import getDemoProps from '@dailyjs/shared/lib/demoProps'; import PropTypes from 'prop-types'; import App from '../components/App'; -import { CreatingRoom } from '../components/Prejoin/CreatingRoom'; -import { Intro, NotConfigured } from '../components/Prejoin/Intro'; +import CreatingRoom from '../components/Prejoin/CreatingRoom'; +import Intro from '../components/Prejoin/Intro'; +import NotConfigured from '../components/Prejoin/NotConfigured'; /** * Index page diff --git a/dailyjs/recording/components/RecordingModal/RecordingModal.js b/dailyjs/recording/components/RecordingModal/RecordingModal.js index db1f108..50f4313 100644 --- a/dailyjs/recording/components/RecordingModal/RecordingModal.js +++ b/dailyjs/recording/components/RecordingModal/RecordingModal.js @@ -1,5 +1,5 @@ import React, { useEffect } from 'react'; -import { Button } from '@dailyjs/shared/components/Button'; +import Button from '@dailyjs/shared/components/Button'; import { CardBody } from '@dailyjs/shared/components/Card'; import Modal from '@dailyjs/shared/components/Modal'; import Well from '@dailyjs/shared/components/Well'; diff --git a/dailyjs/shared/components/Aside/Aside.js b/dailyjs/shared/components/Aside/Aside.js index 59fa9c3..4cf7f2c 100644 --- a/dailyjs/shared/components/Aside/Aside.js +++ b/dailyjs/shared/components/Aside/Aside.js @@ -1,7 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import { ReactComponent as IconClose } from '../../icons/close-sm.svg'; -import { Button } from '../Button'; +import Button from '../Button'; export const ASIDE_WIDTH = 380; diff --git a/dailyjs/shared/components/Aside/PeopleAside.js b/dailyjs/shared/components/Aside/PeopleAside.js index b595bad..db9da69 100644 --- a/dailyjs/shared/components/Aside/PeopleAside.js +++ b/dailyjs/shared/components/Aside/PeopleAside.js @@ -1,5 +1,5 @@ import React from 'react'; -import Aside from '@dailyjs/shared/components/Aside'; +import { Aside } from '@dailyjs/shared/components/Aside'; import { ReactComponent as IconCamOff } from '@dailyjs/shared/icons/camera-off-sm.svg'; import { ReactComponent as IconCamOn } from '@dailyjs/shared/icons/camera-on-sm.svg'; import { ReactComponent as IconMicOff } from '@dailyjs/shared/icons/mic-off-sm.svg'; @@ -8,7 +8,7 @@ import PropTypes from 'prop-types'; import { useCallState } from '../../contexts/CallProvider'; import { useParticipants } from '../../contexts/ParticipantsProvider'; import { useUIState } from '../../contexts/UIStateProvider'; -import { Button } from '../Button'; +import Button from '../Button'; export const PEOPLE_ASIDE = 'people'; diff --git a/dailyjs/shared/components/Aside/index.js b/dailyjs/shared/components/Aside/index.js index ab85567..072ca0e 100644 --- a/dailyjs/shared/components/Aside/index.js +++ b/dailyjs/shared/components/Aside/index.js @@ -1,3 +1,2 @@ -export { Aside as default } from './Aside'; export { Aside } from './Aside'; export { PeopleAside } from './PeopleAside'; diff --git a/dailyjs/shared/components/Audio/index.js b/dailyjs/shared/components/Audio/index.js index de613b3..2fc98bb 100644 --- a/dailyjs/shared/components/Audio/index.js +++ b/dailyjs/shared/components/Audio/index.js @@ -1,2 +1,3 @@ -export { Audio as default } from './Audio'; export { Audio } from './Audio'; +export { AudioTrack } from './AudioTrack'; +export { CombinedAudioTrack } from './CombinedAudioTrack'; diff --git a/dailyjs/shared/components/Button/index.js b/dailyjs/shared/components/Button/index.js index e229288..3fa135d 100644 --- a/dailyjs/shared/components/Button/index.js +++ b/dailyjs/shared/components/Button/index.js @@ -1,2 +1 @@ -export { Button } from './Button'; export { Button as default } from './Button'; diff --git a/dailyjs/shared/components/DeviceSelect/DeviceSelect.js b/dailyjs/shared/components/DeviceSelect/DeviceSelect.js index c089280..0502a05 100644 --- a/dailyjs/shared/components/DeviceSelect/DeviceSelect.js +++ b/dailyjs/shared/components/DeviceSelect/DeviceSelect.js @@ -1,6 +1,6 @@ import React from 'react'; import { useMediaDevices } from '@dailyjs/shared/contexts/MediaDeviceProvider'; -import { Field } from '../Field'; +import Field from '../Field'; import { SelectInput } from '../Input'; export const DeviceSelect = () => { diff --git a/dailyjs/shared/components/DeviceSelect/index.js b/dailyjs/shared/components/DeviceSelect/index.js index 8929c5c..4326925 100644 --- a/dailyjs/shared/components/DeviceSelect/index.js +++ b/dailyjs/shared/components/DeviceSelect/index.js @@ -1,2 +1 @@ export { DeviceSelect as default } from './DeviceSelect'; -export { DeviceSelect } from './DeviceSelect'; diff --git a/dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal.js b/dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal.js index 926ba85..c81570a 100644 --- a/dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal.js +++ b/dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal.js @@ -1,8 +1,8 @@ import React from 'react'; import Modal from '@dailyjs/shared/components/Modal'; import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { Button } from '../Button'; -import { DeviceSelect } from '../DeviceSelect'; +import Button from '../Button'; +import DeviceSelect from '../DeviceSelect'; export const DEVICE_MODAL = 'device'; diff --git a/dailyjs/shared/components/DeviceSelectModal/index.js b/dailyjs/shared/components/DeviceSelectModal/index.js index 22feecd..60adbfc 100644 --- a/dailyjs/shared/components/DeviceSelectModal/index.js +++ b/dailyjs/shared/components/DeviceSelectModal/index.js @@ -1,3 +1,2 @@ -export { DeviceSelectModal as default } from './DeviceSelectModal'; export { DeviceSelectModal } from './DeviceSelectModal'; export { DEVICE_MODAL } from './DeviceSelectModal'; diff --git a/dailyjs/shared/components/Field/index.js b/dailyjs/shared/components/Field/index.js index 5308bf3..b5baff8 100644 --- a/dailyjs/shared/components/Field/index.js +++ b/dailyjs/shared/components/Field/index.js @@ -1,2 +1 @@ export { Field as default } from './Field'; -export { Field } from './Field'; diff --git a/dailyjs/shared/components/HairCheck/HairCheck.js b/dailyjs/shared/components/HairCheck/HairCheck.js index e07307e..d5ea397 100644 --- a/dailyjs/shared/components/HairCheck/HairCheck.js +++ b/dailyjs/shared/components/HairCheck/HairCheck.js @@ -3,8 +3,8 @@ import Button from '@dailyjs/shared/components/Button'; import { DEVICE_MODAL } from '@dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal'; import { TextInput } from '@dailyjs/shared/components/Input'; import Loader from '@dailyjs/shared/components/Loader'; -import { MuteButton } from '@dailyjs/shared/components/MuteButtons'; -import { Tile } from '@dailyjs/shared/components/Tile'; +import MuteButton from '@dailyjs/shared/components/MuteButton'; +import Tile from '@dailyjs/shared/components/Tile'; import { ACCESS_STATE_LOBBY } from '@dailyjs/shared/constants'; import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; import { useMediaDevices } from '@dailyjs/shared/contexts/MediaDeviceProvider'; diff --git a/dailyjs/shared/components/Input/index.js b/dailyjs/shared/components/Input/index.js index c38d7b3..057037e 100644 --- a/dailyjs/shared/components/Input/index.js +++ b/dailyjs/shared/components/Input/index.js @@ -1,2 +1 @@ -export { TextInput as default } from './Input'; export { TextInput, BooleanInput, SelectInput } from './Input'; diff --git a/dailyjs/shared/components/Modal/Modal.js b/dailyjs/shared/components/Modal/Modal.js index 89d3f64..3e3442f 100644 --- a/dailyjs/shared/components/Modal/Modal.js +++ b/dailyjs/shared/components/Modal/Modal.js @@ -3,7 +3,7 @@ import classNames from 'classnames'; import noScroll from 'no-scroll'; import { createPortal } from 'react-dom'; import { ReactComponent as IconClose } from '../../icons/close-sm.svg'; -import { Button } from '../Button'; +import Button from '../Button'; import { Card, CardBody, CardFooter, CardHeader } from '../Card'; const transitionMs = 350; diff --git a/dailyjs/shared/components/MuteButtons/MuteButton.js b/dailyjs/shared/components/MuteButton/MuteButton.js similarity index 97% rename from dailyjs/shared/components/MuteButtons/MuteButton.js rename to dailyjs/shared/components/MuteButton/MuteButton.js index 501c83c..8eef6e1 100644 --- a/dailyjs/shared/components/MuteButtons/MuteButton.js +++ b/dailyjs/shared/components/MuteButton/MuteButton.js @@ -6,7 +6,7 @@ import { ReactComponent as IconMicOn } from '@dailyjs/shared/icons/mic-on-md.svg import classNames from 'classnames'; import PropTypes from 'prop-types'; import { useCallState } from '../../contexts/CallProvider'; -import { Button } from '../Button'; +import Button from '../Button'; export const MuteButton = ({ isMuted, mic = false, className, ...props }) => { const { callObject } = useCallState(); diff --git a/dailyjs/shared/components/MuteButtons/index.js b/dailyjs/shared/components/MuteButton/index.js similarity index 55% rename from dailyjs/shared/components/MuteButtons/index.js rename to dailyjs/shared/components/MuteButton/index.js index df9740c..da40de3 100644 --- a/dailyjs/shared/components/MuteButtons/index.js +++ b/dailyjs/shared/components/MuteButton/index.js @@ -1,2 +1 @@ export { MuteButton as default } from './MuteButton'; -export { MuteButton } from './MuteButton'; diff --git a/dailyjs/shared/components/ParticipantBar/index.js b/dailyjs/shared/components/ParticipantBar/index.js index 92bde7d..556ae53 100644 --- a/dailyjs/shared/components/ParticipantBar/index.js +++ b/dailyjs/shared/components/ParticipantBar/index.js @@ -1,2 +1 @@ export { ParticipantBar as default } from './ParticipantBar'; -export { ParticipantBar } from './ParticipantBar'; diff --git a/dailyjs/shared/components/Tile/Tile.js b/dailyjs/shared/components/Tile/Tile.js index 31c3924..2fcca38 100644 --- a/dailyjs/shared/components/Tile/Tile.js +++ b/dailyjs/shared/components/Tile/Tile.js @@ -4,7 +4,7 @@ import { ReactComponent as IconMicMute } from '@dailyjs/shared/icons/mic-off-sm. import classNames from 'classnames'; import PropTypes from 'prop-types'; import { DEFAULT_ASPECT_RATIO } from '../../constants'; -import { Video } from './Video'; +import Video from './Video'; import { ReactComponent as Avatar } from './avatar.svg'; const SM_TILE_MAX_WIDTH = 300; diff --git a/dailyjs/shared/components/Tile/Video/Video.js b/dailyjs/shared/components/Tile/Video.js similarity index 100% rename from dailyjs/shared/components/Tile/Video/Video.js rename to dailyjs/shared/components/Tile/Video.js diff --git a/dailyjs/shared/components/Tile/Video/index.js b/dailyjs/shared/components/Tile/Video/index.js deleted file mode 100644 index ff5c13f..0000000 --- a/dailyjs/shared/components/Tile/Video/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { Video as default } from './Video'; -export { Video } from './Video'; diff --git a/dailyjs/shared/components/Tile/index.js b/dailyjs/shared/components/Tile/index.js index 7059d99..ca181eb 100644 --- a/dailyjs/shared/components/Tile/index.js +++ b/dailyjs/shared/components/Tile/index.js @@ -1,2 +1,2 @@ export { Tile as default } from './Tile'; -export { Tile } from './Tile'; +export { Video } from './Video'; diff --git a/dailyjs/shared/components/Tray/index.js b/dailyjs/shared/components/Tray/index.js index 45e5fb6..0354e7d 100644 --- a/dailyjs/shared/components/Tray/index.js +++ b/dailyjs/shared/components/Tray/index.js @@ -1,3 +1,2 @@ -export { Tray as default } from './Tray'; export { Tray, TrayButton } from './Tray'; export { BasicTray } from './BasicTray'; diff --git a/dailyjs/shared/components/VideoContainer/index.js b/dailyjs/shared/components/VideoContainer/index.js index e69de29..73b64e2 100644 --- a/dailyjs/shared/components/VideoContainer/index.js +++ b/dailyjs/shared/components/VideoContainer/index.js @@ -0,0 +1 @@ +export { VideoContainer as default } from './VideoContainer'; diff --git a/dailyjs/shared/components/WaitingRoom/WaitingRoomModal.js b/dailyjs/shared/components/WaitingRoom/WaitingRoomModal.js index 05f2088..c036e2b 100644 --- a/dailyjs/shared/components/WaitingRoom/WaitingRoomModal.js +++ b/dailyjs/shared/components/WaitingRoom/WaitingRoomModal.js @@ -2,7 +2,7 @@ import React from 'react'; import Modal from '@dailyjs/shared/components/Modal'; import { useWaitingRoom } from '@dailyjs/shared/contexts/WaitingRoomProvider'; import PropTypes from 'prop-types'; -import { Button } from '../Button'; +import Button from '../Button'; import { WaitingParticipantRow } from './WaitingParticipantRow'; export const WaitingRoomModal = ({ onClose }) => { diff --git a/dailyjs/shared/components/Well/index.js b/dailyjs/shared/components/Well/index.js index c8a68c0..f92fb64 100644 --- a/dailyjs/shared/components/Well/index.js +++ b/dailyjs/shared/components/Well/index.js @@ -1,2 +1 @@ export { Well as default } from './Well'; -export { Well } from './Well'; diff --git a/dailyjs/text-chat/components/ChatAside/ChatAside.js b/dailyjs/text-chat/components/ChatAside/ChatAside.js index 2c88d3e..830731a 100644 --- a/dailyjs/text-chat/components/ChatAside/ChatAside.js +++ b/dailyjs/text-chat/components/ChatAside/ChatAside.js @@ -1,6 +1,6 @@ import React, { useEffect, useRef, useState } from 'react'; -import Aside from '@dailyjs/shared/components/Aside'; -import { Button } from '@dailyjs/shared/components/Button'; +import { Aside } from '@dailyjs/shared/components/Aside'; +import Button from '@dailyjs/shared/components/Button'; import { TextInput } from '@dailyjs/shared/components/Input'; import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; import { useChat } from '../../contexts/ChatProvider'; From fff932f979c2c06c49dedf6a552709d16f691594 Mon Sep 17 00:00:00 2001 From: J Taylor Date: Thu, 23 Sep 2021 17:22:47 +0100 Subject: [PATCH 5/9] renamed daily-js to custom --- README.md | 4 +-- {dailyjs => custom}/.gitignore | 0 {dailyjs => custom}/README.md | 2 +- {dailyjs => custom}/basic-call/.babelrc | 0 {dailyjs => custom}/basic-call/.gitignore | 0 {dailyjs => custom}/basic-call/README.md | 4 +-- .../basic-call/components/App/App.js | 6 ++-- .../basic-call/components/App/Asides.js | 4 +-- .../basic-call/components/App/Modals.js | 4 +-- .../basic-call/components/App/index.js | 0 .../basic-call/components/Call/Container.js | 8 +++--- .../basic-call/components/Call/Header.js | 6 ++-- .../basic-call/components/Call/Room.js | 2 +- .../basic-call/components/Call/VideoGrid.js | 6 ++-- .../basic-call/components/Call/WaitingRoom.js | 4 +-- .../components/Prejoin/CreatingRoom.js | 6 ++-- .../basic-call/components/Prejoin/Intro.js | 10 +++---- .../components/Prejoin/NotConfigured.js | 2 +- {dailyjs => custom}/basic-call/env.example | 0 {dailyjs => custom}/basic-call/image.png | Bin {dailyjs => custom}/basic-call/index.js | 0 {dailyjs => custom}/basic-call/next.config.js | 2 +- {dailyjs => custom}/basic-call/package.json | 4 +-- {dailyjs => custom}/basic-call/pages/_app.js | 2 +- .../basic-call/pages/_document.js | 0 .../basic-call/pages/api/createRoom.js | 0 .../basic-call/pages/api/token.js | 0 {dailyjs => custom}/basic-call/pages/index.js | 14 +++++----- .../basic-call/pages/not-found.js | 2 +- .../public/assets/daily-logo-dark.svg | 0 .../basic-call/public/assets/daily-logo.svg | 0 .../basic-call/public/assets/join.mp3 | Bin .../basic-call/public/assets/message.mp3 | Bin .../basic-call/public/assets/pattern-bg.png | Bin {dailyjs => custom}/flying-emojis/.babelrc | 0 {dailyjs => custom}/flying-emojis/README.md | 4 +-- .../flying-emojis/components/App/App.js | 2 +- .../flying-emojis/components/App/index.js | 0 .../FlyingEmojis/FlyingEmojisOverlay.js | 2 +- .../components/FlyingEmojis/index.js | 0 .../flying-emojis/components/Tray/Tray.js | 6 ++-- .../flying-emojis/components/Tray/index.js | 0 {dailyjs => custom}/flying-emojis/env.example | 0 {dailyjs => custom}/flying-emojis/image.png | Bin {dailyjs => custom}/flying-emojis/index.js | 0 .../flying-emojis}/next.config.js | 4 +-- .../flying-emojis/package.json | 6 ++-- .../flying-emojis/pages/_app.js | 2 +- {dailyjs => custom}/flying-emojis/pages/api | 0 .../flying-emojis/pages/index.js | 4 +-- .../public/assets/daily-logo-dark.svg | 0 .../public/assets/daily-logo.svg | 0 .../flying-emojis/public/assets/join.mp3 | Bin .../flying-emojis/public/assets/message.mp3 | Bin .../public/assets/pattern-bg.png | Bin {dailyjs => custom}/live-fitness/.babelrc | 0 {dailyjs => custom}/live-fitness/README.md | 0 .../live-fitness/components/App/App.js | 2 +- .../live-fitness/components/App/index.js | 0 .../live-fitness/components/Tray/Tray.js | 6 ++-- .../live-fitness/components/Tray/index.js | 0 {dailyjs => custom}/live-fitness/env.example | 0 .../live-fitness}/next.config.js | 4 +-- {dailyjs => custom}/live-fitness/package.json | 6 ++-- .../live-fitness}/pages/_app.js | 2 +- {dailyjs => custom}/live-fitness/pages/api | 0 .../live-fitness}/pages/index.js | 4 +-- {dailyjs => custom}/live-fitness/public | 0 {dailyjs => custom}/pagination/.babelrc | 0 {dailyjs => custom}/pagination/README.md | 4 +-- .../pagination/components/App/App.js | 4 +-- .../pagination/components/App/index.js | 0 .../PaginatedVideoGrid/PaginatedVideoGrid.js | 20 +++++++------- .../components/PaginatedVideoGrid/index.js | 0 .../pagination/components/Tray/Tray.js | 6 ++-- .../pagination/components/Tray/index.js | 0 {dailyjs => custom}/pagination/env.example | 0 {dailyjs => custom}/pagination/image.png | Bin .../pagination}/next.config.js | 4 +-- {dailyjs => custom}/pagination/package.json | 6 ++-- {dailyjs => custom}/pagination/pages/_app.js | 2 +- {dailyjs => custom}/pagination/pages/api | 0 {dailyjs => custom}/pagination/pages/index.js | 4 +-- .../public/assets/daily-logo-dark.svg | 0 .../pagination/public/assets/daily-logo.svg | 0 .../pagination/public/assets/join.mp3 | Bin .../pagination/public/assets/message.mp3 | Bin .../pagination/public/assets/pattern-bg.png | Bin {dailyjs => custom}/recording/.babelrc | 0 {dailyjs => custom}/recording/README.md | 2 +- .../recording/components/App/App.js | 2 +- .../recording/components/App/index.js | 0 .../RecordingModal/RecordingModal.js | 12 ++++---- .../components/RecordingModal/index.js | 0 .../recording/components/Tray/Tray.js | 6 ++-- .../recording/components/Tray/index.js | 0 .../recording/contexts/RecordingProvider.js | 8 +++--- {dailyjs => custom}/recording/env.example | 0 {dailyjs => custom}/recording/image.png | Bin {dailyjs => custom}/recording/index.js | 0 .../recording}/next.config.js | 4 +-- {dailyjs => custom}/recording/package.json | 6 ++-- .../recording}/pages/_app.js | 2 +- {dailyjs => custom}/recording/pages/api | 0 .../recording}/pages/index.js | 4 +-- .../public/assets/daily-logo-dark.svg | 0 .../recording/public/assets/daily-logo.svg | 0 .../recording/public/assets/join.mp3 | Bin .../recording/public/assets/message.mp3 | Bin .../recording/public/assets/pattern-bg.png | Bin .../shared/components/Aside/Aside.js | 0 .../shared/components/Aside/PeopleAside.js | 10 +++---- .../shared/components/Aside/index.js | 0 .../shared/components/Audio/Audio.js | 2 +- .../shared/components/Audio/AudioTrack.js | 0 .../components/Audio/CombinedAudioTrack.js | 0 .../shared/components/Audio/index.js | 0 .../shared/components/Button/Button.js | 0 .../shared/components/Button/index.js | 0 .../shared/components/Card/Card.js | 0 .../shared/components/Card/index.js | 0 .../components/DeviceSelect/DeviceSelect.js | 2 +- .../shared/components/DeviceSelect/index.js | 0 .../DeviceSelectModal/DeviceSelectModal.js | 4 +-- .../components/DeviceSelectModal/index.js | 0 .../components/ExpiryTimer/ExpiryTimer.js | 0 .../shared/components/ExpiryTimer/index.js | 0 .../shared/components/Field/Field.js | 0 .../shared/components/Field/index.js | 0 .../components/GlobalStyle/GlobalStyle.js | 0 .../shared/components/GlobalStyle/index.js | 0 .../shared/components/HairCheck/HairCheck.js | 26 +++++++++--------- .../shared/components/HairCheck/index.js | 0 .../components/HeaderCapsule/HeaderCapsule.js | 0 .../shared/components/HeaderCapsule/index.js | 0 .../shared/components/Input/Input.js | 0 .../shared/components/Input/index.js | 0 .../shared/components/Loader/Loader.js | 0 .../shared/components/Loader/index.js | 0 .../components/MessageCard/MessageCard.js | 4 +-- .../shared/components/MessageCard/index.js | 0 .../shared/components/Modal/Modal.js | 0 .../shared/components/Modal/index.js | 0 .../components/MuteButton/MuteButton.js | 8 +++--- .../shared/components/MuteButton/index.js | 0 .../ParticipantBar/ParticipantBar.js | 22 +++++++-------- .../shared/components/ParticipantBar/index.js | 0 .../ParticipantBar/useBlockScrolling.js | 0 .../shared/components/Tile/Tile.js | 4 +-- .../shared/components/Tile/Video.js | 0 .../shared/components/Tile/avatar.svg | 0 .../shared/components/Tile/index.js | 0 .../shared/components/Tray/BasicTray.js | 24 ++++++++-------- .../shared/components/Tray/Tray.js | 2 +- .../shared/components/Tray/TrayButton.js | 2 +- .../shared/components/Tray/TrayMicButton.js | 8 +++--- .../shared/components/Tray/index.js | 0 .../VideoContainer/VideoContainer.js | 0 .../shared/components/VideoContainer/index.js | 0 .../WaitingRoom/WaitingParticipantRow.js | 0 .../WaitingRoom/WaitingRoomModal.js | 4 +-- .../WaitingRoom/WaitingRoomNotification.js | 0 .../shared/components/WaitingRoom/index.js | 0 .../shared/components/Well/Well.js | 0 .../shared/components/Well/index.js | 0 {dailyjs => custom}/shared/constants.js | 0 .../shared/contexts/CallProvider.js | 0 .../shared/contexts/MediaDeviceProvider.js | 0 .../shared/contexts/ParticipantsProvider.js | 2 +- .../shared/contexts/TracksProvider.js | 0 .../shared/contexts/UIStateProvider.js | 0 .../shared/contexts/WaitingRoomProvider.js | 0 .../shared/contexts/callState.js | 0 .../shared/contexts/participantsState.js | 0 .../shared/contexts/tracksState.js | 0 .../shared/contexts/useCallMachine.js | 0 .../shared/contexts/useDevices.js | 0 .../shared/hooks/useActiveSpeaker.js | 0 .../shared/hooks/useAudioLevel.js | 0 .../shared/hooks/useAudioTrack.js | 0 {dailyjs => custom}/shared/hooks/useCallUI.js | 6 ++-- .../shared/hooks/useCamSubscriptions.js | 0 .../shared/hooks/useJoinSound.js | 0 .../shared/hooks/useNetworkState.js | 0 {dailyjs => custom}/shared/hooks/useResize.js | 0 .../shared/hooks/useScrollbarWidth.js | 0 {dailyjs => custom}/shared/hooks/useSound.js | 0 .../shared/hooks/useVideoTrack.js | 0 {dailyjs => custom}/shared/icons/add-md.svg | 0 .../shared/icons/add-person-lg.svg | 0 .../shared/icons/avatar-md.svg | 0 .../shared/icons/camera-off-md.svg | 0 .../shared/icons/camera-off-sm.svg | 0 .../shared/icons/camera-on-md.svg | 0 .../shared/icons/camera-on-sm.svg | 0 {dailyjs => custom}/shared/icons/chat-md.svg | 0 {dailyjs => custom}/shared/icons/close-sm.svg | 0 {dailyjs => custom}/shared/icons/leave-md.svg | 0 .../shared/icons/mic-off-md.svg | 0 .../shared/icons/mic-off-sm.svg | 0 .../shared/icons/mic-on-md.svg | 0 .../shared/icons/mic-on-sm.svg | 0 .../shared/icons/people-md.svg | 0 {dailyjs => custom}/shared/icons/raquo-md.svg | 0 .../shared/icons/record-md.svg | 0 .../shared/icons/settings-md.svg | 0 .../shared/icons/settings-sm.svg | 0 {dailyjs => custom}/shared/icons/star-md.svg | 0 .../shared/icons/streaming-md.svg | 0 {dailyjs => custom}/shared/index.js | 0 {dailyjs => custom}/shared/lib/demoProps.js | 0 {dailyjs => custom}/shared/lib/mediaUtils.js | 0 {dailyjs => custom}/shared/lib/sortByKey.js | 0 .../shared/lib/sortLastActive.js | 0 {dailyjs => custom}/shared/lib/token.js | 0 {dailyjs => custom}/shared/package.json | 2 +- .../shared/styles/defaultTheme.js | 0 {dailyjs => custom}/shared/styles/global.js | 0 {dailyjs => custom}/text-chat/.babelrc | 0 {dailyjs => custom}/text-chat/README.md | 4 +-- .../text-chat/components/App/App.js | 2 +- .../text-chat/components/App/index.js | 0 .../components/ChatAside/ChatAside.js | 8 +++--- .../text-chat/components/ChatAside/index.js | 0 .../text-chat/components/Tray/Tray.js | 6 ++-- .../text-chat/components/Tray/index.js | 0 .../text-chat/contexts/ChatProvider.js | 2 +- {dailyjs => custom}/text-chat/env.example | 0 .../text-chat/hooks/useMessageSound.js | 2 +- {dailyjs => custom}/text-chat/image.png | Bin {dailyjs => custom}/text-chat/index.js | 0 custom/text-chat/next.config.js | 13 +++++++++ {dailyjs => custom}/text-chat/package.json | 6 ++-- {dailyjs => custom}/text-chat/pages/_app.js | 2 +- {dailyjs => custom}/text-chat/pages/api | 0 {dailyjs => custom}/text-chat/pages/index.js | 4 +-- .../public/assets/daily-logo-dark.svg | 0 .../text-chat/public/assets/daily-logo.svg | 0 .../text-chat/public/assets/join.mp3 | Bin .../text-chat/public/assets/message.mp3 | Bin .../text-chat/public/assets/pattern-bg.png | Bin dailyjs/text-chat/next.config.js | 13 --------- package.json | 2 +- 243 files changed, 219 insertions(+), 219 deletions(-) rename {dailyjs => custom}/.gitignore (100%) rename {dailyjs => custom}/README.md (92%) rename {dailyjs => custom}/basic-call/.babelrc (100%) rename {dailyjs => custom}/basic-call/.gitignore (100%) rename {dailyjs => custom}/basic-call/README.md (94%) rename {dailyjs => custom}/basic-call/components/App/App.js (84%) rename {dailyjs => custom}/basic-call/components/App/Asides.js (65%) rename {dailyjs => custom}/basic-call/components/App/Modals.js (62%) rename {dailyjs => custom}/basic-call/components/App/index.js (100%) rename {dailyjs => custom}/basic-call/components/Call/Container.js (76%) rename {dailyjs => custom}/basic-call/components/Call/Header.js (85%) rename {dailyjs => custom}/basic-call/components/Call/Room.js (79%) rename {dailyjs => custom}/basic-call/components/Call/VideoGrid.js (95%) rename {dailyjs => custom}/basic-call/components/Call/WaitingRoom.js (73%) rename {dailyjs => custom}/basic-call/components/Prejoin/CreatingRoom.js (92%) rename {dailyjs => custom}/basic-call/components/Prejoin/Intro.js (88%) rename {dailyjs => custom}/basic-call/components/Prejoin/NotConfigured.js (92%) rename {dailyjs => custom}/basic-call/env.example (100%) rename {dailyjs => custom}/basic-call/image.png (100%) rename {dailyjs => custom}/basic-call/index.js (100%) rename {dailyjs => custom}/basic-call/next.config.js (74%) rename {dailyjs => custom}/basic-call/package.json (87%) rename {dailyjs => custom}/basic-call/pages/_app.js (91%) rename {dailyjs => custom}/basic-call/pages/_document.js (100%) rename {dailyjs => custom}/basic-call/pages/api/createRoom.js (100%) rename {dailyjs => custom}/basic-call/pages/api/token.js (100%) rename {dailyjs => custom}/basic-call/pages/index.js (88%) rename {dailyjs => custom}/basic-call/pages/not-found.js (89%) rename {dailyjs => custom}/basic-call/public/assets/daily-logo-dark.svg (100%) rename {dailyjs => custom}/basic-call/public/assets/daily-logo.svg (100%) rename {dailyjs => custom}/basic-call/public/assets/join.mp3 (100%) rename {dailyjs => custom}/basic-call/public/assets/message.mp3 (100%) rename {dailyjs => custom}/basic-call/public/assets/pattern-bg.png (100%) rename {dailyjs => custom}/flying-emojis/.babelrc (100%) rename {dailyjs => custom}/flying-emojis/README.md (89%) rename {dailyjs => custom}/flying-emojis/components/App/App.js (80%) rename {dailyjs => custom}/flying-emojis/components/App/index.js (100%) rename {dailyjs => custom}/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js (98%) rename {dailyjs => custom}/flying-emojis/components/FlyingEmojis/index.js (100%) rename {dailyjs => custom}/flying-emojis/components/Tray/Tray.js (91%) rename {dailyjs => custom}/flying-emojis/components/Tray/index.js (100%) rename {dailyjs => custom}/flying-emojis/env.example (100%) rename {dailyjs => custom}/flying-emojis/image.png (100%) rename {dailyjs => custom}/flying-emojis/index.js (100%) rename {dailyjs/live-fitness => custom/flying-emojis}/next.config.js (84%) rename {dailyjs => custom}/flying-emojis/package.json (83%) rename {dailyjs => custom}/flying-emojis/pages/_app.js (81%) rename {dailyjs => custom}/flying-emojis/pages/api (100%) rename {dailyjs => custom}/flying-emojis/pages/index.js (63%) rename {dailyjs => custom}/flying-emojis/public/assets/daily-logo-dark.svg (100%) rename {dailyjs => custom}/flying-emojis/public/assets/daily-logo.svg (100%) rename {dailyjs => custom}/flying-emojis/public/assets/join.mp3 (100%) rename {dailyjs => custom}/flying-emojis/public/assets/message.mp3 (100%) rename {dailyjs => custom}/flying-emojis/public/assets/pattern-bg.png (100%) rename {dailyjs => custom}/live-fitness/.babelrc (100%) rename {dailyjs => custom}/live-fitness/README.md (100%) rename {dailyjs => custom}/live-fitness/components/App/App.js (84%) rename {dailyjs => custom}/live-fitness/components/App/index.js (100%) rename {dailyjs => custom}/live-fitness/components/Tray/Tray.js (81%) rename {dailyjs => custom}/live-fitness/components/Tray/index.js (100%) rename {dailyjs => custom}/live-fitness/env.example (100%) rename {dailyjs/pagination => custom/live-fitness}/next.config.js (84%) rename {dailyjs => custom}/live-fitness/package.json (83%) rename {dailyjs/recording => custom/live-fitness}/pages/_app.js (86%) rename {dailyjs => custom}/live-fitness/pages/api (100%) rename {dailyjs/recording => custom/live-fitness}/pages/index.js (67%) rename {dailyjs => custom}/live-fitness/public (100%) rename {dailyjs => custom}/pagination/.babelrc (100%) rename {dailyjs => custom}/pagination/README.md (96%) rename {dailyjs => custom}/pagination/components/App/App.js (71%) rename {dailyjs => custom}/pagination/components/App/index.js (100%) rename {dailyjs => custom}/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js (93%) rename {dailyjs => custom}/pagination/components/PaginatedVideoGrid/index.js (100%) rename {dailyjs => custom}/pagination/components/Tray/Tray.js (60%) rename {dailyjs => custom}/pagination/components/Tray/index.js (100%) rename {dailyjs => custom}/pagination/env.example (100%) rename {dailyjs => custom}/pagination/image.png (100%) rename {dailyjs/recording => custom/pagination}/next.config.js (84%) rename {dailyjs => custom}/pagination/package.json (83%) rename {dailyjs => custom}/pagination/pages/_app.js (81%) rename {dailyjs => custom}/pagination/pages/api (100%) rename {dailyjs => custom}/pagination/pages/index.js (67%) rename {dailyjs => custom}/pagination/public/assets/daily-logo-dark.svg (100%) rename {dailyjs => custom}/pagination/public/assets/daily-logo.svg (100%) rename {dailyjs => custom}/pagination/public/assets/join.mp3 (100%) rename {dailyjs => custom}/pagination/public/assets/message.mp3 (100%) rename {dailyjs => custom}/pagination/public/assets/pattern-bg.png (100%) rename {dailyjs => custom}/recording/.babelrc (100%) rename {dailyjs => custom}/recording/README.md (97%) rename {dailyjs => custom}/recording/components/App/App.js (84%) rename {dailyjs => custom}/recording/components/App/index.js (100%) rename {dailyjs => custom}/recording/components/RecordingModal/RecordingModal.js (88%) rename {dailyjs => custom}/recording/components/RecordingModal/index.js (100%) rename {dailyjs => custom}/recording/components/Tray/Tray.js (80%) rename {dailyjs => custom}/recording/components/Tray/index.js (100%) rename {dailyjs => custom}/recording/contexts/RecordingProvider.js (96%) rename {dailyjs => custom}/recording/env.example (100%) rename {dailyjs => custom}/recording/image.png (100%) rename {dailyjs => custom}/recording/index.js (100%) rename {dailyjs/flying-emojis => custom/recording}/next.config.js (84%) rename {dailyjs => custom}/recording/package.json (84%) rename {dailyjs/live-fitness => custom/recording}/pages/_app.js (86%) rename {dailyjs => custom}/recording/pages/api (100%) rename {dailyjs/live-fitness => custom/recording}/pages/index.js (67%) rename {dailyjs => custom}/recording/public/assets/daily-logo-dark.svg (100%) rename {dailyjs => custom}/recording/public/assets/daily-logo.svg (100%) rename {dailyjs => custom}/recording/public/assets/join.mp3 (100%) rename {dailyjs => custom}/recording/public/assets/message.mp3 (100%) rename {dailyjs => custom}/recording/public/assets/pattern-bg.png (100%) rename {dailyjs => custom}/shared/components/Aside/Aside.js (100%) rename {dailyjs => custom}/shared/components/Aside/PeopleAside.js (91%) rename {dailyjs => custom}/shared/components/Aside/index.js (100%) rename {dailyjs => custom}/shared/components/Audio/Audio.js (97%) rename {dailyjs => custom}/shared/components/Audio/AudioTrack.js (100%) rename {dailyjs => custom}/shared/components/Audio/CombinedAudioTrack.js (100%) rename {dailyjs => custom}/shared/components/Audio/index.js (100%) rename {dailyjs => custom}/shared/components/Button/Button.js (100%) rename {dailyjs => custom}/shared/components/Button/index.js (100%) rename {dailyjs => custom}/shared/components/Card/Card.js (100%) rename {dailyjs => custom}/shared/components/Card/index.js (100%) rename {dailyjs => custom}/shared/components/DeviceSelect/DeviceSelect.js (96%) rename {dailyjs => custom}/shared/components/DeviceSelect/index.js (100%) rename {dailyjs => custom}/shared/components/DeviceSelectModal/DeviceSelectModal.js (83%) rename {dailyjs => custom}/shared/components/DeviceSelectModal/index.js (100%) rename {dailyjs => custom}/shared/components/ExpiryTimer/ExpiryTimer.js (100%) rename {dailyjs => custom}/shared/components/ExpiryTimer/index.js (100%) rename {dailyjs => custom}/shared/components/Field/Field.js (100%) rename {dailyjs => custom}/shared/components/Field/index.js (100%) rename {dailyjs => custom}/shared/components/GlobalStyle/GlobalStyle.js (100%) rename {dailyjs => custom}/shared/components/GlobalStyle/index.js (100%) rename {dailyjs => custom}/shared/components/HairCheck/HairCheck.js (91%) rename {dailyjs => custom}/shared/components/HairCheck/index.js (100%) rename {dailyjs => custom}/shared/components/HeaderCapsule/HeaderCapsule.js (100%) rename {dailyjs => custom}/shared/components/HeaderCapsule/index.js (100%) rename {dailyjs => custom}/shared/components/Input/Input.js (100%) rename {dailyjs => custom}/shared/components/Input/index.js (100%) rename {dailyjs => custom}/shared/components/Loader/Loader.js (100%) rename {dailyjs => custom}/shared/components/Loader/index.js (100%) rename {dailyjs => custom}/shared/components/MessageCard/MessageCard.js (90%) rename {dailyjs => custom}/shared/components/MessageCard/index.js (100%) rename {dailyjs => custom}/shared/components/Modal/Modal.js (100%) rename {dailyjs => custom}/shared/components/Modal/index.js (100%) rename {dailyjs => custom}/shared/components/MuteButton/MuteButton.js (75%) rename {dailyjs => custom}/shared/components/MuteButton/index.js (100%) rename {dailyjs => custom}/shared/components/ParticipantBar/ParticipantBar.js (93%) rename {dailyjs => custom}/shared/components/ParticipantBar/index.js (100%) rename {dailyjs => custom}/shared/components/ParticipantBar/useBlockScrolling.js (100%) rename {dailyjs => custom}/shared/components/Tile/Tile.js (97%) rename {dailyjs => custom}/shared/components/Tile/Video.js (100%) rename {dailyjs => custom}/shared/components/Tile/avatar.svg (100%) rename {dailyjs => custom}/shared/components/Tile/index.js (100%) rename {dailyjs => custom}/shared/components/Tray/BasicTray.js (59%) rename {dailyjs => custom}/shared/components/Tray/Tray.js (97%) rename {dailyjs => custom}/shared/components/Tray/TrayButton.js (93%) rename {dailyjs => custom}/shared/components/Tray/TrayMicButton.js (59%) rename {dailyjs => custom}/shared/components/Tray/index.js (100%) rename {dailyjs => custom}/shared/components/VideoContainer/VideoContainer.js (100%) rename {dailyjs => custom}/shared/components/VideoContainer/index.js (100%) rename {dailyjs => custom}/shared/components/WaitingRoom/WaitingParticipantRow.js (100%) rename {dailyjs => custom}/shared/components/WaitingRoom/WaitingRoomModal.js (88%) rename {dailyjs => custom}/shared/components/WaitingRoom/WaitingRoomNotification.js (100%) rename {dailyjs => custom}/shared/components/WaitingRoom/index.js (100%) rename {dailyjs => custom}/shared/components/Well/Well.js (100%) rename {dailyjs => custom}/shared/components/Well/index.js (100%) rename {dailyjs => custom}/shared/constants.js (100%) rename {dailyjs => custom}/shared/contexts/CallProvider.js (100%) rename {dailyjs => custom}/shared/contexts/MediaDeviceProvider.js (100%) rename {dailyjs => custom}/shared/contexts/ParticipantsProvider.js (99%) rename {dailyjs => custom}/shared/contexts/TracksProvider.js (100%) rename {dailyjs => custom}/shared/contexts/UIStateProvider.js (100%) rename {dailyjs => custom}/shared/contexts/WaitingRoomProvider.js (100%) rename {dailyjs => custom}/shared/contexts/callState.js (100%) rename {dailyjs => custom}/shared/contexts/participantsState.js (100%) rename {dailyjs => custom}/shared/contexts/tracksState.js (100%) rename {dailyjs => custom}/shared/contexts/useCallMachine.js (100%) rename {dailyjs => custom}/shared/contexts/useDevices.js (100%) rename {dailyjs => custom}/shared/hooks/useActiveSpeaker.js (100%) rename {dailyjs => custom}/shared/hooks/useAudioLevel.js (100%) rename {dailyjs => custom}/shared/hooks/useAudioTrack.js (100%) rename {dailyjs => custom}/shared/hooks/useCallUI.js (94%) rename {dailyjs => custom}/shared/hooks/useCamSubscriptions.js (100%) rename {dailyjs => custom}/shared/hooks/useJoinSound.js (100%) rename {dailyjs => custom}/shared/hooks/useNetworkState.js (100%) rename {dailyjs => custom}/shared/hooks/useResize.js (100%) rename {dailyjs => custom}/shared/hooks/useScrollbarWidth.js (100%) rename {dailyjs => custom}/shared/hooks/useSound.js (100%) rename {dailyjs => custom}/shared/hooks/useVideoTrack.js (100%) rename {dailyjs => custom}/shared/icons/add-md.svg (100%) rename {dailyjs => custom}/shared/icons/add-person-lg.svg (100%) rename {dailyjs => custom}/shared/icons/avatar-md.svg (100%) rename {dailyjs => custom}/shared/icons/camera-off-md.svg (100%) rename {dailyjs => custom}/shared/icons/camera-off-sm.svg (100%) rename {dailyjs => custom}/shared/icons/camera-on-md.svg (100%) rename {dailyjs => custom}/shared/icons/camera-on-sm.svg (100%) rename {dailyjs => custom}/shared/icons/chat-md.svg (100%) rename {dailyjs => custom}/shared/icons/close-sm.svg (100%) rename {dailyjs => custom}/shared/icons/leave-md.svg (100%) rename {dailyjs => custom}/shared/icons/mic-off-md.svg (100%) rename {dailyjs => custom}/shared/icons/mic-off-sm.svg (100%) rename {dailyjs => custom}/shared/icons/mic-on-md.svg (100%) rename {dailyjs => custom}/shared/icons/mic-on-sm.svg (100%) rename {dailyjs => custom}/shared/icons/people-md.svg (100%) rename {dailyjs => custom}/shared/icons/raquo-md.svg (100%) rename {dailyjs => custom}/shared/icons/record-md.svg (100%) rename {dailyjs => custom}/shared/icons/settings-md.svg (100%) rename {dailyjs => custom}/shared/icons/settings-sm.svg (100%) rename {dailyjs => custom}/shared/icons/star-md.svg (100%) rename {dailyjs => custom}/shared/icons/streaming-md.svg (100%) rename {dailyjs => custom}/shared/index.js (100%) rename {dailyjs => custom}/shared/lib/demoProps.js (100%) rename {dailyjs => custom}/shared/lib/mediaUtils.js (100%) rename {dailyjs => custom}/shared/lib/sortByKey.js (100%) rename {dailyjs => custom}/shared/lib/sortLastActive.js (100%) rename {dailyjs => custom}/shared/lib/token.js (100%) rename {dailyjs => custom}/shared/package.json (94%) rename {dailyjs => custom}/shared/styles/defaultTheme.js (100%) rename {dailyjs => custom}/shared/styles/global.js (100%) rename {dailyjs => custom}/text-chat/.babelrc (100%) rename {dailyjs => custom}/text-chat/README.md (93%) rename {dailyjs => custom}/text-chat/components/App/App.js (83%) rename {dailyjs => custom}/text-chat/components/App/index.js (100%) rename {dailyjs => custom}/text-chat/components/ChatAside/ChatAside.js (93%) rename {dailyjs => custom}/text-chat/components/ChatAside/index.js (100%) rename {dailyjs => custom}/text-chat/components/Tray/Tray.js (68%) rename {dailyjs => custom}/text-chat/components/Tray/index.js (100%) rename {dailyjs => custom}/text-chat/contexts/ChatProvider.js (96%) rename {dailyjs => custom}/text-chat/env.example (100%) rename {dailyjs => custom}/text-chat/hooks/useMessageSound.js (87%) rename {dailyjs => custom}/text-chat/image.png (100%) rename {dailyjs => custom}/text-chat/index.js (100%) create mode 100644 custom/text-chat/next.config.js rename {dailyjs => custom}/text-chat/package.json (84%) rename {dailyjs => custom}/text-chat/pages/_app.js (85%) rename {dailyjs => custom}/text-chat/pages/api (100%) rename {dailyjs => custom}/text-chat/pages/index.js (63%) rename {dailyjs => custom}/text-chat/public/assets/daily-logo-dark.svg (100%) rename {dailyjs => custom}/text-chat/public/assets/daily-logo.svg (100%) rename {dailyjs => custom}/text-chat/public/assets/join.mp3 (100%) rename {dailyjs => custom}/text-chat/public/assets/message.mp3 (100%) rename {dailyjs => custom}/text-chat/public/assets/pattern-bg.png (100%) delete mode 100644 dailyjs/text-chat/next.config.js diff --git a/README.md b/README.md index 7651b9b..c128dd4 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ Setup dependencies via `yarn install`. Add the required environment variables (e.g. your Daily API key) for the demo being used. Each demo's README will list the required environment variables to run it locally. -Run an example via `yarn workspace @dailyjs/basic-call dev` (replacing `basic-call` with the name of the demo). +Run an example via `yarn workspace @custom/basic-call dev` (replacing `basic-call` with the name of the demo). Please note: these demos are intended as educational resources for using the Daily platform as well as showcasing common usage patterns and best practices. That said, they are not intended to be used as production ready applications. @@ -18,7 +18,7 @@ Please note: these demos are intended as educational resources for using the Dai ## Contents -## [Daily JS (Web)](./dailyjs/) +## [Daily JS (Web)](./custom/) Examples that showcase the Daily CallObject using our Javascript library diff --git a/dailyjs/.gitignore b/custom/.gitignore similarity index 100% rename from dailyjs/.gitignore rename to custom/.gitignore diff --git a/dailyjs/README.md b/custom/README.md similarity index 92% rename from dailyjs/README.md rename to custom/README.md index 81f366e..31c48a8 100644 --- a/dailyjs/README.md +++ b/custom/README.md @@ -30,7 +30,7 @@ Demonstrates using manual track management to support larger call sizes We recommend starting with the [basic call](./basic-call) example, showcasing the common flow of a call Daily call, device management and error handling. -Run an examples with `yarn workspace @dailyjs/[demo-name] dev` (replacing `[demo-name]` with the name of the demo you'd like to run e.g. `basic-call`. +Run an examples with `yarn workspace @custom/[demo-name] dev` (replacing `[demo-name]` with the name of the demo you'd like to run e.g. `basic-call`. - Please ensure your Daily rooms are setup to use [web sockets](https://docs.daily.co/reference#domain-configuration) - Follow the instructions within each demo first, making sure to set all the necassary local environment variables etc diff --git a/dailyjs/basic-call/.babelrc b/custom/basic-call/.babelrc similarity index 100% rename from dailyjs/basic-call/.babelrc rename to custom/basic-call/.babelrc diff --git a/dailyjs/basic-call/.gitignore b/custom/basic-call/.gitignore similarity index 100% rename from dailyjs/basic-call/.gitignore rename to custom/basic-call/.gitignore diff --git a/dailyjs/basic-call/README.md b/custom/basic-call/README.md similarity index 94% rename from dailyjs/basic-call/README.md rename to custom/basic-call/README.md index 3fde13d..b8abd9a 100644 --- a/dailyjs/basic-call/README.md +++ b/custom/basic-call/README.md @@ -4,7 +4,7 @@ ### Live example -**[See it in action here ➡️](https://dailyjs-basic-call.vercel.app)** +**[See it in action here ➡️](https://custom-basic-call.vercel.app)** --- @@ -28,7 +28,7 @@ mv env.example .env.local # from project root... yarn -yarn workspace @dailyjs/basic-call dev +yarn workspace @custom/basic-call dev ``` ## How does this example work? diff --git a/dailyjs/basic-call/components/App/App.js b/custom/basic-call/components/App/App.js similarity index 84% rename from dailyjs/basic-call/components/App/App.js rename to custom/basic-call/components/App/App.js index fab2cfb..ecf4378 100644 --- a/dailyjs/basic-call/components/App/App.js +++ b/custom/basic-call/components/App/App.js @@ -1,7 +1,7 @@ import React, { useMemo } from 'react'; -import ExpiryTimer from '@dailyjs/shared/components/ExpiryTimer'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useCallUI } from '@dailyjs/shared/hooks/useCallUI'; +import ExpiryTimer from '@custom/shared/components/ExpiryTimer'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { useCallUI } from '@custom/shared/hooks/useCallUI'; import PropTypes from 'prop-types'; import Room from '../Call/Room'; diff --git a/dailyjs/basic-call/components/App/Asides.js b/custom/basic-call/components/App/Asides.js similarity index 65% rename from dailyjs/basic-call/components/App/Asides.js rename to custom/basic-call/components/App/Asides.js index f78b4c8..be0e418 100644 --- a/dailyjs/basic-call/components/App/Asides.js +++ b/custom/basic-call/components/App/Asides.js @@ -1,6 +1,6 @@ import React from 'react'; -import { PeopleAside } from '@dailyjs/shared/components/Aside/PeopleAside'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import { PeopleAside } from '@custom/shared/components/Aside/PeopleAside'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; export const Asides = () => { const { asides } = useUIState(); diff --git a/dailyjs/basic-call/components/App/Modals.js b/custom/basic-call/components/App/Modals.js similarity index 62% rename from dailyjs/basic-call/components/App/Modals.js rename to custom/basic-call/components/App/Modals.js index 264ddd7..ba5c27c 100644 --- a/dailyjs/basic-call/components/App/Modals.js +++ b/custom/basic-call/components/App/Modals.js @@ -1,6 +1,6 @@ import React from 'react'; -import DeviceSelectModal from '@dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import DeviceSelectModal from '@custom/shared/components/DeviceSelectModal/DeviceSelectModal'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; export const Modals = () => { const { modals } = useUIState(); diff --git a/dailyjs/basic-call/components/App/index.js b/custom/basic-call/components/App/index.js similarity index 100% rename from dailyjs/basic-call/components/App/index.js rename to custom/basic-call/components/App/index.js diff --git a/dailyjs/basic-call/components/Call/Container.js b/custom/basic-call/components/Call/Container.js similarity index 76% rename from dailyjs/basic-call/components/Call/Container.js rename to custom/basic-call/components/Call/Container.js index bfda121..22e0d08 100644 --- a/dailyjs/basic-call/components/Call/Container.js +++ b/custom/basic-call/components/Call/Container.js @@ -1,8 +1,8 @@ import React, { useMemo } from 'react'; -import { Audio } from '@dailyjs/shared/components/Audio'; -import { BasicTray } from '@dailyjs/shared/components/Tray'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import useJoinSound from '@dailyjs/shared/hooks/useJoinSound'; +import { Audio } from '@custom/shared/components/Audio'; +import { BasicTray } from '@custom/shared/components/Tray'; +import { useParticipants } from '@custom/shared/contexts/ParticipantsProvider'; +import useJoinSound from '@custom/shared/hooks/useJoinSound'; import PropTypes from 'prop-types'; import { WaitingRoom } from './WaitingRoom'; diff --git a/dailyjs/basic-call/components/Call/Header.js b/custom/basic-call/components/Call/Header.js similarity index 85% rename from dailyjs/basic-call/components/Call/Header.js rename to custom/basic-call/components/Call/Header.js index 7412a5d..bde04c5 100644 --- a/dailyjs/basic-call/components/Call/Header.js +++ b/custom/basic-call/components/Call/Header.js @@ -1,7 +1,7 @@ import React, { useMemo } from 'react'; -import HeaderCapsule from '@dailyjs/shared/components/HeaderCapsule'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import HeaderCapsule from '@custom/shared/components/HeaderCapsule'; +import { useParticipants } from '@custom/shared/contexts/ParticipantsProvider'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; export const Header = () => { const { participantCount } = useParticipants(); diff --git a/dailyjs/basic-call/components/Call/Room.js b/custom/basic-call/components/Call/Room.js similarity index 79% rename from dailyjs/basic-call/components/Call/Room.js rename to custom/basic-call/components/Call/Room.js index 7f8fffb..aa4cfe6 100644 --- a/dailyjs/basic-call/components/Call/Room.js +++ b/custom/basic-call/components/Call/Room.js @@ -1,5 +1,5 @@ import React from 'react'; -import VideoContainer from '@dailyjs/shared/components/VideoContainer/VideoContainer'; +import VideoContainer from '@custom/shared/components/VideoContainer/VideoContainer'; import { Container } from './Container'; import { Header } from './Header'; diff --git a/dailyjs/basic-call/components/Call/VideoGrid.js b/custom/basic-call/components/Call/VideoGrid.js similarity index 95% rename from dailyjs/basic-call/components/Call/VideoGrid.js rename to custom/basic-call/components/Call/VideoGrid.js index 7f66798..e71ff6d 100644 --- a/dailyjs/basic-call/components/Call/VideoGrid.js +++ b/custom/basic-call/components/Call/VideoGrid.js @@ -1,7 +1,7 @@ import React, { useState, useMemo, useEffect, useRef } from 'react'; -import Tile from '@dailyjs/shared/components/Tile'; -import { DEFAULT_ASPECT_RATIO } from '@dailyjs/shared/constants'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; +import Tile from '@custom/shared/components/Tile'; +import { DEFAULT_ASPECT_RATIO } from '@custom/shared/constants'; +import { useParticipants } from '@custom/shared/contexts/ParticipantsProvider'; import { useDeepCompareMemo } from 'use-deep-compare'; /** diff --git a/dailyjs/basic-call/components/Call/WaitingRoom.js b/custom/basic-call/components/Call/WaitingRoom.js similarity index 73% rename from dailyjs/basic-call/components/Call/WaitingRoom.js rename to custom/basic-call/components/Call/WaitingRoom.js index c4b2605..4266d44 100644 --- a/dailyjs/basic-call/components/Call/WaitingRoom.js +++ b/custom/basic-call/components/Call/WaitingRoom.js @@ -2,8 +2,8 @@ import React from 'react'; import { WaitingRoomModal, WaitingRoomNotification, -} from '@dailyjs/shared/components/WaitingRoom'; -import { useWaitingRoom } from '@dailyjs/shared/contexts/WaitingRoomProvider'; +} from '@custom/shared/components/WaitingRoom'; +import { useWaitingRoom } from '@custom/shared/contexts/WaitingRoomProvider'; export const WaitingRoom = () => { const { setShowModal, showModal } = useWaitingRoom(); diff --git a/dailyjs/basic-call/components/Prejoin/CreatingRoom.js b/custom/basic-call/components/Prejoin/CreatingRoom.js similarity index 92% rename from dailyjs/basic-call/components/Prejoin/CreatingRoom.js rename to custom/basic-call/components/Prejoin/CreatingRoom.js index 4973120..aeb8100 100644 --- a/dailyjs/basic-call/components/Prejoin/CreatingRoom.js +++ b/custom/basic-call/components/Prejoin/CreatingRoom.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from 'react'; -import { Card, CardHeader, CardBody } from '@dailyjs/shared/components/Card'; -import Loader from '@dailyjs/shared/components/Loader'; -import { Well } from '@dailyjs/shared/components/Well'; +import { Card, CardHeader, CardBody } from '@custom/shared/components/Card'; +import Loader from '@custom/shared/components/Loader'; +import { Well } from '@custom/shared/components/Well'; import PropTypes from 'prop-types'; export const CreatingRoom = ({ onCreated }) => { diff --git a/dailyjs/basic-call/components/Prejoin/Intro.js b/custom/basic-call/components/Prejoin/Intro.js similarity index 88% rename from dailyjs/basic-call/components/Prejoin/Intro.js rename to custom/basic-call/components/Prejoin/Intro.js index c281faf..0f0eaf8 100644 --- a/dailyjs/basic-call/components/Prejoin/Intro.js +++ b/custom/basic-call/components/Prejoin/Intro.js @@ -1,14 +1,14 @@ import React, { useEffect, useState } from 'react'; -import Button from '@dailyjs/shared/components/Button'; +import Button from '@custom/shared/components/Button'; import { Card, CardBody, CardFooter, CardHeader, -} from '@dailyjs/shared/components/Card'; -import Field from '@dailyjs/shared/components/Field'; -import { TextInput, BooleanInput } from '@dailyjs/shared/components/Input'; -import Well from '@dailyjs/shared/components/Well'; +} from '@custom/shared/components/Card'; +import Field from '@custom/shared/components/Field'; +import { TextInput, BooleanInput } from '@custom/shared/components/Input'; +import Well from '@custom/shared/components/Well'; import PropTypes from 'prop-types'; /** diff --git a/dailyjs/basic-call/components/Prejoin/NotConfigured.js b/custom/basic-call/components/Prejoin/NotConfigured.js similarity index 92% rename from dailyjs/basic-call/components/Prejoin/NotConfigured.js rename to custom/basic-call/components/Prejoin/NotConfigured.js index 75a32fd..7c379ed 100644 --- a/dailyjs/basic-call/components/Prejoin/NotConfigured.js +++ b/custom/basic-call/components/Prejoin/NotConfigured.js @@ -1,5 +1,5 @@ import React from 'react'; -import { Card, CardBody, CardHeader } from '@dailyjs/shared/components/Card'; +import { Card, CardBody, CardHeader } from '@custom/shared/components/Card'; export const NotConfigured = () => ( diff --git a/dailyjs/basic-call/env.example b/custom/basic-call/env.example similarity index 100% rename from dailyjs/basic-call/env.example rename to custom/basic-call/env.example diff --git a/dailyjs/basic-call/image.png b/custom/basic-call/image.png similarity index 100% rename from dailyjs/basic-call/image.png rename to custom/basic-call/image.png diff --git a/dailyjs/basic-call/index.js b/custom/basic-call/index.js similarity index 100% rename from dailyjs/basic-call/index.js rename to custom/basic-call/index.js diff --git a/dailyjs/basic-call/next.config.js b/custom/basic-call/next.config.js similarity index 74% rename from dailyjs/basic-call/next.config.js rename to custom/basic-call/next.config.js index d054cbd..81f29cd 100644 --- a/dailyjs/basic-call/next.config.js +++ b/custom/basic-call/next.config.js @@ -1,5 +1,5 @@ const withPlugins = require('next-compose-plugins'); -const withTM = require('next-transpile-modules')(['@dailyjs/shared']); +const withTM = require('next-transpile-modules')(['@custom/shared']); const packageJson = require('./package.json'); diff --git a/dailyjs/basic-call/package.json b/custom/basic-call/package.json similarity index 87% rename from dailyjs/basic-call/package.json rename to custom/basic-call/package.json index 75705bd..f82188c 100644 --- a/dailyjs/basic-call/package.json +++ b/custom/basic-call/package.json @@ -1,5 +1,5 @@ { - "name": "@dailyjs/basic-call", + "name": "@custom/basic-call", "description": "Basic Call Example", "version": "0.1.0", "private": true, @@ -10,7 +10,7 @@ "lint": "next lint" }, "dependencies": { - "@dailyjs/shared": "*", + "@custom/shared": "*", "next": "^11.1.2", "pluralize": "^8.0.0" }, diff --git a/dailyjs/basic-call/pages/_app.js b/custom/basic-call/pages/_app.js similarity index 91% rename from dailyjs/basic-call/pages/_app.js rename to custom/basic-call/pages/_app.js index 3453010..d8a7a82 100644 --- a/dailyjs/basic-call/pages/_app.js +++ b/custom/basic-call/pages/_app.js @@ -1,5 +1,5 @@ import React from 'react'; -import GlobalStyle from '@dailyjs/shared/components/GlobalStyle'; +import GlobalStyle from '@custom/shared/components/GlobalStyle'; import Head from 'next/head'; import PropTypes from 'prop-types'; diff --git a/dailyjs/basic-call/pages/_document.js b/custom/basic-call/pages/_document.js similarity index 100% rename from dailyjs/basic-call/pages/_document.js rename to custom/basic-call/pages/_document.js diff --git a/dailyjs/basic-call/pages/api/createRoom.js b/custom/basic-call/pages/api/createRoom.js similarity index 100% rename from dailyjs/basic-call/pages/api/createRoom.js rename to custom/basic-call/pages/api/createRoom.js diff --git a/dailyjs/basic-call/pages/api/token.js b/custom/basic-call/pages/api/token.js similarity index 100% rename from dailyjs/basic-call/pages/api/token.js rename to custom/basic-call/pages/api/token.js diff --git a/dailyjs/basic-call/pages/index.js b/custom/basic-call/pages/index.js similarity index 88% rename from dailyjs/basic-call/pages/index.js rename to custom/basic-call/pages/index.js index e6107fb..6ba92ec 100644 --- a/dailyjs/basic-call/pages/index.js +++ b/custom/basic-call/pages/index.js @@ -1,11 +1,11 @@ import React, { useState, useCallback } from 'react'; -import { CallProvider } from '@dailyjs/shared/contexts/CallProvider'; -import { MediaDeviceProvider } from '@dailyjs/shared/contexts/MediaDeviceProvider'; -import { ParticipantsProvider } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { TracksProvider } from '@dailyjs/shared/contexts/TracksProvider'; -import { UIStateProvider } from '@dailyjs/shared/contexts/UIStateProvider'; -import { WaitingRoomProvider } from '@dailyjs/shared/contexts/WaitingRoomProvider'; -import getDemoProps from '@dailyjs/shared/lib/demoProps'; +import { CallProvider } from '@custom/shared/contexts/CallProvider'; +import { MediaDeviceProvider } from '@custom/shared/contexts/MediaDeviceProvider'; +import { ParticipantsProvider } from '@custom/shared/contexts/ParticipantsProvider'; +import { TracksProvider } from '@custom/shared/contexts/TracksProvider'; +import { UIStateProvider } from '@custom/shared/contexts/UIStateProvider'; +import { WaitingRoomProvider } from '@custom/shared/contexts/WaitingRoomProvider'; +import getDemoProps from '@custom/shared/lib/demoProps'; import PropTypes from 'prop-types'; import App from '../components/App'; import CreatingRoom from '../components/Prejoin/CreatingRoom'; diff --git a/dailyjs/basic-call/pages/not-found.js b/custom/basic-call/pages/not-found.js similarity index 89% rename from dailyjs/basic-call/pages/not-found.js rename to custom/basic-call/pages/not-found.js index 6a7b1f6..1d25fb7 100644 --- a/dailyjs/basic-call/pages/not-found.js +++ b/custom/basic-call/pages/not-found.js @@ -1,5 +1,5 @@ import React from 'react'; -import MessageCard from '@dailyjs/shared/components/MessageCard'; +import MessageCard from '@custom/shared/components/MessageCard'; export default function RoomNotFound() { return ( diff --git a/dailyjs/basic-call/public/assets/daily-logo-dark.svg b/custom/basic-call/public/assets/daily-logo-dark.svg similarity index 100% rename from dailyjs/basic-call/public/assets/daily-logo-dark.svg rename to custom/basic-call/public/assets/daily-logo-dark.svg diff --git a/dailyjs/basic-call/public/assets/daily-logo.svg b/custom/basic-call/public/assets/daily-logo.svg similarity index 100% rename from dailyjs/basic-call/public/assets/daily-logo.svg rename to custom/basic-call/public/assets/daily-logo.svg diff --git a/dailyjs/basic-call/public/assets/join.mp3 b/custom/basic-call/public/assets/join.mp3 similarity index 100% rename from dailyjs/basic-call/public/assets/join.mp3 rename to custom/basic-call/public/assets/join.mp3 diff --git a/dailyjs/basic-call/public/assets/message.mp3 b/custom/basic-call/public/assets/message.mp3 similarity index 100% rename from dailyjs/basic-call/public/assets/message.mp3 rename to custom/basic-call/public/assets/message.mp3 diff --git a/dailyjs/basic-call/public/assets/pattern-bg.png b/custom/basic-call/public/assets/pattern-bg.png similarity index 100% rename from dailyjs/basic-call/public/assets/pattern-bg.png rename to custom/basic-call/public/assets/pattern-bg.png diff --git a/dailyjs/flying-emojis/.babelrc b/custom/flying-emojis/.babelrc similarity index 100% rename from dailyjs/flying-emojis/.babelrc rename to custom/flying-emojis/.babelrc diff --git a/dailyjs/flying-emojis/README.md b/custom/flying-emojis/README.md similarity index 89% rename from dailyjs/flying-emojis/README.md rename to custom/flying-emojis/README.md index 4c7c69d..c46f833 100644 --- a/dailyjs/flying-emojis/README.md +++ b/custom/flying-emojis/README.md @@ -4,7 +4,7 @@ ### Live example -**[See it in action here ➡️](https://dailyjs-flying-emojis.vercel.app)** +**[See it in action here ➡️](https://custom-flying-emojis.vercel.app)** --- @@ -23,7 +23,7 @@ Please note: this demo is not currently mobile optimised mv env.example .env.local yarn -yarn workspace @dailyjs/flying-emojis dev +yarn workspace @custom/flying-emojis dev ``` ## Deploy your own on Vercel diff --git a/dailyjs/flying-emojis/components/App/App.js b/custom/flying-emojis/components/App/App.js similarity index 80% rename from dailyjs/flying-emojis/components/App/App.js rename to custom/flying-emojis/components/App/App.js index e006832..88c0bec 100644 --- a/dailyjs/flying-emojis/components/App/App.js +++ b/custom/flying-emojis/components/App/App.js @@ -1,5 +1,5 @@ import React from 'react'; -import App from '@dailyjs/basic-call/components/App'; +import App from '@custom/basic-call/components/App'; import FlyingEmojiOverlay from '../FlyingEmojis/FlyingEmojisOverlay'; export const AppWithEmojis = () => ( diff --git a/dailyjs/flying-emojis/components/App/index.js b/custom/flying-emojis/components/App/index.js similarity index 100% rename from dailyjs/flying-emojis/components/App/index.js rename to custom/flying-emojis/components/App/index.js diff --git a/dailyjs/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js b/custom/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js similarity index 98% rename from dailyjs/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js rename to custom/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js index 68f0ff9..35b87d7 100644 --- a/dailyjs/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js +++ b/custom/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js @@ -1,5 +1,5 @@ import React, { useEffect, useRef, useCallback } from 'react'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; const EMOJI_MAP = { fire: '🔥', diff --git a/dailyjs/flying-emojis/components/FlyingEmojis/index.js b/custom/flying-emojis/components/FlyingEmojis/index.js similarity index 100% rename from dailyjs/flying-emojis/components/FlyingEmojis/index.js rename to custom/flying-emojis/components/FlyingEmojis/index.js diff --git a/dailyjs/flying-emojis/components/Tray/Tray.js b/custom/flying-emojis/components/Tray/Tray.js similarity index 91% rename from dailyjs/flying-emojis/components/Tray/Tray.js rename to custom/flying-emojis/components/Tray/Tray.js index 113de3d..2ee605f 100644 --- a/dailyjs/flying-emojis/components/Tray/Tray.js +++ b/custom/flying-emojis/components/Tray/Tray.js @@ -1,8 +1,8 @@ import React, { useEffect, useState } from 'react'; -import Button from '@dailyjs/shared/components/Button'; -import { TrayButton } from '@dailyjs/shared/components/Tray'; -import { ReactComponent as IconStar } from '@dailyjs/shared/icons/star-md.svg'; +import Button from '@custom/shared/components/Button'; +import { TrayButton } from '@custom/shared/components/Tray'; +import { ReactComponent as IconStar } from '@custom/shared/icons/star-md.svg'; const COOLDOWN = 1500; diff --git a/dailyjs/flying-emojis/components/Tray/index.js b/custom/flying-emojis/components/Tray/index.js similarity index 100% rename from dailyjs/flying-emojis/components/Tray/index.js rename to custom/flying-emojis/components/Tray/index.js diff --git a/dailyjs/flying-emojis/env.example b/custom/flying-emojis/env.example similarity index 100% rename from dailyjs/flying-emojis/env.example rename to custom/flying-emojis/env.example diff --git a/dailyjs/flying-emojis/image.png b/custom/flying-emojis/image.png similarity index 100% rename from dailyjs/flying-emojis/image.png rename to custom/flying-emojis/image.png diff --git a/dailyjs/flying-emojis/index.js b/custom/flying-emojis/index.js similarity index 100% rename from dailyjs/flying-emojis/index.js rename to custom/flying-emojis/index.js diff --git a/dailyjs/live-fitness/next.config.js b/custom/flying-emojis/next.config.js similarity index 84% rename from dailyjs/live-fitness/next.config.js rename to custom/flying-emojis/next.config.js index 9a0a6ee..9140e28 100644 --- a/dailyjs/live-fitness/next.config.js +++ b/custom/flying-emojis/next.config.js @@ -1,7 +1,7 @@ const withPlugins = require('next-compose-plugins'); const withTM = require('next-transpile-modules')([ - '@dailyjs/shared', - '@dailyjs/basic-call', + '@custom/shared', + '@custom/basic-call', ]); const packageJson = require('./package.json'); diff --git a/dailyjs/flying-emojis/package.json b/custom/flying-emojis/package.json similarity index 83% rename from dailyjs/flying-emojis/package.json rename to custom/flying-emojis/package.json index a084b01..a3244d3 100644 --- a/dailyjs/flying-emojis/package.json +++ b/custom/flying-emojis/package.json @@ -1,5 +1,5 @@ { - "name": "@dailyjs/flying-emojis", + "name": "@custom/flying-emojis", "description": "Basic Call + Flying Emojis", "version": "0.1.0", "private": true, @@ -10,8 +10,8 @@ "lint": "next lint" }, "dependencies": { - "@dailyjs/basic-call": "*", - "@dailyjs/shared": "*", + "@custom/basic-call": "*", + "@custom/shared": "*", "next": "^11.0.0", "pluralize": "^8.0.0", "react": "^17.0.2", diff --git a/dailyjs/flying-emojis/pages/_app.js b/custom/flying-emojis/pages/_app.js similarity index 81% rename from dailyjs/flying-emojis/pages/_app.js rename to custom/flying-emojis/pages/_app.js index 16a9742..8f9ab26 100644 --- a/dailyjs/flying-emojis/pages/_app.js +++ b/custom/flying-emojis/pages/_app.js @@ -1,5 +1,5 @@ import React from 'react'; -import App from '@dailyjs/basic-call/pages/_app'; +import App from '@custom/basic-call/pages/_app'; import AppWithEmojis from '../components/App'; import Tray from '../components/Tray'; diff --git a/dailyjs/flying-emojis/pages/api b/custom/flying-emojis/pages/api similarity index 100% rename from dailyjs/flying-emojis/pages/api rename to custom/flying-emojis/pages/api diff --git a/dailyjs/flying-emojis/pages/index.js b/custom/flying-emojis/pages/index.js similarity index 63% rename from dailyjs/flying-emojis/pages/index.js rename to custom/flying-emojis/pages/index.js index d25e77e..84a3f53 100644 --- a/dailyjs/flying-emojis/pages/index.js +++ b/custom/flying-emojis/pages/index.js @@ -1,5 +1,5 @@ -import Index from '@dailyjs/basic-call/pages'; -import getDemoProps from '@dailyjs/shared/lib/demoProps'; +import Index from '@custom/basic-call/pages'; +import getDemoProps from '@custom/shared/lib/demoProps'; export async function getStaticProps() { const defaultProps = getDemoProps(); diff --git a/dailyjs/flying-emojis/public/assets/daily-logo-dark.svg b/custom/flying-emojis/public/assets/daily-logo-dark.svg similarity index 100% rename from dailyjs/flying-emojis/public/assets/daily-logo-dark.svg rename to custom/flying-emojis/public/assets/daily-logo-dark.svg diff --git a/dailyjs/flying-emojis/public/assets/daily-logo.svg b/custom/flying-emojis/public/assets/daily-logo.svg similarity index 100% rename from dailyjs/flying-emojis/public/assets/daily-logo.svg rename to custom/flying-emojis/public/assets/daily-logo.svg diff --git a/dailyjs/flying-emojis/public/assets/join.mp3 b/custom/flying-emojis/public/assets/join.mp3 similarity index 100% rename from dailyjs/flying-emojis/public/assets/join.mp3 rename to custom/flying-emojis/public/assets/join.mp3 diff --git a/dailyjs/flying-emojis/public/assets/message.mp3 b/custom/flying-emojis/public/assets/message.mp3 similarity index 100% rename from dailyjs/flying-emojis/public/assets/message.mp3 rename to custom/flying-emojis/public/assets/message.mp3 diff --git a/dailyjs/flying-emojis/public/assets/pattern-bg.png b/custom/flying-emojis/public/assets/pattern-bg.png similarity index 100% rename from dailyjs/flying-emojis/public/assets/pattern-bg.png rename to custom/flying-emojis/public/assets/pattern-bg.png diff --git a/dailyjs/live-fitness/.babelrc b/custom/live-fitness/.babelrc similarity index 100% rename from dailyjs/live-fitness/.babelrc rename to custom/live-fitness/.babelrc diff --git a/dailyjs/live-fitness/README.md b/custom/live-fitness/README.md similarity index 100% rename from dailyjs/live-fitness/README.md rename to custom/live-fitness/README.md diff --git a/dailyjs/live-fitness/components/App/App.js b/custom/live-fitness/components/App/App.js similarity index 84% rename from dailyjs/live-fitness/components/App/App.js rename to custom/live-fitness/components/App/App.js index 393d2ad..2d44366 100644 --- a/dailyjs/live-fitness/components/App/App.js +++ b/custom/live-fitness/components/App/App.js @@ -1,6 +1,6 @@ import React from 'react'; -import App from '@dailyjs/basic-call/components/App'; +import App from '@custom/basic-call/components/App'; import { RecordingProvider } from '../../contexts/RecordingProvider'; // Extend our basic call app component with the recording context diff --git a/dailyjs/live-fitness/components/App/index.js b/custom/live-fitness/components/App/index.js similarity index 100% rename from dailyjs/live-fitness/components/App/index.js rename to custom/live-fitness/components/App/index.js diff --git a/dailyjs/live-fitness/components/Tray/Tray.js b/custom/live-fitness/components/Tray/Tray.js similarity index 81% rename from dailyjs/live-fitness/components/Tray/Tray.js rename to custom/live-fitness/components/Tray/Tray.js index c26f253..2c12cae 100644 --- a/dailyjs/live-fitness/components/Tray/Tray.js +++ b/custom/live-fitness/components/Tray/Tray.js @@ -1,8 +1,8 @@ import React, { useEffect } from 'react'; -import { TrayButton } from '@dailyjs/shared/components/Tray'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { ReactComponent as IconRecord } from '@dailyjs/shared/icons/record-md.svg'; +import { TrayButton } from '@custom/shared/components/Tray'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; +import { ReactComponent as IconRecord } from '@custom/shared/icons/record-md.svg'; import { RECORDING_ERROR, diff --git a/dailyjs/live-fitness/components/Tray/index.js b/custom/live-fitness/components/Tray/index.js similarity index 100% rename from dailyjs/live-fitness/components/Tray/index.js rename to custom/live-fitness/components/Tray/index.js diff --git a/dailyjs/live-fitness/env.example b/custom/live-fitness/env.example similarity index 100% rename from dailyjs/live-fitness/env.example rename to custom/live-fitness/env.example diff --git a/dailyjs/pagination/next.config.js b/custom/live-fitness/next.config.js similarity index 84% rename from dailyjs/pagination/next.config.js rename to custom/live-fitness/next.config.js index 9a0a6ee..9140e28 100644 --- a/dailyjs/pagination/next.config.js +++ b/custom/live-fitness/next.config.js @@ -1,7 +1,7 @@ const withPlugins = require('next-compose-plugins'); const withTM = require('next-transpile-modules')([ - '@dailyjs/shared', - '@dailyjs/basic-call', + '@custom/shared', + '@custom/basic-call', ]); const packageJson = require('./package.json'); diff --git a/dailyjs/live-fitness/package.json b/custom/live-fitness/package.json similarity index 83% rename from dailyjs/live-fitness/package.json rename to custom/live-fitness/package.json index 56770d8..dab6395 100644 --- a/dailyjs/live-fitness/package.json +++ b/custom/live-fitness/package.json @@ -1,5 +1,5 @@ { - "name": "@dailyjs/live-fitness", + "name": "@custom/live-fitness", "description": "Live Fitness", "version": "0.1.0", "private": true, @@ -10,8 +10,8 @@ "lint": "next lint" }, "dependencies": { - "@dailyjs/shared": "*", - "@dailyjs/basic-call": "*", + "@custom/shared": "*", + "@custom/basic-call": "*", "next": "^11.0.0", "pluralize": "^8.0.0", "react": "^17.0.2", diff --git a/dailyjs/recording/pages/_app.js b/custom/live-fitness/pages/_app.js similarity index 86% rename from dailyjs/recording/pages/_app.js rename to custom/live-fitness/pages/_app.js index df733a8..7636341 100644 --- a/dailyjs/recording/pages/_app.js +++ b/custom/live-fitness/pages/_app.js @@ -1,5 +1,5 @@ import React from 'react'; -import App from '@dailyjs/basic-call/pages/_app'; +import App from '@custom/basic-call/pages/_app'; import AppWithRecording from '../components/App'; import { RecordingModal } from '../components/RecordingModal'; diff --git a/dailyjs/live-fitness/pages/api b/custom/live-fitness/pages/api similarity index 100% rename from dailyjs/live-fitness/pages/api rename to custom/live-fitness/pages/api diff --git a/dailyjs/recording/pages/index.js b/custom/live-fitness/pages/index.js similarity index 67% rename from dailyjs/recording/pages/index.js rename to custom/live-fitness/pages/index.js index 2668138..f61b429 100644 --- a/dailyjs/recording/pages/index.js +++ b/custom/live-fitness/pages/index.js @@ -1,5 +1,5 @@ -import Index from '@dailyjs/basic-call/pages'; -import getDemoProps from '@dailyjs/shared/lib/demoProps'; +import Index from '@custom/basic-call/pages'; +import getDemoProps from '@custom/shared/lib/demoProps'; export async function getStaticProps() { const defaultProps = getDemoProps(); diff --git a/dailyjs/live-fitness/public b/custom/live-fitness/public similarity index 100% rename from dailyjs/live-fitness/public rename to custom/live-fitness/public diff --git a/dailyjs/pagination/.babelrc b/custom/pagination/.babelrc similarity index 100% rename from dailyjs/pagination/.babelrc rename to custom/pagination/.babelrc diff --git a/dailyjs/pagination/README.md b/custom/pagination/README.md similarity index 96% rename from dailyjs/pagination/README.md rename to custom/pagination/README.md index 89272f3..c4753cf 100644 --- a/dailyjs/pagination/README.md +++ b/custom/pagination/README.md @@ -4,7 +4,7 @@ ### Live example -**[See it in action here ➡️](https://dailyjs-pagination.vercel.app)** +**[See it in action here ➡️](https://custom-pagination.vercel.app)** --- @@ -22,7 +22,7 @@ Please note: this demo is not currently mobile optimised mv env.example .env.local yarn -yarn workspace @dailyjs/live-streaming dev +yarn workspace @custom/live-streaming dev ``` Note: this example uses an additional env `MANUAL_TRACK_SUBS=1` that will disable [automatic track management](https://docs.daily.co/reference#%EF%B8%8F-setsubscribetotracksautomatically). diff --git a/dailyjs/pagination/components/App/App.js b/custom/pagination/components/App/App.js similarity index 71% rename from dailyjs/pagination/components/App/App.js rename to custom/pagination/components/App/App.js index 317d450..4f873b8 100644 --- a/dailyjs/pagination/components/App/App.js +++ b/custom/pagination/components/App/App.js @@ -1,7 +1,7 @@ import React from 'react'; -import App from '@dailyjs/basic-call/components/App'; -import Room from '@dailyjs/basic-call/components/Room'; +import App from '@custom/basic-call/components/App'; +import Room from '@custom/basic-call/components/Room'; import PaginatedVideoGrid from '../PaginatedVideoGrid'; export const AppWithPagination = () => ( diff --git a/dailyjs/pagination/components/App/index.js b/custom/pagination/components/App/index.js similarity index 100% rename from dailyjs/pagination/components/App/index.js rename to custom/pagination/components/App/index.js diff --git a/dailyjs/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js b/custom/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js similarity index 93% rename from dailyjs/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js rename to custom/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js index 4d3661e..20b5cbe 100644 --- a/dailyjs/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js +++ b/custom/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js @@ -5,19 +5,19 @@ import React, { useEffect, useState, } from 'react'; -import { Button } from '@dailyjs/shared/components/Button'; -import Tile from '@dailyjs/shared/components/Tile'; +import { Button } from '@custom/shared/components/Button'; +import Tile from '@custom/shared/components/Tile'; import { DEFAULT_ASPECT_RATIO, MEETING_STATE_JOINED, -} from '@dailyjs/shared/constants'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { isLocalId } from '@dailyjs/shared/contexts/participantsState'; -import { useActiveSpeaker } from '@dailyjs/shared/hooks/useActiveSpeaker'; -import { useCamSubscriptions } from '@dailyjs/shared/hooks/useCamSubscriptions'; -import { ReactComponent as IconArrow } from '@dailyjs/shared/icons/raquo-md.svg'; -import sortByKey from '@dailyjs/shared/lib/sortByKey'; +} from '@custom/shared/constants'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { useParticipants } from '@custom/shared/contexts/ParticipantsProvider'; +import { isLocalId } from '@custom/shared/contexts/participantsState'; +import { useActiveSpeaker } from '@custom/shared/hooks/useActiveSpeaker'; +import { useCamSubscriptions } from '@custom/shared/hooks/useCamSubscriptions'; +import { ReactComponent as IconArrow } from '@custom/shared/icons/raquo-md.svg'; +import sortByKey from '@custom/shared/lib/sortByKey'; import PropTypes from 'prop-types'; import { useDeepCompareMemo } from 'use-deep-compare'; diff --git a/dailyjs/pagination/components/PaginatedVideoGrid/index.js b/custom/pagination/components/PaginatedVideoGrid/index.js similarity index 100% rename from dailyjs/pagination/components/PaginatedVideoGrid/index.js rename to custom/pagination/components/PaginatedVideoGrid/index.js diff --git a/dailyjs/pagination/components/Tray/Tray.js b/custom/pagination/components/Tray/Tray.js similarity index 60% rename from dailyjs/pagination/components/Tray/Tray.js rename to custom/pagination/components/Tray/Tray.js index e04e896..2099856 100644 --- a/dailyjs/pagination/components/Tray/Tray.js +++ b/custom/pagination/components/Tray/Tray.js @@ -1,8 +1,8 @@ import React from 'react'; -import { TrayButton } from '@dailyjs/shared/components/Tray'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { ReactComponent as IconAdd } from '@dailyjs/shared/icons/add-md.svg'; +import { TrayButton } from '@custom/shared/components/Tray'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { ReactComponent as IconAdd } from '@custom/shared/icons/add-md.svg'; export const Tray = () => { const { callObject } = useCallState(); diff --git a/dailyjs/pagination/components/Tray/index.js b/custom/pagination/components/Tray/index.js similarity index 100% rename from dailyjs/pagination/components/Tray/index.js rename to custom/pagination/components/Tray/index.js diff --git a/dailyjs/pagination/env.example b/custom/pagination/env.example similarity index 100% rename from dailyjs/pagination/env.example rename to custom/pagination/env.example diff --git a/dailyjs/pagination/image.png b/custom/pagination/image.png similarity index 100% rename from dailyjs/pagination/image.png rename to custom/pagination/image.png diff --git a/dailyjs/recording/next.config.js b/custom/pagination/next.config.js similarity index 84% rename from dailyjs/recording/next.config.js rename to custom/pagination/next.config.js index 9a0a6ee..9140e28 100644 --- a/dailyjs/recording/next.config.js +++ b/custom/pagination/next.config.js @@ -1,7 +1,7 @@ const withPlugins = require('next-compose-plugins'); const withTM = require('next-transpile-modules')([ - '@dailyjs/shared', - '@dailyjs/basic-call', + '@custom/shared', + '@custom/basic-call', ]); const packageJson = require('./package.json'); diff --git a/dailyjs/pagination/package.json b/custom/pagination/package.json similarity index 83% rename from dailyjs/pagination/package.json rename to custom/pagination/package.json index 796128e..eff1894 100644 --- a/dailyjs/pagination/package.json +++ b/custom/pagination/package.json @@ -1,5 +1,5 @@ { - "name": "@dailyjs/pagination", + "name": "@custom/pagination", "description": "Basic Call + Pagination", "version": "0.1.0", "private": true, @@ -10,8 +10,8 @@ "lint": "next lint" }, "dependencies": { - "@dailyjs/shared": "*", - "@dailyjs/basic-call": "*", + "@custom/shared": "*", + "@custom/basic-call": "*", "next": "^11.0.0", "pluralize": "^8.0.0", "react": "^17.0.2", diff --git a/dailyjs/pagination/pages/_app.js b/custom/pagination/pages/_app.js similarity index 81% rename from dailyjs/pagination/pages/_app.js rename to custom/pagination/pages/_app.js index 5ffe4b9..d819eae 100644 --- a/dailyjs/pagination/pages/_app.js +++ b/custom/pagination/pages/_app.js @@ -1,6 +1,6 @@ import React from 'react'; -import App from '@dailyjs/basic-call/pages/_app'; +import App from '@custom/basic-call/pages/_app'; import AppWithPagination from '../components/App'; import Tray from '../components/Tray'; diff --git a/dailyjs/pagination/pages/api b/custom/pagination/pages/api similarity index 100% rename from dailyjs/pagination/pages/api rename to custom/pagination/pages/api diff --git a/dailyjs/pagination/pages/index.js b/custom/pagination/pages/index.js similarity index 67% rename from dailyjs/pagination/pages/index.js rename to custom/pagination/pages/index.js index 2668138..f61b429 100644 --- a/dailyjs/pagination/pages/index.js +++ b/custom/pagination/pages/index.js @@ -1,5 +1,5 @@ -import Index from '@dailyjs/basic-call/pages'; -import getDemoProps from '@dailyjs/shared/lib/demoProps'; +import Index from '@custom/basic-call/pages'; +import getDemoProps from '@custom/shared/lib/demoProps'; export async function getStaticProps() { const defaultProps = getDemoProps(); diff --git a/dailyjs/pagination/public/assets/daily-logo-dark.svg b/custom/pagination/public/assets/daily-logo-dark.svg similarity index 100% rename from dailyjs/pagination/public/assets/daily-logo-dark.svg rename to custom/pagination/public/assets/daily-logo-dark.svg diff --git a/dailyjs/pagination/public/assets/daily-logo.svg b/custom/pagination/public/assets/daily-logo.svg similarity index 100% rename from dailyjs/pagination/public/assets/daily-logo.svg rename to custom/pagination/public/assets/daily-logo.svg diff --git a/dailyjs/pagination/public/assets/join.mp3 b/custom/pagination/public/assets/join.mp3 similarity index 100% rename from dailyjs/pagination/public/assets/join.mp3 rename to custom/pagination/public/assets/join.mp3 diff --git a/dailyjs/pagination/public/assets/message.mp3 b/custom/pagination/public/assets/message.mp3 similarity index 100% rename from dailyjs/pagination/public/assets/message.mp3 rename to custom/pagination/public/assets/message.mp3 diff --git a/dailyjs/pagination/public/assets/pattern-bg.png b/custom/pagination/public/assets/pattern-bg.png similarity index 100% rename from dailyjs/pagination/public/assets/pattern-bg.png rename to custom/pagination/public/assets/pattern-bg.png diff --git a/dailyjs/recording/.babelrc b/custom/recording/.babelrc similarity index 100% rename from dailyjs/recording/.babelrc rename to custom/recording/.babelrc diff --git a/dailyjs/recording/README.md b/custom/recording/README.md similarity index 97% rename from dailyjs/recording/README.md rename to custom/recording/README.md index dd0aa59..523abe6 100644 --- a/dailyjs/recording/README.md +++ b/custom/recording/README.md @@ -22,7 +22,7 @@ Please note: this demo is not currently mobile optimised mv env.example .env.local yarn -yarn workspace @dailyjs/recording dev +yarn workspace @custom/recording dev ``` ### How does this demo work? diff --git a/dailyjs/recording/components/App/App.js b/custom/recording/components/App/App.js similarity index 84% rename from dailyjs/recording/components/App/App.js rename to custom/recording/components/App/App.js index 393d2ad..2d44366 100644 --- a/dailyjs/recording/components/App/App.js +++ b/custom/recording/components/App/App.js @@ -1,6 +1,6 @@ import React from 'react'; -import App from '@dailyjs/basic-call/components/App'; +import App from '@custom/basic-call/components/App'; import { RecordingProvider } from '../../contexts/RecordingProvider'; // Extend our basic call app component with the recording context diff --git a/dailyjs/recording/components/App/index.js b/custom/recording/components/App/index.js similarity index 100% rename from dailyjs/recording/components/App/index.js rename to custom/recording/components/App/index.js diff --git a/dailyjs/recording/components/RecordingModal/RecordingModal.js b/custom/recording/components/RecordingModal/RecordingModal.js similarity index 88% rename from dailyjs/recording/components/RecordingModal/RecordingModal.js rename to custom/recording/components/RecordingModal/RecordingModal.js index 50f4313..acface2 100644 --- a/dailyjs/recording/components/RecordingModal/RecordingModal.js +++ b/custom/recording/components/RecordingModal/RecordingModal.js @@ -1,10 +1,10 @@ import React, { useEffect } from 'react'; -import Button from '@dailyjs/shared/components/Button'; -import { CardBody } from '@dailyjs/shared/components/Card'; -import Modal from '@dailyjs/shared/components/Modal'; -import Well from '@dailyjs/shared/components/Well'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import Button from '@custom/shared/components/Button'; +import { CardBody } from '@custom/shared/components/Card'; +import Modal from '@custom/shared/components/Modal'; +import Well from '@custom/shared/components/Well'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; import { RECORDING_COUNTDOWN_1, RECORDING_COUNTDOWN_2, diff --git a/dailyjs/recording/components/RecordingModal/index.js b/custom/recording/components/RecordingModal/index.js similarity index 100% rename from dailyjs/recording/components/RecordingModal/index.js rename to custom/recording/components/RecordingModal/index.js diff --git a/dailyjs/recording/components/Tray/Tray.js b/custom/recording/components/Tray/Tray.js similarity index 80% rename from dailyjs/recording/components/Tray/Tray.js rename to custom/recording/components/Tray/Tray.js index 6eeba01..9eb14b9 100644 --- a/dailyjs/recording/components/Tray/Tray.js +++ b/custom/recording/components/Tray/Tray.js @@ -1,8 +1,8 @@ import React, { useEffect } from 'react'; -import { TrayButton } from '@dailyjs/shared/components/Tray'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { ReactComponent as IconRecord } from '@dailyjs/shared/icons/record-md.svg'; +import { TrayButton } from '@custom/shared/components/Tray'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; +import { ReactComponent as IconRecord } from '@custom/shared/icons/record-md.svg'; import { RECORDING_ERROR, diff --git a/dailyjs/recording/components/Tray/index.js b/custom/recording/components/Tray/index.js similarity index 100% rename from dailyjs/recording/components/Tray/index.js rename to custom/recording/components/Tray/index.js diff --git a/dailyjs/recording/contexts/RecordingProvider.js b/custom/recording/contexts/RecordingProvider.js similarity index 96% rename from dailyjs/recording/contexts/RecordingProvider.js rename to custom/recording/contexts/RecordingProvider.js index e56a3f0..326bb37 100644 --- a/dailyjs/recording/contexts/RecordingProvider.js +++ b/custom/recording/contexts/RecordingProvider.js @@ -6,13 +6,13 @@ import React, { useState, } from 'react'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { useParticipants } from '@custom/shared/contexts/ParticipantsProvider'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; import { CALL_STATE_REDIRECTING, CALL_STATE_JOINED, -} from '@dailyjs/shared/contexts/useCallMachine'; +} from '@custom/shared/contexts/useCallMachine'; import PropTypes from 'prop-types'; import { useDeepCompareEffect } from 'use-deep-compare'; diff --git a/dailyjs/recording/env.example b/custom/recording/env.example similarity index 100% rename from dailyjs/recording/env.example rename to custom/recording/env.example diff --git a/dailyjs/recording/image.png b/custom/recording/image.png similarity index 100% rename from dailyjs/recording/image.png rename to custom/recording/image.png diff --git a/dailyjs/recording/index.js b/custom/recording/index.js similarity index 100% rename from dailyjs/recording/index.js rename to custom/recording/index.js diff --git a/dailyjs/flying-emojis/next.config.js b/custom/recording/next.config.js similarity index 84% rename from dailyjs/flying-emojis/next.config.js rename to custom/recording/next.config.js index 9a0a6ee..9140e28 100644 --- a/dailyjs/flying-emojis/next.config.js +++ b/custom/recording/next.config.js @@ -1,7 +1,7 @@ const withPlugins = require('next-compose-plugins'); const withTM = require('next-transpile-modules')([ - '@dailyjs/shared', - '@dailyjs/basic-call', + '@custom/shared', + '@custom/basic-call', ]); const packageJson = require('./package.json'); diff --git a/dailyjs/recording/package.json b/custom/recording/package.json similarity index 84% rename from dailyjs/recording/package.json rename to custom/recording/package.json index 48a1257..6f511f2 100644 --- a/dailyjs/recording/package.json +++ b/custom/recording/package.json @@ -1,5 +1,5 @@ { - "name": "@dailyjs/recording", + "name": "@custom/recording", "description": "Basic Call + Recording", "version": "0.1.0", "private": true, @@ -10,8 +10,8 @@ "lint": "next lint" }, "dependencies": { - "@dailyjs/shared": "*", - "@dailyjs/basic-call": "*", + "@custom/shared": "*", + "@custom/basic-call": "*", "next": "^11.0.0", "pluralize": "^8.0.0", "react": "^17.0.2", diff --git a/dailyjs/live-fitness/pages/_app.js b/custom/recording/pages/_app.js similarity index 86% rename from dailyjs/live-fitness/pages/_app.js rename to custom/recording/pages/_app.js index df733a8..7636341 100644 --- a/dailyjs/live-fitness/pages/_app.js +++ b/custom/recording/pages/_app.js @@ -1,5 +1,5 @@ import React from 'react'; -import App from '@dailyjs/basic-call/pages/_app'; +import App from '@custom/basic-call/pages/_app'; import AppWithRecording from '../components/App'; import { RecordingModal } from '../components/RecordingModal'; diff --git a/dailyjs/recording/pages/api b/custom/recording/pages/api similarity index 100% rename from dailyjs/recording/pages/api rename to custom/recording/pages/api diff --git a/dailyjs/live-fitness/pages/index.js b/custom/recording/pages/index.js similarity index 67% rename from dailyjs/live-fitness/pages/index.js rename to custom/recording/pages/index.js index 2668138..f61b429 100644 --- a/dailyjs/live-fitness/pages/index.js +++ b/custom/recording/pages/index.js @@ -1,5 +1,5 @@ -import Index from '@dailyjs/basic-call/pages'; -import getDemoProps from '@dailyjs/shared/lib/demoProps'; +import Index from '@custom/basic-call/pages'; +import getDemoProps from '@custom/shared/lib/demoProps'; export async function getStaticProps() { const defaultProps = getDemoProps(); diff --git a/dailyjs/recording/public/assets/daily-logo-dark.svg b/custom/recording/public/assets/daily-logo-dark.svg similarity index 100% rename from dailyjs/recording/public/assets/daily-logo-dark.svg rename to custom/recording/public/assets/daily-logo-dark.svg diff --git a/dailyjs/recording/public/assets/daily-logo.svg b/custom/recording/public/assets/daily-logo.svg similarity index 100% rename from dailyjs/recording/public/assets/daily-logo.svg rename to custom/recording/public/assets/daily-logo.svg diff --git a/dailyjs/recording/public/assets/join.mp3 b/custom/recording/public/assets/join.mp3 similarity index 100% rename from dailyjs/recording/public/assets/join.mp3 rename to custom/recording/public/assets/join.mp3 diff --git a/dailyjs/recording/public/assets/message.mp3 b/custom/recording/public/assets/message.mp3 similarity index 100% rename from dailyjs/recording/public/assets/message.mp3 rename to custom/recording/public/assets/message.mp3 diff --git a/dailyjs/recording/public/assets/pattern-bg.png b/custom/recording/public/assets/pattern-bg.png similarity index 100% rename from dailyjs/recording/public/assets/pattern-bg.png rename to custom/recording/public/assets/pattern-bg.png diff --git a/dailyjs/shared/components/Aside/Aside.js b/custom/shared/components/Aside/Aside.js similarity index 100% rename from dailyjs/shared/components/Aside/Aside.js rename to custom/shared/components/Aside/Aside.js diff --git a/dailyjs/shared/components/Aside/PeopleAside.js b/custom/shared/components/Aside/PeopleAside.js similarity index 91% rename from dailyjs/shared/components/Aside/PeopleAside.js rename to custom/shared/components/Aside/PeopleAside.js index db9da69..d5dc374 100644 --- a/dailyjs/shared/components/Aside/PeopleAside.js +++ b/custom/shared/components/Aside/PeopleAside.js @@ -1,9 +1,9 @@ import React from 'react'; -import { Aside } from '@dailyjs/shared/components/Aside'; -import { ReactComponent as IconCamOff } from '@dailyjs/shared/icons/camera-off-sm.svg'; -import { ReactComponent as IconCamOn } from '@dailyjs/shared/icons/camera-on-sm.svg'; -import { ReactComponent as IconMicOff } from '@dailyjs/shared/icons/mic-off-sm.svg'; -import { ReactComponent as IconMicOn } from '@dailyjs/shared/icons/mic-on-sm.svg'; +import { Aside } from '@custom/shared/components/Aside'; +import { ReactComponent as IconCamOff } from '@custom/shared/icons/camera-off-sm.svg'; +import { ReactComponent as IconCamOn } from '@custom/shared/icons/camera-on-sm.svg'; +import { ReactComponent as IconMicOff } from '@custom/shared/icons/mic-off-sm.svg'; +import { ReactComponent as IconMicOn } from '@custom/shared/icons/mic-on-sm.svg'; import PropTypes from 'prop-types'; import { useCallState } from '../../contexts/CallProvider'; import { useParticipants } from '../../contexts/ParticipantsProvider'; diff --git a/dailyjs/shared/components/Aside/index.js b/custom/shared/components/Aside/index.js similarity index 100% rename from dailyjs/shared/components/Aside/index.js rename to custom/shared/components/Aside/index.js diff --git a/dailyjs/shared/components/Audio/Audio.js b/custom/shared/components/Audio/Audio.js similarity index 97% rename from dailyjs/shared/components/Audio/Audio.js rename to custom/shared/components/Audio/Audio.js index 931ee56..a806340 100644 --- a/dailyjs/shared/components/Audio/Audio.js +++ b/custom/shared/components/Audio/Audio.js @@ -8,7 +8,7 @@ * into into a single audio node using the CombinedAudioTrack component */ import React, { useEffect, useMemo } from 'react'; -import { useTracks } from '@dailyjs/shared/contexts/TracksProvider'; +import { useTracks } from '@custom/shared/contexts/TracksProvider'; import Bowser from 'bowser'; import { Portal } from 'react-portal'; import AudioTrack from './AudioTrack'; diff --git a/dailyjs/shared/components/Audio/AudioTrack.js b/custom/shared/components/Audio/AudioTrack.js similarity index 100% rename from dailyjs/shared/components/Audio/AudioTrack.js rename to custom/shared/components/Audio/AudioTrack.js diff --git a/dailyjs/shared/components/Audio/CombinedAudioTrack.js b/custom/shared/components/Audio/CombinedAudioTrack.js similarity index 100% rename from dailyjs/shared/components/Audio/CombinedAudioTrack.js rename to custom/shared/components/Audio/CombinedAudioTrack.js diff --git a/dailyjs/shared/components/Audio/index.js b/custom/shared/components/Audio/index.js similarity index 100% rename from dailyjs/shared/components/Audio/index.js rename to custom/shared/components/Audio/index.js diff --git a/dailyjs/shared/components/Button/Button.js b/custom/shared/components/Button/Button.js similarity index 100% rename from dailyjs/shared/components/Button/Button.js rename to custom/shared/components/Button/Button.js diff --git a/dailyjs/shared/components/Button/index.js b/custom/shared/components/Button/index.js similarity index 100% rename from dailyjs/shared/components/Button/index.js rename to custom/shared/components/Button/index.js diff --git a/dailyjs/shared/components/Card/Card.js b/custom/shared/components/Card/Card.js similarity index 100% rename from dailyjs/shared/components/Card/Card.js rename to custom/shared/components/Card/Card.js diff --git a/dailyjs/shared/components/Card/index.js b/custom/shared/components/Card/index.js similarity index 100% rename from dailyjs/shared/components/Card/index.js rename to custom/shared/components/Card/index.js diff --git a/dailyjs/shared/components/DeviceSelect/DeviceSelect.js b/custom/shared/components/DeviceSelect/DeviceSelect.js similarity index 96% rename from dailyjs/shared/components/DeviceSelect/DeviceSelect.js rename to custom/shared/components/DeviceSelect/DeviceSelect.js index 0502a05..f0b0153 100644 --- a/dailyjs/shared/components/DeviceSelect/DeviceSelect.js +++ b/custom/shared/components/DeviceSelect/DeviceSelect.js @@ -1,5 +1,5 @@ import React from 'react'; -import { useMediaDevices } from '@dailyjs/shared/contexts/MediaDeviceProvider'; +import { useMediaDevices } from '@custom/shared/contexts/MediaDeviceProvider'; import Field from '../Field'; import { SelectInput } from '../Input'; diff --git a/dailyjs/shared/components/DeviceSelect/index.js b/custom/shared/components/DeviceSelect/index.js similarity index 100% rename from dailyjs/shared/components/DeviceSelect/index.js rename to custom/shared/components/DeviceSelect/index.js diff --git a/dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal.js b/custom/shared/components/DeviceSelectModal/DeviceSelectModal.js similarity index 83% rename from dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal.js rename to custom/shared/components/DeviceSelectModal/DeviceSelectModal.js index c81570a..4ec976b 100644 --- a/dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal.js +++ b/custom/shared/components/DeviceSelectModal/DeviceSelectModal.js @@ -1,6 +1,6 @@ import React from 'react'; -import Modal from '@dailyjs/shared/components/Modal'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import Modal from '@custom/shared/components/Modal'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; import Button from '../Button'; import DeviceSelect from '../DeviceSelect'; diff --git a/dailyjs/shared/components/DeviceSelectModal/index.js b/custom/shared/components/DeviceSelectModal/index.js similarity index 100% rename from dailyjs/shared/components/DeviceSelectModal/index.js rename to custom/shared/components/DeviceSelectModal/index.js diff --git a/dailyjs/shared/components/ExpiryTimer/ExpiryTimer.js b/custom/shared/components/ExpiryTimer/ExpiryTimer.js similarity index 100% rename from dailyjs/shared/components/ExpiryTimer/ExpiryTimer.js rename to custom/shared/components/ExpiryTimer/ExpiryTimer.js diff --git a/dailyjs/shared/components/ExpiryTimer/index.js b/custom/shared/components/ExpiryTimer/index.js similarity index 100% rename from dailyjs/shared/components/ExpiryTimer/index.js rename to custom/shared/components/ExpiryTimer/index.js diff --git a/dailyjs/shared/components/Field/Field.js b/custom/shared/components/Field/Field.js similarity index 100% rename from dailyjs/shared/components/Field/Field.js rename to custom/shared/components/Field/Field.js diff --git a/dailyjs/shared/components/Field/index.js b/custom/shared/components/Field/index.js similarity index 100% rename from dailyjs/shared/components/Field/index.js rename to custom/shared/components/Field/index.js diff --git a/dailyjs/shared/components/GlobalStyle/GlobalStyle.js b/custom/shared/components/GlobalStyle/GlobalStyle.js similarity index 100% rename from dailyjs/shared/components/GlobalStyle/GlobalStyle.js rename to custom/shared/components/GlobalStyle/GlobalStyle.js diff --git a/dailyjs/shared/components/GlobalStyle/index.js b/custom/shared/components/GlobalStyle/index.js similarity index 100% rename from dailyjs/shared/components/GlobalStyle/index.js rename to custom/shared/components/GlobalStyle/index.js diff --git a/dailyjs/shared/components/HairCheck/HairCheck.js b/custom/shared/components/HairCheck/HairCheck.js similarity index 91% rename from dailyjs/shared/components/HairCheck/HairCheck.js rename to custom/shared/components/HairCheck/HairCheck.js index d5ea397..4646036 100644 --- a/dailyjs/shared/components/HairCheck/HairCheck.js +++ b/custom/shared/components/HairCheck/HairCheck.js @@ -1,15 +1,15 @@ import React, { useState, useEffect, useMemo } from 'react'; -import Button from '@dailyjs/shared/components/Button'; -import { DEVICE_MODAL } from '@dailyjs/shared/components/DeviceSelectModal/DeviceSelectModal'; -import { TextInput } from '@dailyjs/shared/components/Input'; -import Loader from '@dailyjs/shared/components/Loader'; -import MuteButton from '@dailyjs/shared/components/MuteButton'; -import Tile from '@dailyjs/shared/components/Tile'; -import { ACCESS_STATE_LOBBY } from '@dailyjs/shared/constants'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useMediaDevices } from '@dailyjs/shared/contexts/MediaDeviceProvider'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import Button from '@custom/shared/components/Button'; +import { DEVICE_MODAL } from '@custom/shared/components/DeviceSelectModal/DeviceSelectModal'; +import { TextInput } from '@custom/shared/components/Input'; +import Loader from '@custom/shared/components/Loader'; +import MuteButton from '@custom/shared/components/MuteButton'; +import Tile from '@custom/shared/components/Tile'; +import { ACCESS_STATE_LOBBY } from '@custom/shared/constants'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { useMediaDevices } from '@custom/shared/contexts/MediaDeviceProvider'; +import { useParticipants } from '@custom/shared/contexts/ParticipantsProvider'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; import { DEVICE_STATE_BLOCKED, DEVICE_STATE_NOT_FOUND, @@ -17,8 +17,8 @@ import { DEVICE_STATE_PENDING, DEVICE_STATE_LOADING, DEVICE_STATE_GRANTED, -} from '@dailyjs/shared/contexts/useDevices'; -import IconSettings from '@dailyjs/shared/icons/settings-sm.svg'; +} from '@custom/shared/contexts/useDevices'; +import IconSettings from '@custom/shared/icons/settings-sm.svg'; import { useDeepCompareMemo } from 'use-deep-compare'; diff --git a/dailyjs/shared/components/HairCheck/index.js b/custom/shared/components/HairCheck/index.js similarity index 100% rename from dailyjs/shared/components/HairCheck/index.js rename to custom/shared/components/HairCheck/index.js diff --git a/dailyjs/shared/components/HeaderCapsule/HeaderCapsule.js b/custom/shared/components/HeaderCapsule/HeaderCapsule.js similarity index 100% rename from dailyjs/shared/components/HeaderCapsule/HeaderCapsule.js rename to custom/shared/components/HeaderCapsule/HeaderCapsule.js diff --git a/dailyjs/shared/components/HeaderCapsule/index.js b/custom/shared/components/HeaderCapsule/index.js similarity index 100% rename from dailyjs/shared/components/HeaderCapsule/index.js rename to custom/shared/components/HeaderCapsule/index.js diff --git a/dailyjs/shared/components/Input/Input.js b/custom/shared/components/Input/Input.js similarity index 100% rename from dailyjs/shared/components/Input/Input.js rename to custom/shared/components/Input/Input.js diff --git a/dailyjs/shared/components/Input/index.js b/custom/shared/components/Input/index.js similarity index 100% rename from dailyjs/shared/components/Input/index.js rename to custom/shared/components/Input/index.js diff --git a/dailyjs/shared/components/Loader/Loader.js b/custom/shared/components/Loader/Loader.js similarity index 100% rename from dailyjs/shared/components/Loader/Loader.js rename to custom/shared/components/Loader/Loader.js diff --git a/dailyjs/shared/components/Loader/index.js b/custom/shared/components/Loader/index.js similarity index 100% rename from dailyjs/shared/components/Loader/index.js rename to custom/shared/components/Loader/index.js diff --git a/dailyjs/shared/components/MessageCard/MessageCard.js b/custom/shared/components/MessageCard/MessageCard.js similarity index 90% rename from dailyjs/shared/components/MessageCard/MessageCard.js rename to custom/shared/components/MessageCard/MessageCard.js index 19edbc7..425f54e 100644 --- a/dailyjs/shared/components/MessageCard/MessageCard.js +++ b/custom/shared/components/MessageCard/MessageCard.js @@ -1,11 +1,11 @@ import React from 'react'; -import Button from '@dailyjs/shared/components/Button'; +import Button from '@custom/shared/components/Button'; import { Card, CardBody, CardFooter, CardHeader, -} from '@dailyjs/shared/components/Card'; +} from '@custom/shared/components/Card'; import PropTypes from 'prop-types'; export const MessageCard = ({ diff --git a/dailyjs/shared/components/MessageCard/index.js b/custom/shared/components/MessageCard/index.js similarity index 100% rename from dailyjs/shared/components/MessageCard/index.js rename to custom/shared/components/MessageCard/index.js diff --git a/dailyjs/shared/components/Modal/Modal.js b/custom/shared/components/Modal/Modal.js similarity index 100% rename from dailyjs/shared/components/Modal/Modal.js rename to custom/shared/components/Modal/Modal.js diff --git a/dailyjs/shared/components/Modal/index.js b/custom/shared/components/Modal/index.js similarity index 100% rename from dailyjs/shared/components/Modal/index.js rename to custom/shared/components/Modal/index.js diff --git a/dailyjs/shared/components/MuteButton/MuteButton.js b/custom/shared/components/MuteButton/MuteButton.js similarity index 75% rename from dailyjs/shared/components/MuteButton/MuteButton.js rename to custom/shared/components/MuteButton/MuteButton.js index 8eef6e1..5d1a420 100644 --- a/dailyjs/shared/components/MuteButton/MuteButton.js +++ b/custom/shared/components/MuteButton/MuteButton.js @@ -1,8 +1,8 @@ import React, { useState } from 'react'; -import { ReactComponent as IconCameraOff } from '@dailyjs/shared/icons/camera-off-md.svg'; -import { ReactComponent as IconCameraOn } from '@dailyjs/shared/icons/camera-on-md.svg'; -import { ReactComponent as IconMicOff } from '@dailyjs/shared/icons/mic-off-md.svg'; -import { ReactComponent as IconMicOn } from '@dailyjs/shared/icons/mic-on-md.svg'; +import { ReactComponent as IconCameraOff } from '@custom/shared/icons/camera-off-md.svg'; +import { ReactComponent as IconCameraOn } from '@custom/shared/icons/camera-on-md.svg'; +import { ReactComponent as IconMicOff } from '@custom/shared/icons/mic-off-md.svg'; +import { ReactComponent as IconMicOn } from '@custom/shared/icons/mic-on-md.svg'; import classNames from 'classnames'; import PropTypes from 'prop-types'; import { useCallState } from '../../contexts/CallProvider'; diff --git a/dailyjs/shared/components/MuteButton/index.js b/custom/shared/components/MuteButton/index.js similarity index 100% rename from dailyjs/shared/components/MuteButton/index.js rename to custom/shared/components/MuteButton/index.js diff --git a/dailyjs/shared/components/ParticipantBar/ParticipantBar.js b/custom/shared/components/ParticipantBar/ParticipantBar.js similarity index 93% rename from dailyjs/shared/components/ParticipantBar/ParticipantBar.js rename to custom/shared/components/ParticipantBar/ParticipantBar.js index 416c27f..781b76a 100644 --- a/dailyjs/shared/components/ParticipantBar/ParticipantBar.js +++ b/custom/shared/components/ParticipantBar/ParticipantBar.js @@ -5,17 +5,17 @@ import React, { useRef, useState, } from 'react'; -import { Tile } from '@dailyjs/shared/components/Tile'; -import { DEFAULT_ASPECT_RATIO } from '@dailyjs/shared/constants'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useParticipants } from '@dailyjs/shared/contexts/ParticipantsProvider'; -import { useTracks } from '@dailyjs/shared/contexts/TracksProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { isLocalId } from '@dailyjs/shared/contexts/participantsState'; -import { useActiveSpeaker } from '@dailyjs/shared/hooks/useActiveSpeaker'; -import { useCamSubscriptions } from '@dailyjs/shared/hooks/useCamSubscriptions'; -import { useResize } from '@dailyjs/shared/hooks/useResize'; -import { useScrollbarWidth } from '@dailyjs/shared/hooks/useScrollbarWidth'; +import { Tile } from '@custom/shared/components/Tile'; +import { DEFAULT_ASPECT_RATIO } from '@custom/shared/constants'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { useParticipants } from '@custom/shared/contexts/ParticipantsProvider'; +import { useTracks } from '@custom/shared/contexts/TracksProvider'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; +import { isLocalId } from '@custom/shared/contexts/participantsState'; +import { useActiveSpeaker } from '@custom/shared/hooks/useActiveSpeaker'; +import { useCamSubscriptions } from '@custom/shared/hooks/useCamSubscriptions'; +import { useResize } from '@custom/shared/hooks/useResize'; +import { useScrollbarWidth } from '@custom/shared/hooks/useScrollbarWidth'; import classnames from 'classnames'; import debounce from 'debounce'; import PropTypes from 'prop-types'; diff --git a/dailyjs/shared/components/ParticipantBar/index.js b/custom/shared/components/ParticipantBar/index.js similarity index 100% rename from dailyjs/shared/components/ParticipantBar/index.js rename to custom/shared/components/ParticipantBar/index.js diff --git a/dailyjs/shared/components/ParticipantBar/useBlockScrolling.js b/custom/shared/components/ParticipantBar/useBlockScrolling.js similarity index 100% rename from dailyjs/shared/components/ParticipantBar/useBlockScrolling.js rename to custom/shared/components/ParticipantBar/useBlockScrolling.js diff --git a/dailyjs/shared/components/Tile/Tile.js b/custom/shared/components/Tile/Tile.js similarity index 97% rename from dailyjs/shared/components/Tile/Tile.js rename to custom/shared/components/Tile/Tile.js index 2fcca38..a65b0f4 100644 --- a/dailyjs/shared/components/Tile/Tile.js +++ b/custom/shared/components/Tile/Tile.js @@ -1,6 +1,6 @@ import React, { memo, useEffect, useState, useRef } from 'react'; -import useVideoTrack from '@dailyjs/shared/hooks/useVideoTrack'; -import { ReactComponent as IconMicMute } from '@dailyjs/shared/icons/mic-off-sm.svg'; +import useVideoTrack from '@custom/shared/hooks/useVideoTrack'; +import { ReactComponent as IconMicMute } from '@custom/shared/icons/mic-off-sm.svg'; import classNames from 'classnames'; import PropTypes from 'prop-types'; import { DEFAULT_ASPECT_RATIO } from '../../constants'; diff --git a/dailyjs/shared/components/Tile/Video.js b/custom/shared/components/Tile/Video.js similarity index 100% rename from dailyjs/shared/components/Tile/Video.js rename to custom/shared/components/Tile/Video.js diff --git a/dailyjs/shared/components/Tile/avatar.svg b/custom/shared/components/Tile/avatar.svg similarity index 100% rename from dailyjs/shared/components/Tile/avatar.svg rename to custom/shared/components/Tile/avatar.svg diff --git a/dailyjs/shared/components/Tile/index.js b/custom/shared/components/Tile/index.js similarity index 100% rename from dailyjs/shared/components/Tile/index.js rename to custom/shared/components/Tile/index.js diff --git a/dailyjs/shared/components/Tray/BasicTray.js b/custom/shared/components/Tray/BasicTray.js similarity index 59% rename from dailyjs/shared/components/Tray/BasicTray.js rename to custom/shared/components/Tray/BasicTray.js index b7f5aaf..abe2b2f 100644 --- a/dailyjs/shared/components/Tray/BasicTray.js +++ b/custom/shared/components/Tray/BasicTray.js @@ -1,16 +1,16 @@ import React from 'react'; -import { PEOPLE_ASIDE } from '@dailyjs/shared/components/Aside/PeopleAside'; -import { DEVICE_MODAL } from '@dailyjs/shared/components/DeviceSelectModal'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; -import { useMediaDevices } from '@dailyjs/shared/contexts/MediaDeviceProvider'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { ReactComponent as IconCameraOff } from '@dailyjs/shared/icons/camera-off-md.svg'; -import { ReactComponent as IconCameraOn } from '@dailyjs/shared/icons/camera-on-md.svg'; -import { ReactComponent as IconLeave } from '@dailyjs/shared/icons/leave-md.svg'; -import { ReactComponent as IconMicOff } from '@dailyjs/shared/icons/mic-off-md.svg'; -import { ReactComponent as IconMicOn } from '@dailyjs/shared/icons/mic-on-md.svg'; -import { ReactComponent as IconPeople } from '@dailyjs/shared/icons/people-md.svg'; -import { ReactComponent as IconSettings } from '@dailyjs/shared/icons/settings-md.svg'; +import { PEOPLE_ASIDE } from '@custom/shared/components/Aside/PeopleAside'; +import { DEVICE_MODAL } from '@custom/shared/components/DeviceSelectModal'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; +import { useMediaDevices } from '@custom/shared/contexts/MediaDeviceProvider'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; +import { ReactComponent as IconCameraOff } from '@custom/shared/icons/camera-off-md.svg'; +import { ReactComponent as IconCameraOn } from '@custom/shared/icons/camera-on-md.svg'; +import { ReactComponent as IconLeave } from '@custom/shared/icons/leave-md.svg'; +import { ReactComponent as IconMicOff } from '@custom/shared/icons/mic-off-md.svg'; +import { ReactComponent as IconMicOn } from '@custom/shared/icons/mic-on-md.svg'; +import { ReactComponent as IconPeople } from '@custom/shared/icons/people-md.svg'; +import { ReactComponent as IconSettings } from '@custom/shared/icons/settings-md.svg'; import { Tray, TrayButton } from './Tray'; export const BasicTray = () => { diff --git a/dailyjs/shared/components/Tray/Tray.js b/custom/shared/components/Tray/Tray.js similarity index 97% rename from dailyjs/shared/components/Tray/Tray.js rename to custom/shared/components/Tray/Tray.js index 8c540a4..df5c2b8 100644 --- a/dailyjs/shared/components/Tray/Tray.js +++ b/custom/shared/components/Tray/Tray.js @@ -1,5 +1,5 @@ import React from 'react'; -import Button from '@dailyjs/shared/components/Button'; +import Button from '@custom/shared/components/Button'; import classNames from 'classnames'; import PropTypes from 'prop-types'; diff --git a/dailyjs/shared/components/Tray/TrayButton.js b/custom/shared/components/Tray/TrayButton.js similarity index 93% rename from dailyjs/shared/components/Tray/TrayButton.js rename to custom/shared/components/Tray/TrayButton.js index dffece5..a39399b 100644 --- a/dailyjs/shared/components/Tray/TrayButton.js +++ b/custom/shared/components/Tray/TrayButton.js @@ -1,5 +1,5 @@ import React from 'react'; -import Button from '@dailyjs/shared/components/Button'; +import Button from '@custom/shared/components/Button'; import PropTypes from 'prop-types'; export const TrayButton = ({ children, label, onClick, orange = false }) => ( diff --git a/dailyjs/shared/components/Tray/TrayMicButton.js b/custom/shared/components/Tray/TrayMicButton.js similarity index 59% rename from dailyjs/shared/components/Tray/TrayMicButton.js rename to custom/shared/components/Tray/TrayMicButton.js index 68bea2a..f88a476 100644 --- a/dailyjs/shared/components/Tray/TrayMicButton.js +++ b/custom/shared/components/Tray/TrayMicButton.js @@ -1,8 +1,8 @@ import React from 'react'; -import { TrayButton } from '@dailyjs/shared/components/Tray'; -import { useAudioLevel } from '@dailyjs/shared/hooks/useAudioLevel'; -import { ReactComponent as IconMicOff } from '@dailyjs/shared/icons/mic-off-md.svg'; -import { ReactComponent as IconMicOn } from '@dailyjs/shared/icons/mic-on-md.svg'; +import { TrayButton } from '@custom/shared/components/Tray'; +import { useAudioLevel } from '@custom/shared/hooks/useAudioLevel'; +import { ReactComponent as IconMicOff } from '@custom/shared/icons/mic-off-md.svg'; +import { ReactComponent as IconMicOn } from '@custom/shared/icons/mic-on-md.svg'; import PropTypes from 'prop-types'; diff --git a/dailyjs/shared/components/Tray/index.js b/custom/shared/components/Tray/index.js similarity index 100% rename from dailyjs/shared/components/Tray/index.js rename to custom/shared/components/Tray/index.js diff --git a/dailyjs/shared/components/VideoContainer/VideoContainer.js b/custom/shared/components/VideoContainer/VideoContainer.js similarity index 100% rename from dailyjs/shared/components/VideoContainer/VideoContainer.js rename to custom/shared/components/VideoContainer/VideoContainer.js diff --git a/dailyjs/shared/components/VideoContainer/index.js b/custom/shared/components/VideoContainer/index.js similarity index 100% rename from dailyjs/shared/components/VideoContainer/index.js rename to custom/shared/components/VideoContainer/index.js diff --git a/dailyjs/shared/components/WaitingRoom/WaitingParticipantRow.js b/custom/shared/components/WaitingRoom/WaitingParticipantRow.js similarity index 100% rename from dailyjs/shared/components/WaitingRoom/WaitingParticipantRow.js rename to custom/shared/components/WaitingRoom/WaitingParticipantRow.js diff --git a/dailyjs/shared/components/WaitingRoom/WaitingRoomModal.js b/custom/shared/components/WaitingRoom/WaitingRoomModal.js similarity index 88% rename from dailyjs/shared/components/WaitingRoom/WaitingRoomModal.js rename to custom/shared/components/WaitingRoom/WaitingRoomModal.js index c036e2b..bdf42f2 100644 --- a/dailyjs/shared/components/WaitingRoom/WaitingRoomModal.js +++ b/custom/shared/components/WaitingRoom/WaitingRoomModal.js @@ -1,6 +1,6 @@ import React from 'react'; -import Modal from '@dailyjs/shared/components/Modal'; -import { useWaitingRoom } from '@dailyjs/shared/contexts/WaitingRoomProvider'; +import Modal from '@custom/shared/components/Modal'; +import { useWaitingRoom } from '@custom/shared/contexts/WaitingRoomProvider'; import PropTypes from 'prop-types'; import Button from '../Button'; import { WaitingParticipantRow } from './WaitingParticipantRow'; diff --git a/dailyjs/shared/components/WaitingRoom/WaitingRoomNotification.js b/custom/shared/components/WaitingRoom/WaitingRoomNotification.js similarity index 100% rename from dailyjs/shared/components/WaitingRoom/WaitingRoomNotification.js rename to custom/shared/components/WaitingRoom/WaitingRoomNotification.js diff --git a/dailyjs/shared/components/WaitingRoom/index.js b/custom/shared/components/WaitingRoom/index.js similarity index 100% rename from dailyjs/shared/components/WaitingRoom/index.js rename to custom/shared/components/WaitingRoom/index.js diff --git a/dailyjs/shared/components/Well/Well.js b/custom/shared/components/Well/Well.js similarity index 100% rename from dailyjs/shared/components/Well/Well.js rename to custom/shared/components/Well/Well.js diff --git a/dailyjs/shared/components/Well/index.js b/custom/shared/components/Well/index.js similarity index 100% rename from dailyjs/shared/components/Well/index.js rename to custom/shared/components/Well/index.js diff --git a/dailyjs/shared/constants.js b/custom/shared/constants.js similarity index 100% rename from dailyjs/shared/constants.js rename to custom/shared/constants.js diff --git a/dailyjs/shared/contexts/CallProvider.js b/custom/shared/contexts/CallProvider.js similarity index 100% rename from dailyjs/shared/contexts/CallProvider.js rename to custom/shared/contexts/CallProvider.js diff --git a/dailyjs/shared/contexts/MediaDeviceProvider.js b/custom/shared/contexts/MediaDeviceProvider.js similarity index 100% rename from dailyjs/shared/contexts/MediaDeviceProvider.js rename to custom/shared/contexts/MediaDeviceProvider.js diff --git a/dailyjs/shared/contexts/ParticipantsProvider.js b/custom/shared/contexts/ParticipantsProvider.js similarity index 99% rename from dailyjs/shared/contexts/ParticipantsProvider.js rename to custom/shared/contexts/ParticipantsProvider.js index 81b6a94..f6c9428 100644 --- a/dailyjs/shared/contexts/ParticipantsProvider.js +++ b/custom/shared/contexts/ParticipantsProvider.js @@ -10,7 +10,7 @@ import React, { import { useUIState, VIEW_MODE_SPEAKER, -} from '@dailyjs/shared/contexts/UIStateProvider'; +} from '@custom/shared/contexts/UIStateProvider'; import PropTypes from 'prop-types'; import { diff --git a/dailyjs/shared/contexts/TracksProvider.js b/custom/shared/contexts/TracksProvider.js similarity index 100% rename from dailyjs/shared/contexts/TracksProvider.js rename to custom/shared/contexts/TracksProvider.js diff --git a/dailyjs/shared/contexts/UIStateProvider.js b/custom/shared/contexts/UIStateProvider.js similarity index 100% rename from dailyjs/shared/contexts/UIStateProvider.js rename to custom/shared/contexts/UIStateProvider.js diff --git a/dailyjs/shared/contexts/WaitingRoomProvider.js b/custom/shared/contexts/WaitingRoomProvider.js similarity index 100% rename from dailyjs/shared/contexts/WaitingRoomProvider.js rename to custom/shared/contexts/WaitingRoomProvider.js diff --git a/dailyjs/shared/contexts/callState.js b/custom/shared/contexts/callState.js similarity index 100% rename from dailyjs/shared/contexts/callState.js rename to custom/shared/contexts/callState.js diff --git a/dailyjs/shared/contexts/participantsState.js b/custom/shared/contexts/participantsState.js similarity index 100% rename from dailyjs/shared/contexts/participantsState.js rename to custom/shared/contexts/participantsState.js diff --git a/dailyjs/shared/contexts/tracksState.js b/custom/shared/contexts/tracksState.js similarity index 100% rename from dailyjs/shared/contexts/tracksState.js rename to custom/shared/contexts/tracksState.js diff --git a/dailyjs/shared/contexts/useCallMachine.js b/custom/shared/contexts/useCallMachine.js similarity index 100% rename from dailyjs/shared/contexts/useCallMachine.js rename to custom/shared/contexts/useCallMachine.js diff --git a/dailyjs/shared/contexts/useDevices.js b/custom/shared/contexts/useDevices.js similarity index 100% rename from dailyjs/shared/contexts/useDevices.js rename to custom/shared/contexts/useDevices.js diff --git a/dailyjs/shared/hooks/useActiveSpeaker.js b/custom/shared/hooks/useActiveSpeaker.js similarity index 100% rename from dailyjs/shared/hooks/useActiveSpeaker.js rename to custom/shared/hooks/useActiveSpeaker.js diff --git a/dailyjs/shared/hooks/useAudioLevel.js b/custom/shared/hooks/useAudioLevel.js similarity index 100% rename from dailyjs/shared/hooks/useAudioLevel.js rename to custom/shared/hooks/useAudioLevel.js diff --git a/dailyjs/shared/hooks/useAudioTrack.js b/custom/shared/hooks/useAudioTrack.js similarity index 100% rename from dailyjs/shared/hooks/useAudioTrack.js rename to custom/shared/hooks/useAudioTrack.js diff --git a/dailyjs/shared/hooks/useCallUI.js b/custom/shared/hooks/useCallUI.js similarity index 94% rename from dailyjs/shared/hooks/useCallUI.js rename to custom/shared/hooks/useCallUI.js index ae28715..ea8c44c 100644 --- a/dailyjs/shared/hooks/useCallUI.js +++ b/custom/shared/hooks/useCallUI.js @@ -1,6 +1,6 @@ import React, { useCallback, useEffect } from 'react'; -import Loader from '@dailyjs/shared/components/Loader'; -import MessageCard from '@dailyjs/shared/components/MessageCard'; +import Loader from '@custom/shared/components/Loader'; +import MessageCard from '@custom/shared/components/MessageCard'; import { CALL_STATE_ENDED, CALL_STATE_JOINED, @@ -12,7 +12,7 @@ import { CALL_STATE_REDIRECTING, CALL_STATE_NOT_ALLOWED, CALL_STATE_EXPIRED, -} from '@dailyjs/shared/contexts/useCallMachine'; +} from '@custom/shared/contexts/useCallMachine'; import { useRouter } from 'next/router'; import HairCheck from '../components/HairCheck'; diff --git a/dailyjs/shared/hooks/useCamSubscriptions.js b/custom/shared/hooks/useCamSubscriptions.js similarity index 100% rename from dailyjs/shared/hooks/useCamSubscriptions.js rename to custom/shared/hooks/useCamSubscriptions.js diff --git a/dailyjs/shared/hooks/useJoinSound.js b/custom/shared/hooks/useJoinSound.js similarity index 100% rename from dailyjs/shared/hooks/useJoinSound.js rename to custom/shared/hooks/useJoinSound.js diff --git a/dailyjs/shared/hooks/useNetworkState.js b/custom/shared/hooks/useNetworkState.js similarity index 100% rename from dailyjs/shared/hooks/useNetworkState.js rename to custom/shared/hooks/useNetworkState.js diff --git a/dailyjs/shared/hooks/useResize.js b/custom/shared/hooks/useResize.js similarity index 100% rename from dailyjs/shared/hooks/useResize.js rename to custom/shared/hooks/useResize.js diff --git a/dailyjs/shared/hooks/useScrollbarWidth.js b/custom/shared/hooks/useScrollbarWidth.js similarity index 100% rename from dailyjs/shared/hooks/useScrollbarWidth.js rename to custom/shared/hooks/useScrollbarWidth.js diff --git a/dailyjs/shared/hooks/useSound.js b/custom/shared/hooks/useSound.js similarity index 100% rename from dailyjs/shared/hooks/useSound.js rename to custom/shared/hooks/useSound.js diff --git a/dailyjs/shared/hooks/useVideoTrack.js b/custom/shared/hooks/useVideoTrack.js similarity index 100% rename from dailyjs/shared/hooks/useVideoTrack.js rename to custom/shared/hooks/useVideoTrack.js diff --git a/dailyjs/shared/icons/add-md.svg b/custom/shared/icons/add-md.svg similarity index 100% rename from dailyjs/shared/icons/add-md.svg rename to custom/shared/icons/add-md.svg diff --git a/dailyjs/shared/icons/add-person-lg.svg b/custom/shared/icons/add-person-lg.svg similarity index 100% rename from dailyjs/shared/icons/add-person-lg.svg rename to custom/shared/icons/add-person-lg.svg diff --git a/dailyjs/shared/icons/avatar-md.svg b/custom/shared/icons/avatar-md.svg similarity index 100% rename from dailyjs/shared/icons/avatar-md.svg rename to custom/shared/icons/avatar-md.svg diff --git a/dailyjs/shared/icons/camera-off-md.svg b/custom/shared/icons/camera-off-md.svg similarity index 100% rename from dailyjs/shared/icons/camera-off-md.svg rename to custom/shared/icons/camera-off-md.svg diff --git a/dailyjs/shared/icons/camera-off-sm.svg b/custom/shared/icons/camera-off-sm.svg similarity index 100% rename from dailyjs/shared/icons/camera-off-sm.svg rename to custom/shared/icons/camera-off-sm.svg diff --git a/dailyjs/shared/icons/camera-on-md.svg b/custom/shared/icons/camera-on-md.svg similarity index 100% rename from dailyjs/shared/icons/camera-on-md.svg rename to custom/shared/icons/camera-on-md.svg diff --git a/dailyjs/shared/icons/camera-on-sm.svg b/custom/shared/icons/camera-on-sm.svg similarity index 100% rename from dailyjs/shared/icons/camera-on-sm.svg rename to custom/shared/icons/camera-on-sm.svg diff --git a/dailyjs/shared/icons/chat-md.svg b/custom/shared/icons/chat-md.svg similarity index 100% rename from dailyjs/shared/icons/chat-md.svg rename to custom/shared/icons/chat-md.svg diff --git a/dailyjs/shared/icons/close-sm.svg b/custom/shared/icons/close-sm.svg similarity index 100% rename from dailyjs/shared/icons/close-sm.svg rename to custom/shared/icons/close-sm.svg diff --git a/dailyjs/shared/icons/leave-md.svg b/custom/shared/icons/leave-md.svg similarity index 100% rename from dailyjs/shared/icons/leave-md.svg rename to custom/shared/icons/leave-md.svg diff --git a/dailyjs/shared/icons/mic-off-md.svg b/custom/shared/icons/mic-off-md.svg similarity index 100% rename from dailyjs/shared/icons/mic-off-md.svg rename to custom/shared/icons/mic-off-md.svg diff --git a/dailyjs/shared/icons/mic-off-sm.svg b/custom/shared/icons/mic-off-sm.svg similarity index 100% rename from dailyjs/shared/icons/mic-off-sm.svg rename to custom/shared/icons/mic-off-sm.svg diff --git a/dailyjs/shared/icons/mic-on-md.svg b/custom/shared/icons/mic-on-md.svg similarity index 100% rename from dailyjs/shared/icons/mic-on-md.svg rename to custom/shared/icons/mic-on-md.svg diff --git a/dailyjs/shared/icons/mic-on-sm.svg b/custom/shared/icons/mic-on-sm.svg similarity index 100% rename from dailyjs/shared/icons/mic-on-sm.svg rename to custom/shared/icons/mic-on-sm.svg diff --git a/dailyjs/shared/icons/people-md.svg b/custom/shared/icons/people-md.svg similarity index 100% rename from dailyjs/shared/icons/people-md.svg rename to custom/shared/icons/people-md.svg diff --git a/dailyjs/shared/icons/raquo-md.svg b/custom/shared/icons/raquo-md.svg similarity index 100% rename from dailyjs/shared/icons/raquo-md.svg rename to custom/shared/icons/raquo-md.svg diff --git a/dailyjs/shared/icons/record-md.svg b/custom/shared/icons/record-md.svg similarity index 100% rename from dailyjs/shared/icons/record-md.svg rename to custom/shared/icons/record-md.svg diff --git a/dailyjs/shared/icons/settings-md.svg b/custom/shared/icons/settings-md.svg similarity index 100% rename from dailyjs/shared/icons/settings-md.svg rename to custom/shared/icons/settings-md.svg diff --git a/dailyjs/shared/icons/settings-sm.svg b/custom/shared/icons/settings-sm.svg similarity index 100% rename from dailyjs/shared/icons/settings-sm.svg rename to custom/shared/icons/settings-sm.svg diff --git a/dailyjs/shared/icons/star-md.svg b/custom/shared/icons/star-md.svg similarity index 100% rename from dailyjs/shared/icons/star-md.svg rename to custom/shared/icons/star-md.svg diff --git a/dailyjs/shared/icons/streaming-md.svg b/custom/shared/icons/streaming-md.svg similarity index 100% rename from dailyjs/shared/icons/streaming-md.svg rename to custom/shared/icons/streaming-md.svg diff --git a/dailyjs/shared/index.js b/custom/shared/index.js similarity index 100% rename from dailyjs/shared/index.js rename to custom/shared/index.js diff --git a/dailyjs/shared/lib/demoProps.js b/custom/shared/lib/demoProps.js similarity index 100% rename from dailyjs/shared/lib/demoProps.js rename to custom/shared/lib/demoProps.js diff --git a/dailyjs/shared/lib/mediaUtils.js b/custom/shared/lib/mediaUtils.js similarity index 100% rename from dailyjs/shared/lib/mediaUtils.js rename to custom/shared/lib/mediaUtils.js diff --git a/dailyjs/shared/lib/sortByKey.js b/custom/shared/lib/sortByKey.js similarity index 100% rename from dailyjs/shared/lib/sortByKey.js rename to custom/shared/lib/sortByKey.js diff --git a/dailyjs/shared/lib/sortLastActive.js b/custom/shared/lib/sortLastActive.js similarity index 100% rename from dailyjs/shared/lib/sortLastActive.js rename to custom/shared/lib/sortLastActive.js diff --git a/dailyjs/shared/lib/token.js b/custom/shared/lib/token.js similarity index 100% rename from dailyjs/shared/lib/token.js rename to custom/shared/lib/token.js diff --git a/dailyjs/shared/package.json b/custom/shared/package.json similarity index 94% rename from dailyjs/shared/package.json rename to custom/shared/package.json index 0c0a123..eddb7ea 100644 --- a/dailyjs/shared/package.json +++ b/custom/shared/package.json @@ -1,5 +1,5 @@ { - "name": "@dailyjs/shared", + "name": "@custom/shared", "version": "0.1.0", "private": true, "main": "index.js", diff --git a/dailyjs/shared/styles/defaultTheme.js b/custom/shared/styles/defaultTheme.js similarity index 100% rename from dailyjs/shared/styles/defaultTheme.js rename to custom/shared/styles/defaultTheme.js diff --git a/dailyjs/shared/styles/global.js b/custom/shared/styles/global.js similarity index 100% rename from dailyjs/shared/styles/global.js rename to custom/shared/styles/global.js diff --git a/dailyjs/text-chat/.babelrc b/custom/text-chat/.babelrc similarity index 100% rename from dailyjs/text-chat/.babelrc rename to custom/text-chat/.babelrc diff --git a/dailyjs/text-chat/README.md b/custom/text-chat/README.md similarity index 93% rename from dailyjs/text-chat/README.md rename to custom/text-chat/README.md index 6703492..47e5b37 100644 --- a/dailyjs/text-chat/README.md +++ b/custom/text-chat/README.md @@ -4,7 +4,7 @@ ### Live example -**[See it in action here ➡️](https://dailyjs-text-chat.vercel.app)** +**[See it in action here ➡️](https://custom-text-chat.vercel.app)** --- @@ -25,7 +25,7 @@ Please note: this demo is not currently mobile optimised mv env.example .env.local yarn -yarn workspace @dailyjs/text-chat dev +yarn workspace @custom/text-chat dev ``` ## How does this example work? diff --git a/dailyjs/text-chat/components/App/App.js b/custom/text-chat/components/App/App.js similarity index 83% rename from dailyjs/text-chat/components/App/App.js rename to custom/text-chat/components/App/App.js index 7a9a4ce..2cd8161 100644 --- a/dailyjs/text-chat/components/App/App.js +++ b/custom/text-chat/components/App/App.js @@ -1,6 +1,6 @@ import React from 'react'; -import App from '@dailyjs/basic-call/components/App'; +import App from '@custom/basic-call/components/App'; import { ChatProvider } from '../../contexts/ChatProvider'; // Extend our basic call app component with the chat context diff --git a/dailyjs/text-chat/components/App/index.js b/custom/text-chat/components/App/index.js similarity index 100% rename from dailyjs/text-chat/components/App/index.js rename to custom/text-chat/components/App/index.js diff --git a/dailyjs/text-chat/components/ChatAside/ChatAside.js b/custom/text-chat/components/ChatAside/ChatAside.js similarity index 93% rename from dailyjs/text-chat/components/ChatAside/ChatAside.js rename to custom/text-chat/components/ChatAside/ChatAside.js index 830731a..cc9d8ae 100644 --- a/dailyjs/text-chat/components/ChatAside/ChatAside.js +++ b/custom/text-chat/components/ChatAside/ChatAside.js @@ -1,8 +1,8 @@ import React, { useEffect, useRef, useState } from 'react'; -import { Aside } from '@dailyjs/shared/components/Aside'; -import Button from '@dailyjs/shared/components/Button'; -import { TextInput } from '@dailyjs/shared/components/Input'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; +import { Aside } from '@custom/shared/components/Aside'; +import Button from '@custom/shared/components/Button'; +import { TextInput } from '@custom/shared/components/Input'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; import { useChat } from '../../contexts/ChatProvider'; import { useMessageSound } from '../../hooks/useMessageSound'; diff --git a/dailyjs/text-chat/components/ChatAside/index.js b/custom/text-chat/components/ChatAside/index.js similarity index 100% rename from dailyjs/text-chat/components/ChatAside/index.js rename to custom/text-chat/components/ChatAside/index.js diff --git a/dailyjs/text-chat/components/Tray/Tray.js b/custom/text-chat/components/Tray/Tray.js similarity index 68% rename from dailyjs/text-chat/components/Tray/Tray.js rename to custom/text-chat/components/Tray/Tray.js index b9b12c8..e7115e0 100644 --- a/dailyjs/text-chat/components/Tray/Tray.js +++ b/custom/text-chat/components/Tray/Tray.js @@ -1,8 +1,8 @@ import React from 'react'; -import { TrayButton } from '@dailyjs/shared/components/Tray'; -import { useUIState } from '@dailyjs/shared/contexts/UIStateProvider'; -import { ReactComponent as IconChat } from '@dailyjs/shared/icons/chat-md.svg'; +import { TrayButton } from '@custom/shared/components/Tray'; +import { useUIState } from '@custom/shared/contexts/UIStateProvider'; +import { ReactComponent as IconChat } from '@custom/shared/icons/chat-md.svg'; import { useChat } from '../../contexts/ChatProvider'; import { CHAT_ASIDE } from '../ChatAside/ChatAside'; diff --git a/dailyjs/text-chat/components/Tray/index.js b/custom/text-chat/components/Tray/index.js similarity index 100% rename from dailyjs/text-chat/components/Tray/index.js rename to custom/text-chat/components/Tray/index.js diff --git a/dailyjs/text-chat/contexts/ChatProvider.js b/custom/text-chat/contexts/ChatProvider.js similarity index 96% rename from dailyjs/text-chat/contexts/ChatProvider.js rename to custom/text-chat/contexts/ChatProvider.js index 6ad611a..db90609 100644 --- a/dailyjs/text-chat/contexts/ChatProvider.js +++ b/custom/text-chat/contexts/ChatProvider.js @@ -5,7 +5,7 @@ import React, { useEffect, useState, } from 'react'; -import { useCallState } from '@dailyjs/shared/contexts/CallProvider'; +import { useCallState } from '@custom/shared/contexts/CallProvider'; import { nanoid } from 'nanoid'; import PropTypes from 'prop-types'; diff --git a/dailyjs/text-chat/env.example b/custom/text-chat/env.example similarity index 100% rename from dailyjs/text-chat/env.example rename to custom/text-chat/env.example diff --git a/dailyjs/text-chat/hooks/useMessageSound.js b/custom/text-chat/hooks/useMessageSound.js similarity index 87% rename from dailyjs/text-chat/hooks/useMessageSound.js rename to custom/text-chat/hooks/useMessageSound.js index 3324693..7449e10 100644 --- a/dailyjs/text-chat/hooks/useMessageSound.js +++ b/custom/text-chat/hooks/useMessageSound.js @@ -1,6 +1,6 @@ import { useEffect, useMemo } from 'react'; -import { useSound } from '@dailyjs/shared/hooks/useSound'; +import { useSound } from '@custom/shared/hooks/useSound'; import { debounce } from 'debounce'; /** diff --git a/dailyjs/text-chat/image.png b/custom/text-chat/image.png similarity index 100% rename from dailyjs/text-chat/image.png rename to custom/text-chat/image.png diff --git a/dailyjs/text-chat/index.js b/custom/text-chat/index.js similarity index 100% rename from dailyjs/text-chat/index.js rename to custom/text-chat/index.js diff --git a/custom/text-chat/next.config.js b/custom/text-chat/next.config.js new file mode 100644 index 0000000..9140e28 --- /dev/null +++ b/custom/text-chat/next.config.js @@ -0,0 +1,13 @@ +const withPlugins = require('next-compose-plugins'); +const withTM = require('next-transpile-modules')([ + '@custom/shared', + '@custom/basic-call', +]); + +const packageJson = require('./package.json'); + +module.exports = withPlugins([withTM], { + env: { + PROJECT_TITLE: packageJson.description, + }, +}); diff --git a/dailyjs/text-chat/package.json b/custom/text-chat/package.json similarity index 84% rename from dailyjs/text-chat/package.json rename to custom/text-chat/package.json index cd719e9..c2a4c9a 100644 --- a/dailyjs/text-chat/package.json +++ b/custom/text-chat/package.json @@ -1,5 +1,5 @@ { - "name": "@dailyjs/text-chat", + "name": "@custom/text-chat", "description": "Basic Call + Chat Example", "version": "0.1.0", "private": true, @@ -10,8 +10,8 @@ "lint": "next lint" }, "dependencies": { - "@dailyjs/shared": "*", - "@dailyjs/basic-call": "*", + "@custom/shared": "*", + "@custom/basic-call": "*", "next": "^11.0.0", "pluralize": "^8.0.0", "react": "^17.0.2", diff --git a/dailyjs/text-chat/pages/_app.js b/custom/text-chat/pages/_app.js similarity index 85% rename from dailyjs/text-chat/pages/_app.js rename to custom/text-chat/pages/_app.js index ad38f4e..64121fa 100644 --- a/dailyjs/text-chat/pages/_app.js +++ b/custom/text-chat/pages/_app.js @@ -1,5 +1,5 @@ import React from 'react'; -import App from '@dailyjs/basic-call/pages/_app'; +import App from '@custom/basic-call/pages/_app'; import AppWithChat from '../components/App'; import ChatAside from '../components/ChatAside'; diff --git a/dailyjs/text-chat/pages/api b/custom/text-chat/pages/api similarity index 100% rename from dailyjs/text-chat/pages/api rename to custom/text-chat/pages/api diff --git a/dailyjs/text-chat/pages/index.js b/custom/text-chat/pages/index.js similarity index 63% rename from dailyjs/text-chat/pages/index.js rename to custom/text-chat/pages/index.js index d25e77e..84a3f53 100644 --- a/dailyjs/text-chat/pages/index.js +++ b/custom/text-chat/pages/index.js @@ -1,5 +1,5 @@ -import Index from '@dailyjs/basic-call/pages'; -import getDemoProps from '@dailyjs/shared/lib/demoProps'; +import Index from '@custom/basic-call/pages'; +import getDemoProps from '@custom/shared/lib/demoProps'; export async function getStaticProps() { const defaultProps = getDemoProps(); diff --git a/dailyjs/text-chat/public/assets/daily-logo-dark.svg b/custom/text-chat/public/assets/daily-logo-dark.svg similarity index 100% rename from dailyjs/text-chat/public/assets/daily-logo-dark.svg rename to custom/text-chat/public/assets/daily-logo-dark.svg diff --git a/dailyjs/text-chat/public/assets/daily-logo.svg b/custom/text-chat/public/assets/daily-logo.svg similarity index 100% rename from dailyjs/text-chat/public/assets/daily-logo.svg rename to custom/text-chat/public/assets/daily-logo.svg diff --git a/dailyjs/text-chat/public/assets/join.mp3 b/custom/text-chat/public/assets/join.mp3 similarity index 100% rename from dailyjs/text-chat/public/assets/join.mp3 rename to custom/text-chat/public/assets/join.mp3 diff --git a/dailyjs/text-chat/public/assets/message.mp3 b/custom/text-chat/public/assets/message.mp3 similarity index 100% rename from dailyjs/text-chat/public/assets/message.mp3 rename to custom/text-chat/public/assets/message.mp3 diff --git a/dailyjs/text-chat/public/assets/pattern-bg.png b/custom/text-chat/public/assets/pattern-bg.png similarity index 100% rename from dailyjs/text-chat/public/assets/pattern-bg.png rename to custom/text-chat/public/assets/pattern-bg.png diff --git a/dailyjs/text-chat/next.config.js b/dailyjs/text-chat/next.config.js deleted file mode 100644 index 9a0a6ee..0000000 --- a/dailyjs/text-chat/next.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const withPlugins = require('next-compose-plugins'); -const withTM = require('next-transpile-modules')([ - '@dailyjs/shared', - '@dailyjs/basic-call', -]); - -const packageJson = require('./package.json'); - -module.exports = withPlugins([withTM], { - env: { - PROJECT_TITLE: packageJson.description, - }, -}); diff --git a/package.json b/package.json index 6ac8fe8..f09ac5a 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "license": "MIT", "private": true, "workspaces": [ - "dailyjs/*", + "custom/*", "prebuilt-ui/*" ], "engines": { From a65e97ee9a896f88548921d356c39396623533c6 Mon Sep 17 00:00:00 2001 From: J Taylor Date: Tue, 28 Sep 2021 12:31:05 +0100 Subject: [PATCH 6/9] added network performance tab --- custom/basic-call/components/App/Asides.js | 4 +- custom/live-fitness/.babelrc | 4 - custom/live-fitness/README.md | 0 custom/live-fitness/components/App/App.js | 13 --- custom/live-fitness/components/App/index.js | 1 - custom/live-fitness/components/Tray/Tray.js | 47 -------- custom/live-fitness/components/Tray/index.js | 1 - custom/live-fitness/env.example | 8 -- custom/live-fitness/next.config.js | 13 --- custom/live-fitness/package.json | 25 ---- custom/live-fitness/pages/_app.js | 12 -- custom/live-fitness/pages/api | 1 - custom/live-fitness/pages/index.js | 16 --- custom/live-fitness/public | 1 - .../shared/components/Aside/NetworkAside.js | 107 ++++++++++++++++++ custom/shared/components/Aside/index.js | 1 + custom/shared/components/Capsule/Capsule.js | 42 +++++++ custom/shared/components/Capsule/index.js | 1 + .../components/MessageCard/MessageCard.js | 4 +- custom/shared/components/Tray/BasicTray.js | 6 +- custom/shared/hooks/useCallUI.js | 9 +- custom/shared/icons/network-md.svg | 1 + 22 files changed, 165 insertions(+), 152 deletions(-) delete mode 100644 custom/live-fitness/.babelrc delete mode 100644 custom/live-fitness/README.md delete mode 100644 custom/live-fitness/components/App/App.js delete mode 100644 custom/live-fitness/components/App/index.js delete mode 100644 custom/live-fitness/components/Tray/Tray.js delete mode 100644 custom/live-fitness/components/Tray/index.js delete mode 100644 custom/live-fitness/env.example delete mode 100644 custom/live-fitness/next.config.js delete mode 100644 custom/live-fitness/package.json delete mode 100644 custom/live-fitness/pages/_app.js delete mode 120000 custom/live-fitness/pages/api delete mode 100644 custom/live-fitness/pages/index.js delete mode 120000 custom/live-fitness/public create mode 100644 custom/shared/components/Aside/NetworkAside.js create mode 100644 custom/shared/components/Capsule/Capsule.js create mode 100644 custom/shared/components/Capsule/index.js create mode 100644 custom/shared/icons/network-md.svg diff --git a/custom/basic-call/components/App/Asides.js b/custom/basic-call/components/App/Asides.js index be0e418..4afbca0 100644 --- a/custom/basic-call/components/App/Asides.js +++ b/custom/basic-call/components/App/Asides.js @@ -1,5 +1,6 @@ import React from 'react'; -import { PeopleAside } from '@custom/shared/components/Aside/PeopleAside'; +import { NetworkAside } from '@custom/shared/components/Aside'; +import { PeopleAside } from '@custom/shared/components/Aside'; import { useUIState } from '@custom/shared/contexts/UIStateProvider'; export const Asides = () => { @@ -8,6 +9,7 @@ export const Asides = () => { return ( <> + {asides.map((AsideComponent) => ( ))} diff --git a/custom/live-fitness/.babelrc b/custom/live-fitness/.babelrc deleted file mode 100644 index a6f4434..0000000 --- a/custom/live-fitness/.babelrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "presets": ["next/babel"], - "plugins": ["inline-react-svg"] -} diff --git a/custom/live-fitness/README.md b/custom/live-fitness/README.md deleted file mode 100644 index e69de29..0000000 diff --git a/custom/live-fitness/components/App/App.js b/custom/live-fitness/components/App/App.js deleted file mode 100644 index 2d44366..0000000 --- a/custom/live-fitness/components/App/App.js +++ /dev/null @@ -1,13 +0,0 @@ -import React from 'react'; - -import App from '@custom/basic-call/components/App'; -import { RecordingProvider } from '../../contexts/RecordingProvider'; - -// Extend our basic call app component with the recording context -export const AppWithRecording = () => ( - - - -); - -export default AppWithRecording; diff --git a/custom/live-fitness/components/App/index.js b/custom/live-fitness/components/App/index.js deleted file mode 100644 index 82a89dc..0000000 --- a/custom/live-fitness/components/App/index.js +++ /dev/null @@ -1 +0,0 @@ -export { AppWithRecording as default } from './App'; diff --git a/custom/live-fitness/components/Tray/Tray.js b/custom/live-fitness/components/Tray/Tray.js deleted file mode 100644 index 2c12cae..0000000 --- a/custom/live-fitness/components/Tray/Tray.js +++ /dev/null @@ -1,47 +0,0 @@ -import React, { useEffect } from 'react'; - -import { TrayButton } from '@custom/shared/components/Tray'; -import { useUIState } from '@custom/shared/contexts/UIStateProvider'; -import { ReactComponent as IconRecord } from '@custom/shared/icons/record-md.svg'; - -import { - RECORDING_ERROR, - RECORDING_RECORDING, - RECORDING_SAVED, - RECORDING_UPLOADING, - useRecording, -} from '../../contexts/RecordingProvider'; -import { RECORDING_MODAL } from '../RecordingModal'; - -export const Tray = () => { - const { openModal } = useUIState(); - const { recordingState } = useRecording(); - - useEffect(() => { - console.log(`⏺️ Recording state: ${recordingState}`); - - if (recordingState === RECORDING_ERROR) { - // show error modal here - } - }, [recordingState]); - - const isRecording = [ - RECORDING_RECORDING, - RECORDING_UPLOADING, - RECORDING_SAVED, - ].includes(recordingState); - - return ( - <> - openModal(RECORDING_MODAL)} - > - - - - ); -}; - -export default Tray; diff --git a/custom/live-fitness/components/Tray/index.js b/custom/live-fitness/components/Tray/index.js deleted file mode 100644 index 100bcc8..0000000 --- a/custom/live-fitness/components/Tray/index.js +++ /dev/null @@ -1 +0,0 @@ -export { Tray as default } from './Tray'; diff --git a/custom/live-fitness/env.example b/custom/live-fitness/env.example deleted file mode 100644 index 5ab7e03..0000000 --- a/custom/live-fitness/env.example +++ /dev/null @@ -1,8 +0,0 @@ -# Domain excluding 'https://' and 'daily.co' e.g. 'somedomain' -DAILY_DOMAIN= - -# Obtained from https://dashboard.daily.co/developers -DAILY_API_KEY= - -# Daily REST API endpoint -DAILY_REST_DOMAIN=https://api.daily.co/v1 diff --git a/custom/live-fitness/next.config.js b/custom/live-fitness/next.config.js deleted file mode 100644 index 9140e28..0000000 --- a/custom/live-fitness/next.config.js +++ /dev/null @@ -1,13 +0,0 @@ -const withPlugins = require('next-compose-plugins'); -const withTM = require('next-transpile-modules')([ - '@custom/shared', - '@custom/basic-call', -]); - -const packageJson = require('./package.json'); - -module.exports = withPlugins([withTM], { - env: { - PROJECT_TITLE: packageJson.description, - }, -}); diff --git a/custom/live-fitness/package.json b/custom/live-fitness/package.json deleted file mode 100644 index dab6395..0000000 --- a/custom/live-fitness/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "@custom/live-fitness", - "description": "Live Fitness", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@custom/shared": "*", - "@custom/basic-call": "*", - "next": "^11.0.0", - "pluralize": "^8.0.0", - "react": "^17.0.2", - "react-dom": "^17.0.2" - }, - "devDependencies": { - "babel-plugin-module-resolver": "^4.1.0", - "next-compose-plugins": "^2.2.1", - "next-transpile-modules": "^8.0.0" - } -} diff --git a/custom/live-fitness/pages/_app.js b/custom/live-fitness/pages/_app.js deleted file mode 100644 index 7636341..0000000 --- a/custom/live-fitness/pages/_app.js +++ /dev/null @@ -1,12 +0,0 @@ -import React from 'react'; -import App from '@custom/basic-call/pages/_app'; -import AppWithRecording from '../components/App'; - -import { RecordingModal } from '../components/RecordingModal'; -import Tray from '../components/Tray'; - -App.modals = [RecordingModal]; -App.customAppComponent = ; -App.customTrayComponent = ; - -export default App; diff --git a/custom/live-fitness/pages/api b/custom/live-fitness/pages/api deleted file mode 120000 index 999f604..0000000 --- a/custom/live-fitness/pages/api +++ /dev/null @@ -1 +0,0 @@ -../../basic-call/pages/api \ No newline at end of file diff --git a/custom/live-fitness/pages/index.js b/custom/live-fitness/pages/index.js deleted file mode 100644 index f61b429..0000000 --- a/custom/live-fitness/pages/index.js +++ /dev/null @@ -1,16 +0,0 @@ -import Index from '@custom/basic-call/pages'; -import getDemoProps from '@custom/shared/lib/demoProps'; - -export async function getStaticProps() { - const defaultProps = getDemoProps(); - - return { - props: { - ...defaultProps, - forceFetchToken: true, - forceOwner: true, - }, - }; -} - -export default Index; diff --git a/custom/live-fitness/public b/custom/live-fitness/public deleted file mode 120000 index 33a6e67..0000000 --- a/custom/live-fitness/public +++ /dev/null @@ -1 +0,0 @@ -../basic-call/public \ No newline at end of file diff --git a/custom/shared/components/Aside/NetworkAside.js b/custom/shared/components/Aside/NetworkAside.js new file mode 100644 index 0000000..0f4d61c --- /dev/null +++ b/custom/shared/components/Aside/NetworkAside.js @@ -0,0 +1,107 @@ +import React, { useCallback, useMemo, useEffect, useState } from 'react'; +import { Aside } from '@custom/shared/components/Aside'; +import { useCallState } from '../../contexts/CallProvider'; +import { useUIState } from '../../contexts/UIStateProvider'; +import Capsule from '../Capsule'; + +export const NETWORK_ASIDE = 'network'; + +const NETWORK_QUALITY_LABELS = { + low: 'Low', + 'very-low': 'Very Low', + good: 'Good', +}; + +export const NetworkAside = () => { + const { callObject } = useCallState(); + const { showAside, setShowAside } = useUIState(); + const [networkStats, setNetworkStats] = useState(); + + const updateStats = useCallback(async () => { + setNetworkStats(await callObject.getNetworkStats()); + }, [callObject]); + + useEffect(() => { + if (!callObject) { + return; + } + + updateStats(); + + const i = setInterval(updateStats, 2000); + + return () => clearInterval(i); + }, [callObject, updateStats]); + + const downloadKbs = useMemo( + () => + Math.round( + (networkStats?.stats?.latest?.videoRecvBitsPerSecond ?? 0) / 1000 + ), + [networkStats] + ); + + const uploadKbs = useMemo( + () => + Math.round( + (networkStats?.stats?.latest?.videoSendBitsPerSecond ?? 0) / 1000 + ), + [networkStats] + ); + + if (!showAside || showAside !== NETWORK_ASIDE) { + return null; + } + + return ( + + ); +}; + +export default NetworkAside; diff --git a/custom/shared/components/Aside/index.js b/custom/shared/components/Aside/index.js index 072ca0e..b21056d 100644 --- a/custom/shared/components/Aside/index.js +++ b/custom/shared/components/Aside/index.js @@ -1,2 +1,3 @@ export { Aside } from './Aside'; export { PeopleAside } from './PeopleAside'; +export { NetworkAside } from './NetworkAside'; diff --git a/custom/shared/components/Capsule/Capsule.js b/custom/shared/components/Capsule/Capsule.js new file mode 100644 index 0000000..09362b0 --- /dev/null +++ b/custom/shared/components/Capsule/Capsule.js @@ -0,0 +1,42 @@ +import React from 'react'; +import classNames from 'classnames'; +import PropTypes from 'prop-types'; + +export const Capsule = ({ children, variant }) => ( + + {children} + + +); + +Capsule.propTypes = { + children: PropTypes.node, + variant: PropTypes.oneOf(['success', 'warning', 'error', 'info']), +}; + +export default Capsule; diff --git a/custom/shared/components/Capsule/index.js b/custom/shared/components/Capsule/index.js new file mode 100644 index 0000000..eb1b21c --- /dev/null +++ b/custom/shared/components/Capsule/index.js @@ -0,0 +1 @@ +export { Capsule as default } from './Capsule'; diff --git a/custom/shared/components/MessageCard/MessageCard.js b/custom/shared/components/MessageCard/MessageCard.js index 425f54e..ad48d65 100644 --- a/custom/shared/components/MessageCard/MessageCard.js +++ b/custom/shared/components/MessageCard/MessageCard.js @@ -15,7 +15,7 @@ export const MessageCard = ({ hideBack = false, onBack, }) => ( - + {header && {header}} {children && {children}} {!hideBack && ( @@ -23,7 +23,7 @@ export const MessageCard = ({ {onBack ? ( ) : ( - + )} )} diff --git a/custom/shared/components/Tray/BasicTray.js b/custom/shared/components/Tray/BasicTray.js index abe2b2f..d9a80fb 100644 --- a/custom/shared/components/Tray/BasicTray.js +++ b/custom/shared/components/Tray/BasicTray.js @@ -1,4 +1,5 @@ import React from 'react'; +import { NETWORK_ASIDE } from '@custom/shared/components/Aside/NetworkAside'; import { PEOPLE_ASIDE } from '@custom/shared/components/Aside/PeopleAside'; import { DEVICE_MODAL } from '@custom/shared/components/DeviceSelectModal'; import { useCallState } from '@custom/shared/contexts/CallProvider'; @@ -9,6 +10,7 @@ import { ReactComponent as IconCameraOn } from '@custom/shared/icons/camera-on-m import { ReactComponent as IconLeave } from '@custom/shared/icons/leave-md.svg'; import { ReactComponent as IconMicOff } from '@custom/shared/icons/mic-off-md.svg'; import { ReactComponent as IconMicOn } from '@custom/shared/icons/mic-on-md.svg'; +import { ReactComponent as IconNetwork } from '@custom/shared/icons/network-md.svg'; import { ReactComponent as IconPeople } from '@custom/shared/icons/people-md.svg'; import { ReactComponent as IconSettings } from '@custom/shared/icons/settings-md.svg'; import { Tray, TrayButton } from './Tray'; @@ -47,7 +49,9 @@ export const BasicTray = () => { openModal(DEVICE_MODAL)}> - + toggleAside(NETWORK_ASIDE)}> + + toggleAside(PEOPLE_ASIDE)}> diff --git a/custom/shared/hooks/useCallUI.js b/custom/shared/hooks/useCallUI.js index ea8c44c..846db8f 100644 --- a/custom/shared/hooks/useCallUI.js +++ b/custom/shared/hooks/useCallUI.js @@ -81,7 +81,8 @@ export const useCallUI = ({ callEnded() ) : ( - You have left the call. We hope you had fun! + You have left the call (either manually or because the room + expired). We hope you had fun! ); default: @@ -89,11 +90,7 @@ export const useCallUI = ({ } return ( - window.location.reload()} - > + A fatal error occured in the call loop. Please check you have entered a valid DAILY_DOMAIN and DAILY_API_KEY{' '} environmental variables. diff --git a/custom/shared/icons/network-md.svg b/custom/shared/icons/network-md.svg new file mode 100644 index 0000000..1259c14 --- /dev/null +++ b/custom/shared/icons/network-md.svg @@ -0,0 +1 @@ + \ No newline at end of file From 45ab2a07102976ef0258a2e1bff464ab5e75936b Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 29 Sep 2021 13:50:50 +0100 Subject: [PATCH 7/9] updated each demo --- custom/basic-call/components/App/App.js | 2 +- custom/basic-call/components/Call/Header.js | 3 ++- .../basic-call/components/Prejoin/CreatingRoom.js | 2 +- custom/basic-call/pages/api/createRoom.js | 4 ++-- custom/flying-emojis/components/{App => }/App.js | 2 +- custom/flying-emojis/components/App/index.js | 1 - .../components/FlyingEmojis/index.js | 2 -- .../{FlyingEmojis => }/FlyingEmojisOverlay.js | 0 .../flying-emojis/components/{Tray => }/Tray.js | 0 custom/flying-emojis/components/Tray/index.js | 1 - custom/flying-emojis/pages/_document.js | 3 +++ custom/pagination/{components/App => }/App.js | 0 custom/pagination/components/App.js | 15 +++++++++++++++ custom/pagination/components/App/index.js | 1 - .../PaginatedVideoGrid.js | 0 .../components/PaginatedVideoGrid/index.js | 1 - custom/pagination/components/{Tray => }/Tray.js | 0 custom/pagination/components/Tray/index.js | 1 - custom/pagination/pages/_document.js | 3 +++ custom/recording/components/{App => }/App.js | 2 +- custom/recording/components/App/index.js | 1 - .../{RecordingModal => }/RecordingModal.js | 5 +++-- .../recording/components/RecordingModal/index.js | 3 --- custom/recording/components/{Tray => }/Tray.js | 4 ++-- custom/recording/components/Tray/index.js | 1 - custom/recording/pages/_document.js | 3 +++ custom/shared/hooks/useCallUI.js | 2 +- custom/text-chat/components/{App => }/App.js | 2 +- custom/text-chat/components/App/index.js | 1 - .../components/{ChatAside => }/ChatAside.js | 4 ++-- custom/text-chat/components/ChatAside/index.js | 1 - custom/text-chat/components/{Tray => }/Tray.js | 4 ++-- custom/text-chat/components/Tray/index.js | 1 - custom/text-chat/pages/_document.js | 3 +++ 34 files changed, 46 insertions(+), 32 deletions(-) rename custom/flying-emojis/components/{App => }/App.js (74%) delete mode 100644 custom/flying-emojis/components/App/index.js delete mode 100644 custom/flying-emojis/components/FlyingEmojis/index.js rename custom/flying-emojis/components/{FlyingEmojis => }/FlyingEmojisOverlay.js (100%) rename custom/flying-emojis/components/{Tray => }/Tray.js (100%) delete mode 100644 custom/flying-emojis/components/Tray/index.js create mode 100644 custom/flying-emojis/pages/_document.js rename custom/pagination/{components/App => }/App.js (100%) create mode 100644 custom/pagination/components/App.js delete mode 100644 custom/pagination/components/App/index.js rename custom/pagination/components/{PaginatedVideoGrid => }/PaginatedVideoGrid.js (100%) delete mode 100644 custom/pagination/components/PaginatedVideoGrid/index.js rename custom/pagination/components/{Tray => }/Tray.js (100%) delete mode 100644 custom/pagination/components/Tray/index.js create mode 100644 custom/pagination/pages/_document.js rename custom/recording/components/{App => }/App.js (80%) delete mode 100644 custom/recording/components/App/index.js rename custom/recording/components/{RecordingModal => }/RecordingModal.js (96%) delete mode 100644 custom/recording/components/RecordingModal/index.js rename custom/recording/components/{Tray => }/Tray.js (91%) delete mode 100644 custom/recording/components/Tray/index.js create mode 100644 custom/recording/pages/_document.js rename custom/text-chat/components/{App => }/App.js (81%) delete mode 100644 custom/text-chat/components/App/index.js rename custom/text-chat/components/{ChatAside => }/ChatAside.js (96%) delete mode 100644 custom/text-chat/components/ChatAside/index.js rename custom/text-chat/components/{Tray => }/Tray.js (83%) delete mode 100644 custom/text-chat/components/Tray/index.js create mode 100644 custom/text-chat/pages/_document.js diff --git a/custom/basic-call/components/App/App.js b/custom/basic-call/components/App/App.js index ecf4378..81b43d9 100644 --- a/custom/basic-call/components/App/App.js +++ b/custom/basic-call/components/App/App.js @@ -13,7 +13,7 @@ export const App = ({ customComponentForState }) => { const componentForState = useCallUI({ state, - room: () => , + room: , ...customComponentForState, }); diff --git a/custom/basic-call/components/Call/Header.js b/custom/basic-call/components/Call/Header.js index bde04c5..b158054 100644 --- a/custom/basic-call/components/Call/Header.js +++ b/custom/basic-call/components/Call/Header.js @@ -37,7 +37,8 @@ export const Header = () => { flex: 0 0 auto; column-gap: var(--spacing-xxs); box-sizing: border-box; - padding: var(--spacing-sm); + padding: var(--spacing-sm) var(--spacing-sm) var(--spacing-xxs) + var(--spacing-sm); align-items: center; width: 100%; } diff --git a/custom/basic-call/components/Prejoin/CreatingRoom.js b/custom/basic-call/components/Prejoin/CreatingRoom.js index aeb8100..29b779d 100644 --- a/custom/basic-call/components/Prejoin/CreatingRoom.js +++ b/custom/basic-call/components/Prejoin/CreatingRoom.js @@ -1,7 +1,7 @@ import React, { useState, useEffect } from 'react'; import { Card, CardHeader, CardBody } from '@custom/shared/components/Card'; import Loader from '@custom/shared/components/Loader'; -import { Well } from '@custom/shared/components/Well'; +import Well from '@custom/shared/components/Well'; import PropTypes from 'prop-types'; export const CreatingRoom = ({ onCreated }) => { diff --git a/custom/basic-call/pages/api/createRoom.js b/custom/basic-call/pages/api/createRoom.js index 1a67932..969d16e 100644 --- a/custom/basic-call/pages/api/createRoom.js +++ b/custom/basic-call/pages/api/createRoom.js @@ -1,5 +1,5 @@ export default async function handler(req, res) { - const { privacy, expiryMinutes } = req.body; + const { privacy, expiryMinutes, ...rest } = req.body; if (req.method === 'POST') { console.log(`Creating room on domain ${process.env.DAILY_DOMAIN}`); @@ -16,7 +16,7 @@ export default async function handler(req, res) { exp: Math.round(Date.now() / 1000) + (expiryMinutes || 5) * 60, // expire in x minutes eject_at_room_exp: true, enable_knocking: privacy !== 'public', - enable_recording: 'local', + ...rest, }, }), }; diff --git a/custom/flying-emojis/components/App/App.js b/custom/flying-emojis/components/App.js similarity index 74% rename from custom/flying-emojis/components/App/App.js rename to custom/flying-emojis/components/App.js index 88c0bec..fcee52a 100644 --- a/custom/flying-emojis/components/App/App.js +++ b/custom/flying-emojis/components/App.js @@ -1,6 +1,6 @@ import React from 'react'; import App from '@custom/basic-call/components/App'; -import FlyingEmojiOverlay from '../FlyingEmojis/FlyingEmojisOverlay'; +import FlyingEmojiOverlay from './FlyingEmojisOverlay'; export const AppWithEmojis = () => ( <> diff --git a/custom/flying-emojis/components/App/index.js b/custom/flying-emojis/components/App/index.js deleted file mode 100644 index 8887a4b..0000000 --- a/custom/flying-emojis/components/App/index.js +++ /dev/null @@ -1 +0,0 @@ -export { AppWithEmojis as default } from './App'; diff --git a/custom/flying-emojis/components/FlyingEmojis/index.js b/custom/flying-emojis/components/FlyingEmojis/index.js deleted file mode 100644 index 6e98cc3..0000000 --- a/custom/flying-emojis/components/FlyingEmojis/index.js +++ /dev/null @@ -1,2 +0,0 @@ -export { FlyingEmojisOverlay } from './FlyingEmojisOverlay'; -export { FlyingEmojisOverlay as default } from './FlyingEmojisOverlay'; diff --git a/custom/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js b/custom/flying-emojis/components/FlyingEmojisOverlay.js similarity index 100% rename from custom/flying-emojis/components/FlyingEmojis/FlyingEmojisOverlay.js rename to custom/flying-emojis/components/FlyingEmojisOverlay.js diff --git a/custom/flying-emojis/components/Tray/Tray.js b/custom/flying-emojis/components/Tray.js similarity index 100% rename from custom/flying-emojis/components/Tray/Tray.js rename to custom/flying-emojis/components/Tray.js diff --git a/custom/flying-emojis/components/Tray/index.js b/custom/flying-emojis/components/Tray/index.js deleted file mode 100644 index 100bcc8..0000000 --- a/custom/flying-emojis/components/Tray/index.js +++ /dev/null @@ -1 +0,0 @@ -export { Tray as default } from './Tray'; diff --git a/custom/flying-emojis/pages/_document.js b/custom/flying-emojis/pages/_document.js new file mode 100644 index 0000000..31f6c1f --- /dev/null +++ b/custom/flying-emojis/pages/_document.js @@ -0,0 +1,3 @@ +import Doc from '@custom/basic-call/pages/_document'; + +export default Doc; diff --git a/custom/pagination/components/App/App.js b/custom/pagination/App.js similarity index 100% rename from custom/pagination/components/App/App.js rename to custom/pagination/App.js diff --git a/custom/pagination/components/App.js b/custom/pagination/components/App.js new file mode 100644 index 0000000..5c68179 --- /dev/null +++ b/custom/pagination/components/App.js @@ -0,0 +1,15 @@ +import React from 'react'; + +import App from '@custom/basic-call/components/App'; +import Room from '@custom/basic-call/components/Call/Room'; +import PaginatedVideoGrid from './PaginatedVideoGrid'; + +export const AppWithPagination = () => ( + , + }} + /> +); + +export default AppWithPagination; diff --git a/custom/pagination/components/App/index.js b/custom/pagination/components/App/index.js deleted file mode 100644 index 2851771..0000000 --- a/custom/pagination/components/App/index.js +++ /dev/null @@ -1 +0,0 @@ -export { AppWithPagination as default } from './App'; diff --git a/custom/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js b/custom/pagination/components/PaginatedVideoGrid.js similarity index 100% rename from custom/pagination/components/PaginatedVideoGrid/PaginatedVideoGrid.js rename to custom/pagination/components/PaginatedVideoGrid.js diff --git a/custom/pagination/components/PaginatedVideoGrid/index.js b/custom/pagination/components/PaginatedVideoGrid/index.js deleted file mode 100644 index ea21f7a..0000000 --- a/custom/pagination/components/PaginatedVideoGrid/index.js +++ /dev/null @@ -1 +0,0 @@ -export { PaginatedVideoGrid as default } from './PaginatedVideoGrid'; diff --git a/custom/pagination/components/Tray/Tray.js b/custom/pagination/components/Tray.js similarity index 100% rename from custom/pagination/components/Tray/Tray.js rename to custom/pagination/components/Tray.js diff --git a/custom/pagination/components/Tray/index.js b/custom/pagination/components/Tray/index.js deleted file mode 100644 index 100bcc8..0000000 --- a/custom/pagination/components/Tray/index.js +++ /dev/null @@ -1 +0,0 @@ -export { Tray as default } from './Tray'; diff --git a/custom/pagination/pages/_document.js b/custom/pagination/pages/_document.js new file mode 100644 index 0000000..31f6c1f --- /dev/null +++ b/custom/pagination/pages/_document.js @@ -0,0 +1,3 @@ +import Doc from '@custom/basic-call/pages/_document'; + +export default Doc; diff --git a/custom/recording/components/App/App.js b/custom/recording/components/App.js similarity index 80% rename from custom/recording/components/App/App.js rename to custom/recording/components/App.js index 2d44366..f79f4b5 100644 --- a/custom/recording/components/App/App.js +++ b/custom/recording/components/App.js @@ -1,7 +1,7 @@ import React from 'react'; import App from '@custom/basic-call/components/App'; -import { RecordingProvider } from '../../contexts/RecordingProvider'; +import { RecordingProvider } from '../contexts/RecordingProvider'; // Extend our basic call app component with the recording context export const AppWithRecording = () => ( diff --git a/custom/recording/components/App/index.js b/custom/recording/components/App/index.js deleted file mode 100644 index 82a89dc..0000000 --- a/custom/recording/components/App/index.js +++ /dev/null @@ -1 +0,0 @@ -export { AppWithRecording as default } from './App'; diff --git a/custom/recording/components/RecordingModal/RecordingModal.js b/custom/recording/components/RecordingModal.js similarity index 96% rename from custom/recording/components/RecordingModal/RecordingModal.js rename to custom/recording/components/RecordingModal.js index acface2..e89efa4 100644 --- a/custom/recording/components/RecordingModal/RecordingModal.js +++ b/custom/recording/components/RecordingModal.js @@ -15,7 +15,7 @@ import { RECORDING_TYPE_CLOUD, RECORDING_UPLOADING, useRecording, -} from '../../contexts/RecordingProvider'; +} from '../contexts/RecordingProvider'; export const RECORDING_MODAL = 'recording'; @@ -75,12 +75,13 @@ export const RecordingModal = () => { isOpen={currentModals[RECORDING_MODAL]} onClose={() => closeModal(RECORDING_MODAL)} actions={[ - , , - , + , ]} > diff --git a/custom/shared/components/MuteButton/MuteButton.js b/custom/shared/components/MuteButton/MuteButton.js index 5d1a420..3004ce7 100644 --- a/custom/shared/components/MuteButton/MuteButton.js +++ b/custom/shared/components/MuteButton/MuteButton.js @@ -23,8 +23,8 @@ export const MuteButton = ({ isMuted, mic = false, className, ...props }) => { }; const Icon = mic - ? [, ] - : [, ]; + ? [, ] + : [, ]; if (!callObject) return null; diff --git a/custom/shared/components/Tile/Video.js b/custom/shared/components/Tile/Video.js index 7b0008c..660c8cc 100644 --- a/custom/shared/components/Tile/Video.js +++ b/custom/shared/components/Tile/Video.js @@ -50,6 +50,8 @@ export const Video = memo( (p, n) => shallowEqualObjects(p, n) ); +Video.displayName = 'Video'; + Video.propTypes = { videoTrack: PropTypes.any, mirrored: PropTypes.bool, diff --git a/custom/shared/components/WaitingRoom/WaitingRoomModal.js b/custom/shared/components/WaitingRoom/WaitingRoomModal.js index bdf42f2..f77f2b5 100644 --- a/custom/shared/components/WaitingRoom/WaitingRoomModal.js +++ b/custom/shared/components/WaitingRoom/WaitingRoomModal.js @@ -23,10 +23,20 @@ export const WaitingRoomModal = ({ onClose }) => { isOpen onClose={() => onClose()} actions={[ - , - , ]} diff --git a/package.json b/package.json index f09ac5a..185400a 100644 --- a/package.json +++ b/package.json @@ -15,13 +15,9 @@ "babel-eslint": "^10.1.0", "babel-plugin-inline-react-svg": "^2.0.1", "eslint": "^7.25.0", - "eslint-config-airbnb": "^18.2.1", "eslint-config-prettier": "^8.3.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-react": "^7.23.2", - "eslint-plugin-react-hooks": "^4.2.0", + "eslint-plugin-import": "^2.22.1", "eslint-config-next": "^11.0.1" } } diff --git a/yarn.lock b/yarn.lock index f66f64d..ffc3f53 100644 --- a/yarn.lock +++ b/yarn.lock @@ -934,11 +934,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -confusing-browser-globals@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" - integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== - console-browserify@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" @@ -1364,24 +1359,6 @@ escape-string-regexp@^1.0.5: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= -eslint-config-airbnb-base@^14.2.1: - version "14.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" - integrity sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA== - dependencies: - confusing-browser-globals "^1.0.10" - object.assign "^4.1.2" - object.entries "^1.1.2" - -eslint-config-airbnb@^18.2.1: - version "18.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz#b7fe2b42f9f8173e825b73c8014b592e449c98d9" - integrity sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg== - dependencies: - eslint-config-airbnb-base "^14.2.1" - object.assign "^4.1.2" - object.entries "^1.1.2" - eslint-config-next@^11.0.1: version "11.0.1" resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-11.0.1.tgz#abdd2565a6fa5841556a89ba935f044bec173d0b" @@ -1495,24 +1472,6 @@ eslint-plugin-react@^7.23.1: resolve "^2.0.0-next.3" string.prototype.matchall "^4.0.5" -eslint-plugin-react@^7.23.2: - version "7.23.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494" - integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw== - dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.0.4" - object.entries "^1.1.3" - object.fromentries "^2.0.4" - object.values "^1.1.3" - prop-types "^15.7.2" - resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.4" - eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -2670,16 +2629,6 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.2, object.entries@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" - integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" - object.entries@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" @@ -2699,7 +2648,7 @@ object.fromentries@^2.0.4: es-abstract "^1.18.0-next.2" has "^1.0.3" -object.values@^1.1.1, object.values@^1.1.3: +object.values@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== @@ -3460,19 +3409,6 @@ string-width@^4.2.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" - integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has-symbols "^1.0.1" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.3.1" - side-channel "^1.0.4" - string.prototype.matchall@^4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" From ed42d6f88fc75440e0b6fbb630ba5e1f513394bc Mon Sep 17 00:00:00 2001 From: J Taylor Date: Tue, 5 Oct 2021 10:59:00 +0300 Subject: [PATCH 9/9] bumped daily-js --- custom/shared/package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/custom/shared/package.json b/custom/shared/package.json index eddb7ea..d4d542b 100644 --- a/custom/shared/package.json +++ b/custom/shared/package.json @@ -4,7 +4,7 @@ "private": true, "main": "index.js", "dependencies": { - "@daily-co/daily-js": "^0.18.0", + "@daily-co/daily-js": "^0.19.0", "bowser": "^2.11.0", "classnames": "^2.3.1", "debounce": "^1.2.1", diff --git a/yarn.lock b/yarn.lock index ffc3f53..66c15fb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -192,10 +192,10 @@ "@babel/helper-validator-identifier" "^7.12.11" to-fast-properties "^2.0.0" -"@daily-co/daily-js@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@daily-co/daily-js/-/daily-js-0.18.0.tgz#b8341c2ac12b6e27fec2ab187be6cca699e60dce" - integrity sha512-MXY6mpC0bJ1RCbVLlNioOfoNFhMX8lwoI/G9t3d/CAQqO9brxnp73t2Ltyaf2SXMIR+S88flgtfMcRtEBnFsjQ== +"@daily-co/daily-js@^0.19.0": + version "0.19.0" + resolved "https://registry.yarnpkg.com/@daily-co/daily-js/-/daily-js-0.19.0.tgz#86ff62156c7ec25a1c49df5ca8edb3b7c078fb45" + integrity sha512-0Ixg80NUeHQX6Z044ZhKIYd0ppo5kK8SmEWbrmsjWAB01zaYQTshA+dY4HgkJfc6pG59LzZ8maziwpNEPLyliA== dependencies: "@babel/runtime" "^7.12.5" bowser "^2.8.1"