From 0d5eb3e801eb9f4062b904c3522d41cc137bc2b6 Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Wed, 15 Feb 2023 12:46:50 -0600 Subject: [PATCH] Updating --- .config/dotnet-tools.json | 12 + app/package-lock.json | 268 +- app/package.json | 4 +- app/src/components/app/App.module.scss | 3 + app/src/components/app/App.tsx | 58 +- app/src/components/footer/Footer.module.scss | 4 + app/src/components/footer/Footer.tsx | 22 + app/src/components/header/Header.module.scss | 4 + app/src/components/header/Header.tsx | 22 + app/src/components/menu/IMenuProps.ts | 3 - app/src/components/menu/Menu.tsx | 29 - .../components/navigation/INavigationState.ts | 3 + app/src/components/navigation/Navigation.tsx | 75 + app/src/components/navigation/reducer.ts | 19 + app/src/components/teams/ITeamsState.ts | 13 + app/src/components/teams/Teams.tsx | 135 + app/src/components/teams/reducer.ts | 73 + .../venueDetails/IVenueDetailsProps.ts | 3 + .../components/venueDetails/VenueDetails.tsx | 33 + app/src/components/venues/Venues.cy.tsx | 2 +- app/src/components/venues/Venues.tsx | 220 +- app/src/constants/graphQL.ts | 74 +- app/src/context/IAppContextState.ts | 5 - app/src/context/{ => app}/AppContext.tsx | 0 .../context/{ => app}/AppContextProvider.tsx | 0 app/src/context/{ => app}/IAppContextProps.ts | 0 .../{ => app}/IAppContextProviderProps.tsx | 0 app/src/context/app/IAppContextState.ts | 7 + app/src/context/{ => app}/reducer.ts | 18 +- .../context/sidebar/ISidebarContextProps.ts | 8 + .../sidebar/ISidebarContextProviderProps.ts | 5 + .../context/sidebar/ISidebarContextState.ts | 8 + app/src/context/sidebar/Sidebar.module.scss | 4 + app/src/context/sidebar/SidebarContext.tsx | 4 + .../sidebar/SidebarContextProvider.tsx | 53 + app/src/context/sidebar/reducer.ts | 52 + app/src/hooks/appContext/UseAppContext.tsx | 2 +- .../sidebarContext/UseSidebarContext.tsx | 11 + app/src/index.tsx | 22 +- app/src/models/ISidebar.ts | 6 + app/src/models/ITeam.ts | 23 + app/webpack.config.js | 6 +- docker-compose.yml | 20 + graphql/.eslintrc.js | 25 + graphql/.gitignore | 35 + graphql/.prettierrc | 4 + graphql/Dockerfile | 8 + graphql/README.md | 73 + graphql/nest-cli.json | 8 + graphql/package-lock.json | 16739 ++++++++++++++++ graphql/package.json | 77 + graphql/src/app.controller.spec.ts | 22 + graphql/src/app.controller.ts | 12 + graphql/src/app.module.ts | 17 + graphql/src/app.service.ts | 8 + graphql/src/generate-typings.js | 10 + graphql/src/generate-typings.ts | 10 + graphql/src/graphql.ts | 88 + graphql/src/main.ts | 8 + graphql/src/teams/schema.graphql | 54 + graphql/src/teams/team.module.ts | 11 + graphql/src/teams/team.resolvers.ts | 18 + graphql/src/teams/team.service.ts | 23 + graphql/src/venues/schema.graphql | 37 + graphql/src/venues/venue.module.ts | 11 + graphql/src/venues/venue.resolvers.ts | 18 + graphql/src/venues/venue.service.ts | 23 + graphql/test/app.e2e-spec.ts | 24 + graphql/test/jest-e2e.json | 9 + graphql/tsconfig.build.json | 4 + graphql/tsconfig.json | 21 + hasura/metadata/actions.graphql | 55 + hasura/metadata/actions.yaml | 33 + package-lock.json | 462 + package.json | 6 + teams/.config/dotnet-tools.json | 12 + teams/.dockerignore | 25 + teams/.gitignore | 405 + teams/Controllers/TeamsController.cs | 50 + teams/DbContexts/MlbGameDayContext.cs | 91 + teams/Dockerfile | 22 + teams/Entities/Team.cs | 32 + teams/Filter/PaginationFilter.cs | 22 + teams/Models/TeamDto.cs | 29 + teams/Profiles/TeamProfile.cs | 14 + teams/Program.cs | 56 + teams/Properties/launchSettings.json | 30 + teams/Services/ITeamsRepository.cs | 12 + teams/Services/PaginationMetadata.cs | 21 + teams/Services/TeamsRepository.cs | 36 + teams/Teams.csproj | 50 + teams/Teams.sln | 31 + teams/Wrappers/PagedResponse.cs | 27 + teams/Wrappers/Response.cs | 24 + teams/appsettings.Development.json | 13 + teams/appsettings.json | 10 + teams/docker-compose.dcproj | 18 + teams/docker-compose.override.yml | 13 + teams/docker-compose.yml | 8 + 99 files changed, 20124 insertions(+), 213 deletions(-) create mode 100644 .config/dotnet-tools.json create mode 100644 app/src/components/app/App.module.scss create mode 100644 app/src/components/footer/Footer.module.scss create mode 100644 app/src/components/footer/Footer.tsx create mode 100644 app/src/components/header/Header.module.scss create mode 100644 app/src/components/header/Header.tsx delete mode 100644 app/src/components/menu/IMenuProps.ts delete mode 100644 app/src/components/menu/Menu.tsx create mode 100644 app/src/components/navigation/INavigationState.ts create mode 100644 app/src/components/navigation/Navigation.tsx create mode 100644 app/src/components/navigation/reducer.ts create mode 100644 app/src/components/teams/ITeamsState.ts create mode 100644 app/src/components/teams/Teams.tsx create mode 100644 app/src/components/teams/reducer.ts create mode 100644 app/src/components/venueDetails/IVenueDetailsProps.ts create mode 100644 app/src/components/venueDetails/VenueDetails.tsx delete mode 100644 app/src/context/IAppContextState.ts rename app/src/context/{ => app}/AppContext.tsx (100%) rename app/src/context/{ => app}/AppContextProvider.tsx (100%) rename app/src/context/{ => app}/IAppContextProps.ts (100%) rename app/src/context/{ => app}/IAppContextProviderProps.tsx (100%) create mode 100644 app/src/context/app/IAppContextState.ts rename app/src/context/{ => app}/reducer.ts (57%) create mode 100644 app/src/context/sidebar/ISidebarContextProps.ts create mode 100644 app/src/context/sidebar/ISidebarContextProviderProps.ts create mode 100644 app/src/context/sidebar/ISidebarContextState.ts create mode 100644 app/src/context/sidebar/Sidebar.module.scss create mode 100644 app/src/context/sidebar/SidebarContext.tsx create mode 100644 app/src/context/sidebar/SidebarContextProvider.tsx create mode 100644 app/src/context/sidebar/reducer.ts create mode 100644 app/src/hooks/sidebarContext/UseSidebarContext.tsx create mode 100644 app/src/models/ISidebar.ts create mode 100644 app/src/models/ITeam.ts create mode 100644 graphql/.eslintrc.js create mode 100644 graphql/.gitignore create mode 100644 graphql/.prettierrc create mode 100644 graphql/Dockerfile create mode 100644 graphql/README.md create mode 100644 graphql/nest-cli.json create mode 100644 graphql/package-lock.json create mode 100644 graphql/package.json create mode 100644 graphql/src/app.controller.spec.ts create mode 100644 graphql/src/app.controller.ts create mode 100644 graphql/src/app.module.ts create mode 100644 graphql/src/app.service.ts create mode 100644 graphql/src/generate-typings.js create mode 100644 graphql/src/generate-typings.ts create mode 100644 graphql/src/graphql.ts create mode 100644 graphql/src/main.ts create mode 100644 graphql/src/teams/schema.graphql create mode 100644 graphql/src/teams/team.module.ts create mode 100644 graphql/src/teams/team.resolvers.ts create mode 100644 graphql/src/teams/team.service.ts create mode 100644 graphql/src/venues/schema.graphql create mode 100644 graphql/src/venues/venue.module.ts create mode 100644 graphql/src/venues/venue.resolvers.ts create mode 100644 graphql/src/venues/venue.service.ts create mode 100644 graphql/test/app.e2e-spec.ts create mode 100644 graphql/test/jest-e2e.json create mode 100644 graphql/tsconfig.build.json create mode 100644 graphql/tsconfig.json create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 teams/.config/dotnet-tools.json create mode 100644 teams/.dockerignore create mode 100644 teams/.gitignore create mode 100644 teams/Controllers/TeamsController.cs create mode 100644 teams/DbContexts/MlbGameDayContext.cs create mode 100644 teams/Dockerfile create mode 100644 teams/Entities/Team.cs create mode 100644 teams/Filter/PaginationFilter.cs create mode 100644 teams/Models/TeamDto.cs create mode 100644 teams/Profiles/TeamProfile.cs create mode 100644 teams/Program.cs create mode 100644 teams/Properties/launchSettings.json create mode 100644 teams/Services/ITeamsRepository.cs create mode 100644 teams/Services/PaginationMetadata.cs create mode 100644 teams/Services/TeamsRepository.cs create mode 100644 teams/Teams.csproj create mode 100644 teams/Teams.sln create mode 100644 teams/Wrappers/PagedResponse.cs create mode 100644 teams/Wrappers/Response.cs create mode 100644 teams/appsettings.Development.json create mode 100644 teams/appsettings.json create mode 100644 teams/docker-compose.dcproj create mode 100644 teams/docker-compose.override.yml create mode 100644 teams/docker-compose.yml diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json new file mode 100644 index 0000000..e9bbe75 --- /dev/null +++ b/.config/dotnet-tools.json @@ -0,0 +1,12 @@ +{ + "version": 1, + "isRoot": true, + "tools": { + "dotnet-ef": { + "version": "6.0.12", + "commands": [ + "dotnet-ef" + ] + } + } +} \ No newline at end of file diff --git a/app/package-lock.json b/app/package-lock.json index 90dfb0f..1f1dce6 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -16,7 +16,9 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-grid-system": "^8.1.6", - "react-router-dom": "^6.6.1" + "react-router-dom": "^6.6.1", + "semantic-ui-css": "^2.5.0", + "semantic-ui-react": "^2.1.4" }, "devDependencies": { "@babel/core": "^7.20.12", @@ -1809,7 +1811,6 @@ "version": "7.20.13", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", - "dev": true, "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -2259,6 +2260,31 @@ "react-dom": ">=16.8.0 <19.0.0" } }, + "node_modules/@fluentui/react-component-event-listener": { + "version": "0.63.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-component-event-listener/-/react-component-event-listener-0.63.1.tgz", + "integrity": "sha512-gSMdOh6tI3IJKZFqxfQwbTpskpME0CvxdxGM2tdglmf6ZPVDi0L4+KKIm+2dN8nzb8Ya1A8ZT+Ddq0KmZtwVQg==", + "dependencies": { + "@babel/runtime": "^7.10.4" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/@fluentui/react-component-ref": { + "version": "0.63.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-component-ref/-/react-component-ref-0.63.1.tgz", + "integrity": "sha512-8MkXX4+R3i80msdbD4rFpEB4WWq2UDvGwG386g3ckIWbekdvN9z2kWAd9OXhRGqB7QeOsoAGWocp6gAMCivRlw==", + "dependencies": { + "@babel/runtime": "^7.10.4", + "react-is": "^16.6.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, "node_modules/@fluentui/react-focus": { "version": "8.8.12", "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.8.12.tgz", @@ -2631,6 +2657,15 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, + "node_modules/@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@remix-run/router": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.0.tgz", @@ -2639,6 +2674,19 @@ "node": ">=14" } }, + "node_modules/@semantic-ui-react/event-stack": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@semantic-ui-react/event-stack/-/event-stack-3.1.3.tgz", + "integrity": "sha512-FdTmJyWvJaYinHrKRsMLDrz4tTMGdFfds299Qory53hBugiDvGC0tEJf+cHsi5igDwWb/CLOgOiChInHwq8URQ==", + "dependencies": { + "exenv": "^1.2.2", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/@sideway/address": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", @@ -5036,6 +5084,14 @@ "node": ">=6" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/coffeeify": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/coffeeify/-/coffeeify-3.0.1.tgz", @@ -6870,6 +6926,11 @@ "node": ">=4" } }, + "node_modules/exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + }, "node_modules/express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -8811,6 +8872,11 @@ "@sideway/pinpoint": "^2.0.0" } }, + "node_modules/jquery": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", + "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==" + }, "node_modules/js-base64": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", @@ -8975,6 +9041,11 @@ "verror": "1.10.0" } }, + "node_modules/keyboard-key": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.1.0.tgz", + "integrity": "sha512-qkBzPTi3rlAKvX7k0/ub44sqOfXeLc/jcnGGmj5c7BJpU8eDrEVPyhCvNYAaoubbsLm9uGWwQJO1ytQK1a9/dQ==" + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -9423,8 +9494,12 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "node_modules/lodash.clonedeep": { "version": "4.5.0", @@ -11774,6 +11849,11 @@ "react": "^18.2.0" } }, + "node_modules/react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, "node_modules/react-grid-system": { "version": "8.1.8", "resolved": "https://registry.npmjs.org/react-grid-system/-/react-grid-system-8.1.8.tgz", @@ -11790,6 +11870,20 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "node_modules/react-popper": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz", + "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==", + "dependencies": { + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" + }, + "peerDependencies": { + "@popperjs/core": "^2.0.0", + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, "node_modules/react-router": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.7.0.tgz", @@ -11994,8 +12088,7 @@ "node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regenerator-transform": { "version": "0.15.1", @@ -12506,6 +12599,38 @@ "node": ">=10" } }, + "node_modules/semantic-ui-css": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/semantic-ui-css/-/semantic-ui-css-2.5.0.tgz", + "integrity": "sha512-jIWn3WXXE2uSaWCcB+gVJVRG3masIKtTMNEP2X8Aw909H2rHpXGneYOxzO3hT8TpyvB5/dEEo9mBFCitGwoj1A==", + "dependencies": { + "jquery": "x.*" + } + }, + "node_modules/semantic-ui-react": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-2.1.4.tgz", + "integrity": "sha512-7CxjBoFUfH7fUvtn+SPkkIocthUD9kV3niF1mUMa9TbeyPAf2brtRCZBlT2OpHaXmkscFzGjEfhbJo9gKfotzQ==", + "dependencies": { + "@babel/runtime": "^7.10.5", + "@fluentui/react-component-event-listener": "~0.63.0", + "@fluentui/react-component-ref": "~0.63.0", + "@popperjs/core": "^2.6.0", + "@semantic-ui-react/event-stack": "^3.1.3", + "clsx": "^1.1.1", + "keyboard-key": "^1.1.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "prop-types": "^15.7.2", + "react-is": "^16.8.6 || ^17.0.0 || ^18.0.0", + "react-popper": "^2.3.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -12699,6 +12824,11 @@ "node": ">=8" } }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "node_modules/shasum": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", @@ -14243,6 +14373,14 @@ "node": ">=12.0.0" } }, + "node_modules/warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/watchify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz", @@ -16164,7 +16302,6 @@ "version": "7.20.13", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz", "integrity": "sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==", - "dev": true, "requires": { "regenerator-runtime": "^0.13.11" } @@ -16529,6 +16666,23 @@ "tslib": "^2.1.0" } }, + "@fluentui/react-component-event-listener": { + "version": "0.63.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-component-event-listener/-/react-component-event-listener-0.63.1.tgz", + "integrity": "sha512-gSMdOh6tI3IJKZFqxfQwbTpskpME0CvxdxGM2tdglmf6ZPVDi0L4+KKIm+2dN8nzb8Ya1A8ZT+Ddq0KmZtwVQg==", + "requires": { + "@babel/runtime": "^7.10.4" + } + }, + "@fluentui/react-component-ref": { + "version": "0.63.1", + "resolved": "https://registry.npmjs.org/@fluentui/react-component-ref/-/react-component-ref-0.63.1.tgz", + "integrity": "sha512-8MkXX4+R3i80msdbD4rFpEB4WWq2UDvGwG386g3ckIWbekdvN9z2kWAd9OXhRGqB7QeOsoAGWocp6gAMCivRlw==", + "requires": { + "@babel/runtime": "^7.10.4", + "react-is": "^16.6.3" + } + }, "@fluentui/react-focus": { "version": "8.8.12", "resolved": "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.8.12.tgz", @@ -16826,11 +16980,25 @@ "rimraf": "^3.0.2" } }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, "@remix-run/router": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.0.tgz", "integrity": "sha512-nwQoYb3m4DDpHTeOwpJEuDt8lWVcujhYYSFGLluC+9es2PyLjm+jjq3IeRBQbwBtPLJE/lkuHuGHr8uQLgmJRA==" }, + "@semantic-ui-react/event-stack": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@semantic-ui-react/event-stack/-/event-stack-3.1.3.tgz", + "integrity": "sha512-FdTmJyWvJaYinHrKRsMLDrz4tTMGdFfds299Qory53hBugiDvGC0tEJf+cHsi5igDwWb/CLOgOiChInHwq8URQ==", + "requires": { + "exenv": "^1.2.2", + "prop-types": "^15.6.2" + } + }, "@sideway/address": { "version": "4.1.4", "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", @@ -18740,6 +18908,11 @@ "shallow-clone": "^3.0.0" } }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, "coffeeify": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/coffeeify/-/coffeeify-3.0.1.tgz", @@ -20157,6 +20330,11 @@ "pify": "^2.2.0" } }, + "exenv": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/exenv/-/exenv-1.2.2.tgz", + "integrity": "sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==" + }, "express": { "version": "4.18.2", "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", @@ -21624,6 +21802,11 @@ "@sideway/pinpoint": "^2.0.0" } }, + "jquery": { + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.3.tgz", + "integrity": "sha512-bZ5Sy3YzKo9Fyc8wH2iIQK4JImJ6R0GWI9kL1/k7Z91ZBNgkRXE6U0JfHIizZbort8ZunhSI3jw9I6253ahKfg==" + }, "js-base64": { "version": "2.6.4", "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", @@ -21752,6 +21935,11 @@ "verror": "1.10.0" } }, + "keyboard-key": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/keyboard-key/-/keyboard-key-1.1.0.tgz", + "integrity": "sha512-qkBzPTi3rlAKvX7k0/ub44sqOfXeLc/jcnGGmj5c7BJpU8eDrEVPyhCvNYAaoubbsLm9uGWwQJO1ytQK1a9/dQ==" + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -22058,8 +22246,12 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "lodash.clonedeep": { "version": "4.5.0", @@ -23869,6 +24061,11 @@ "scheduler": "^0.23.0" } }, + "react-fast-compare": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.0.tgz", + "integrity": "sha512-rtGImPZ0YyLrscKI9xTpV8psd6I8VAtjKCzQDlzyDvqJA8XOW78TXYQwNRNd8g8JZnDu8q9Fu/1v4HPAVwVdHA==" + }, "react-grid-system": { "version": "8.1.8", "resolved": "https://registry.npmjs.org/react-grid-system/-/react-grid-system-8.1.8.tgz", @@ -23882,6 +24079,15 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, + "react-popper": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-2.3.0.tgz", + "integrity": "sha512-e1hj8lL3uM+sgSR4Lxzn5h1GxBlpa4CQz0XLF8kx4MDrDRWY0Ena4c97PUeSX9i5W3UAfDP0z0FXCTQkoXUl3Q==", + "requires": { + "react-fast-compare": "^3.0.1", + "warning": "^4.0.2" + } + }, "react-router": { "version": "6.7.0", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.7.0.tgz", @@ -24049,8 +24255,7 @@ "regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "regenerator-transform": { "version": "0.15.1", @@ -24417,6 +24622,34 @@ "node-forge": "^1" } }, + "semantic-ui-css": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/semantic-ui-css/-/semantic-ui-css-2.5.0.tgz", + "integrity": "sha512-jIWn3WXXE2uSaWCcB+gVJVRG3masIKtTMNEP2X8Aw909H2rHpXGneYOxzO3hT8TpyvB5/dEEo9mBFCitGwoj1A==", + "requires": { + "jquery": "x.*" + } + }, + "semantic-ui-react": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/semantic-ui-react/-/semantic-ui-react-2.1.4.tgz", + "integrity": "sha512-7CxjBoFUfH7fUvtn+SPkkIocthUD9kV3niF1mUMa9TbeyPAf2brtRCZBlT2OpHaXmkscFzGjEfhbJo9gKfotzQ==", + "requires": { + "@babel/runtime": "^7.10.5", + "@fluentui/react-component-event-listener": "~0.63.0", + "@fluentui/react-component-ref": "~0.63.0", + "@popperjs/core": "^2.6.0", + "@semantic-ui-react/event-stack": "^3.1.3", + "clsx": "^1.1.1", + "keyboard-key": "^1.1.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "prop-types": "^15.7.2", + "react-is": "^16.8.6 || ^17.0.0 || ^18.0.0", + "react-popper": "^2.3.0", + "shallowequal": "^1.1.0" + } + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -24589,6 +24822,11 @@ "kind-of": "^6.0.2" } }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "shasum": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", @@ -25772,6 +26010,14 @@ "rxjs": "^7.8.0" } }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, "watchify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/watchify/-/watchify-4.0.0.tgz", diff --git a/app/package.json b/app/package.json index 2bf1ec3..c77b993 100644 --- a/app/package.json +++ b/app/package.json @@ -69,6 +69,8 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-grid-system": "^8.1.6", - "react-router-dom": "^6.6.1" + "react-router-dom": "^6.6.1", + "semantic-ui-css": "^2.5.0", + "semantic-ui-react": "^2.1.4" } } diff --git a/app/src/components/app/App.module.scss b/app/src/components/app/App.module.scss new file mode 100644 index 0000000..528c629 --- /dev/null +++ b/app/src/components/app/App.module.scss @@ -0,0 +1,3 @@ +.content { + padding: 30px; +} \ No newline at end of file diff --git a/app/src/components/app/App.tsx b/app/src/components/app/App.tsx index 9a4a5d5..aaef781 100644 --- a/app/src/components/app/App.tsx +++ b/app/src/components/app/App.tsx @@ -1,38 +1,44 @@ import React from 'react'; -import { Routes, Route, useLocation } from 'react-router-dom'; -import { Container, Row, Col } from 'react-grid-system'; +import styles from './App.module.scss' +import { Routes, Route } from 'react-router-dom'; import { initializeIcons } from '@fluentui/font-icons-mdl2'; -import Menu from '../menu/Menu'; +import { Grid, Sidebar } from 'semantic-ui-react'; +import Header from '../header/Header'; +import Footer from '../footer/Footer'; +import Navigation from '../navigation/Navigation'; +import Teams from '../teams/Teams'; import Venues from '../venues/Venues'; +import { useSidebarContext } from '../../hooks/sidebarContext/UseSidebarContext'; initializeIcons(); const App: React.FC = () => { - const location = useLocation(); + const sidebarContext = useSidebarContext(); return ( - - - Goodbye! - Hello! - - - - - - - - } /> - - - - + + +
+ + + + + + +
+ + } /> + + + } /> + +
+
+
+
+