Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sprint 1-2 #315

Merged
merged 45 commits into from
Jan 28, 2025
Merged
Show file tree
Hide file tree
Changes from 38 commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
79611dc
Feat new UI manage prod page (#233)
Saelmala Dec 13, 2024
08e4b92
Feat/multiple sessions one window (#225)
malmen237 Dec 13, 2024
7a51cb5
Feat/change device during call (#212)
malmen237 Dec 16, 2024
878a680
Feat: [non-ios] control volume of line (#243)
Saelmala Dec 16, 2024
4f706d5
Refactor/UI (#241)
LucasMaupin Dec 16, 2024
17a04d9
fix: remove unused var (#248)
LucasMaupin Dec 16, 2024
c29680d
fix: show mute button on now volume slider value (#247)
Saelmala Dec 16, 2024
5cb862b
fix: only show volume slider on desktop (#256)
Saelmala Dec 18, 2024
dbb153b
fix: add back volume controls on mobile
Saelmala Dec 18, 2024
fd2cd38
fix: only keep volume controls on desktop (#257)
Saelmala Dec 19, 2024
4e11917
Fix/modal and button fixes on callpage (#255)
malmen237 Jan 7, 2025
a229fb6
fix: show volume control on supported devices (#259)
Saelmala Jan 7, 2025
a0c80c0
Feat/global hotkeys (#260)
malmen237 Jan 7, 2025
8c807be
feat: device handling & user settings (#258)
LucasMaupin Jan 9, 2025
adf129c
Feat/mute participant (#265)
malmen237 Jan 13, 2025
1fc24fa
Fix/uniform icons (#268)
malmen237 Jan 13, 2025
e606d48
Feat ifb functionality (#266)
Saelmala Jan 13, 2025
5077ec0
fix: problems with icon-colors solved (#270)
malmen237 Jan 13, 2025
bab02cc
fix: disable mute for program line (#276)
Saelmala Jan 13, 2025
a6ad292
fix: added color for disabled buttons when actionbutton is used (#275)
malmen237 Jan 13, 2025
c7a646b
feat: new manage productions page (#267)
LucasMaupin Jan 13, 2025
c3797c6
fix: mute issues on program-line (#278)
malmen237 Jan 14, 2025
158afef
fix: even volume increase (#277)
Saelmala Jan 14, 2025
2ab7509
feat: new calls-page ui (#279)
LucasMaupin Jan 14, 2025
4fae9fc
fix: added margin to warning-component (#288)
malmen237 Jan 15, 2025
212857c
feat: collapsablecalls (#300)
LucasMaupin Jan 16, 2025
1a0f082
fix: joinform bugfix (#301)
malmen237 Jan 16, 2025
5eefa1d
fix: improvements for program lines (#302)
Saelmala Jan 16, 2025
d784c7f
Fix/user settings (#304)
LucasMaupin Jan 17, 2025
a40c661
Bug logs volume and value (#308)
Saelmala Jan 17, 2025
e5bab79
UI/call buttons (#309)
LucasMaupin Jan 17, 2025
ae1c86a
Fix/bugfixes and cleanup (#305)
malmen237 Jan 17, 2025
ab93ff6
fix: centered the icons (#313)
malmen237 Jan 20, 2025
a2b06e8
fix: speaker-icon is red when audio-output is 0 (#312)
malmen237 Jan 20, 2025
aa17539
fix: change volume increase time (#311)
Saelmala Jan 20, 2025
fbd9f15
fix: ui fixes program calls (#310)
Saelmala Jan 20, 2025
3e33fbb
feat: production-line devices uses user settings (#314)
LucasMaupin Jan 20, 2025
517b2a8
fix: updated icon to match rest of project (#316)
malmen237 Jan 20, 2025
2a7b9f7
Update src/components/production-list/production-list-components.ts
malmen237 Jan 24, 2025
e6ff46f
chore: update readme
martinstark Jan 24, 2025
c42b179
Feat/visual production (#324)
malmen237 Jan 27, 2025
74d55cc
fix: clear timeout (#323)
Saelmala Jan 27, 2025
884aeb7
Feat/pr fixes (#321)
LucasMaupin Jan 28, 2025
0dd2805
fix: solved issue with missing dependency (#318)
malmen237 Jan 28, 2025
ad99d05
fix: update form and make warnings and errors work (#326)
malmen237 Jan 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 0 additions & 13 deletions aws/cloudfront-functions/README.md

This file was deleted.

39 changes: 0 additions & 39 deletions aws/cloudfront-functions/url-rewrite-spa.yaml

This file was deleted.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
"@emotion/styled": "^11.11.5",
"@eyevinn/media-event-filter": "^3.4.0",
"@hookform/error-message": "^2.0.1",
"@martinstark/storage-ts": "^1.1.0",
"@types/react-router-dom": "^5.3.3",
"bowser": "^2.11.0",
"react": "^18.3.1",
Expand Down
33 changes: 23 additions & 10 deletions src/App.tsx
Original file line number Diff line number Diff line change
@@ -1,24 +1,26 @@
import { BrowserRouter, Routes, Route } from "react-router-dom";
import styled from "@emotion/styled";
import { useState } from "react";
import { ProductionLine } from "./components/production-line/production-line.tsx";
import { ErrorPage } from "./components/router-error.tsx";
import { useDevicePermissions } from "./use-device-permission.ts";
import { useDevicePermissions } from "./hooks/use-device-permission.ts";
import { LandingPage } from "./components/landing-page/landing-page.tsx";
import { useInitializeGlobalStateReducer } from "./global-state/global-state-reducer.ts";
import { GlobalStateContext } from "./global-state/context-provider.tsx";
import { Header } from "./components/header.tsx";
import { ErrorBanner } from "./components/error";
import { useFetchDevices } from "./use-fetch-devices.ts";
import { useFetchDevices } from "./hooks/use-fetch-devices.ts";
import {
DisplayContainer,
FlexContainer,
} from "./components/generic-components.ts";
import { DisplayWarning } from "./components/display-box.tsx";
import { ManageProductions } from "./components/manage-productions/manage-productions.tsx";
import { isValidBrowser } from "./bowser.ts";
import { DisplayContainerHeader } from "./components/landing-page/display-container-header.tsx";
import { NavigateToRootButton } from "./components/navigate-to-root-button/navigate-to-root-button.tsx";
import { CallsPage } from "./components/calls-page/calls-page.tsx";
import { CreateProductionPage } from "./components/create-production/create-production-page.tsx";
import { Header } from "./components/header.tsx";
import { useLocalUserSettings } from "./hooks/use-local-user-settings.ts";
import { ManageProductionsPage } from "./components/manage-productions-page/manage-productions-page.tsx";

const DisplayBoxPositioningContainer = styled(FlexContainer)`
justify-content: center;
Expand Down Expand Up @@ -49,14 +51,16 @@ const App = () => {
const continueToApp = isValidBrowser || unsupportedContinue;
const { denied, permission } = useDevicePermissions({ continueToApp });
const initializedGlobalState = useInitializeGlobalStateReducer();
const [, dispatch] = initializedGlobalState;
const [{ devices, userSettings }, dispatch] = initializedGlobalState;
const [apiError, setApiError] = useState(false);

useFetchDevices({
dispatch,
permission,
});

useLocalUserSettings({ devices, dispatch });

return (
<GlobalStateContext.Provider value={initializedGlobalState}>
<BrowserRouter>
Expand Down Expand Up @@ -110,7 +114,7 @@ const App = () => {
/>
</DisplayBoxPositioningContainer>
)}
{permission && !denied && !apiError && (
{permission && !denied && !apiError && userSettings && (
<Routes>
<>
<Route
Expand All @@ -120,14 +124,23 @@ const App = () => {
}
errorElement={<ErrorPage />}
/>
<Route
path="/create-production"
element={
<CreateProductionPage
setApiError={() => setApiError(true)}
/>
}
errorElement={<ErrorPage />}
/>
<Route
path="/manage-productions"
element={<ManageProductions />}
element={<ManageProductionsPage />}
errorElement={<ErrorPage />}
/>
<Route
path="/production/:productionId/line/:lineId"
element={<ProductionLine />}
path="/production-calls/production/:productionId/line/:lineId"
element={<CallsPage />}
errorElement={<ErrorPage />}
/>
<Route path="*" element={<NotFound />} />
Expand Down
20 changes: 14 additions & 6 deletions src/api/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ const API_KEY = import.meta.env.VITE_BACKEND_API_KEY;

type TCreateProductionOptions = {
name: string;
lines: { name: string }[];
lines: { name: string; programOutputLine?: boolean }[];
};

type TParticipant = {
Expand All @@ -23,11 +23,13 @@ type TLine = {
id: string;
smbConferenceId: string;
participants: TParticipant[];
programOutputLine?: boolean;
};

type TBasicProductionResponse = {
export type TBasicProductionResponse = {
name: string;
productionId: string;
lines?: TLine[];
};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TFetchProductionResponse exists which has lines as well, could this type be reused instead of introducing optional lines on the basic type?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

me


type TFetchProductionResponse = TBasicProductionResponse & {
Expand Down Expand Up @@ -104,7 +106,7 @@ export const API = {
},
})
),
deleteProduction: (id: number): Promise<string> =>
deleteProduction: (id: string): Promise<string> =>
handleFetchRequest<string>(
fetch(`${API_URL}production/${id}`, {
method: "DELETE",
Expand All @@ -131,7 +133,11 @@ export const API = {
},
})
),
addProductionLine: (productionId: number, name: string): Promise<TLine> =>
addProductionLine: (
productionId: string,
name: string,
programOutputLine?: boolean
): Promise<TLine> =>
handleFetchRequest<TLine>(
fetch(`${API_URL}production/${productionId}/line`, {
method: "POST",
Expand All @@ -141,12 +147,13 @@ export const API = {
},
body: JSON.stringify({
name,
programOutputLine,
}),
})
),
deleteProductionLine: (
productionId: number,
lineId: number
productionId: string,
lineId: string
): Promise<string> =>
handleFetchRequest<string>(
fetch(`${API_URL}production/${productionId}/line/${lineId}`, {
Expand All @@ -156,6 +163,7 @@ export const API = {
},
})
),

offerAudioSession: ({
productionId,
lineId,
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/assets/icons/arrow_back.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/assets/icons/campaign.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icons/chevron_down.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/assets/icons/chevron_up.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/assets/icons/clear.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions src/assets/icons/done.svg

This file was deleted.

5 changes: 5 additions & 0 deletions src/assets/icons/edit.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/assets/icons/headset.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 34 additions & 7 deletions src/assets/icons/icon.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,19 @@ import RemoveSvg from "./clear.svg?react";
import VolumeOn from "./volume_on.svg?react";
import VolumeOff from "./volume_off.svg?react";
import UserSvg from "./user.svg?react";
import ConfirmSvg from "./done.svg?react";
import StepLeftSvg from "./chevron_left.svg?react";
import StepRightSvg from "./navigate_next.svg?react";
import RefreshSvg from "./refresh.svg?react";
import Settings from "./settings.svg?react";
import NoSound from "./no_sound.svg?react";
import Headset from "./headset.svg?react";
import UserSettings from "./user_settings.svg?react";
import ChevronDown from "./chevron_down.svg?react";
import ChevronUp from "./chevron_up.svg?react";
import Users from "./users.svg?react";
import Add from "./add.svg?react";
import Edit from "./edit.svg?react";
import TV from "./tv.svg?react";
import Megaphone from "./campaign.svg?react";
import Logout from "./logout.svg?react";

export const MicMuted = () => <MicMute />;

Expand All @@ -24,10 +33,28 @@ export const SpeakerOn = () => <VolumeOn />;

export const UserIcon = () => <UserSvg />;

export const ConfirmIcon = () => <ConfirmSvg />;
export const RefreshIcon = () => <RefreshSvg />;

export const StepLeftIcon = () => <StepLeftSvg />;
export const SettingsIcon = () => <Settings />;

export const StepRightIcon = () => <StepRightSvg />;
export const NoSoundIcon = () => <NoSound />;

export const SettingsIcon = () => <Settings />;
export const UserSettingsIcon = () => <UserSettings />;

export const ChevronDownIcon = () => <ChevronDown />;

export const ChevronUpIcon = () => <ChevronUp />;

export const HeadsetIcon = () => <Headset />;

export const UsersIcon = () => <Users />;

export const AddIcon = () => <Add />;

export const EditIcon = () => <Edit />;

export const TVIcon = () => <TV />;

export const MegaphoneIcon = () => <Megaphone />;

export const LogoutIcon = () => <Logout />;
1 change: 1 addition & 0 deletions src/assets/icons/logout.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/assets/icons/mic_off.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/assets/icons/mic_on.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 0 additions & 4 deletions src/assets/icons/navigate_next.svg

This file was deleted.

4 changes: 4 additions & 0 deletions src/assets/icons/no_sound.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/assets/icons/refresh.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 4 additions & 4 deletions src/assets/icons/settings.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions src/assets/icons/tv.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/assets/icons/user.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/assets/icons/user_settings.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions src/assets/icons/users.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading