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

GG portal 1.18 features #114

Merged
merged 87 commits into from
Dec 18, 2024
Merged
Changes from 1 commit
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
bf08cb0
changelog
Charlesthebird Aug 27, 2024
b5d9274
changelog
Charlesthebird Aug 27, 2024
ac02085
added existing portal server teams and apps and admin features
Charlesthebird Sep 5, 2024
0b825ea
Delete projects/yarn.lock
Charlesthebird Sep 5, 2024
e378da5
updated changelog
Charlesthebird Sep 5, 2024
8f1d49d
api details page when logged out
Charlesthebird Sep 5, 2024
91016ae
empty page cleanup
Charlesthebird Sep 5, 2024
a9bc25c
small fix
Charlesthebird Sep 5, 2024
b0ad09a
Merge pull request #96 from solo-io/charlesthebird/existing-1-18-feat…
Worfle Sep 5, 2024
b707457
updated apps grid card styles to not include images.
Charlesthebird Sep 6, 2024
41a55f2
added simple empty state component. Updated landing page to not flick…
Charlesthebird Sep 9, 2024
3318f6e
wording
Charlesthebird Sep 9, 2024
77eb905
changelog
Charlesthebird Sep 9, 2024
f328599
empty state cleanup.
Charlesthebird Sep 9, 2024
8d78eb4
Merge pull request #97 from solo-io/charlesthebird/appsDocsLoadingFixes
Worfle Sep 9, 2024
7756c16
changelog
Charlesthebird Sep 10, 2024
e350dd6
Initial api keys section added. Still need post-creation modal.
Charlesthebird Sep 10, 2024
9c77118
updated empty state, added some instructions for empty states.
Charlesthebird Sep 11, 2024
6e3a336
empty data rename
Charlesthebird Sep 11, 2024
7ca428c
generate api key modal complete.
Charlesthebird Sep 11, 2024
ff7fa7a
Merge pull request #98 from solo-io/charlesthebird/appDetailsApiKeysS…
Charlesthebird Sep 11, 2024
4485944
changelog
Charlesthebird Sep 12, 2024
d612361
added more custom pages styles, and updated readme
Charlesthebird Sep 13, 2024
0faea1d
readme
Charlesthebird Sep 13, 2024
626ed68
readme
Charlesthebird Sep 13, 2024
a218506
readme
Charlesthebird Sep 13, 2024
b46ebea
readme
Charlesthebird Sep 13, 2024
432717e
highlight fix and dropdown fix
Charlesthebird Sep 13, 2024
0d754a3
navigation alignment
Charlesthebird Sep 13, 2024
1bd0b01
header nav update
Charlesthebird Sep 16, 2024
a348600
header.tsx improvements
Charlesthebird Sep 16, 2024
412c14d
Merge pull request #100 from solo-io/charlesthebird/customPages
Charlesthebird Sep 16, 2024
5c3525d
changelog
Charlesthebird Sep 16, 2024
fc74784
notes
Charlesthebird Sep 16, 2024
36ca598
added swagger instance method configuration options and documented them.
Charlesthebird Sep 17, 2024
f66df88
testing
Charlesthebird Sep 17, 2024
62d1875
testing
Charlesthebird Sep 17, 2024
03bee99
testing
Charlesthebird Sep 17, 2024
4838d56
testing
Charlesthebird Sep 17, 2024
e6f0546
testing
Charlesthebird Sep 17, 2024
ac6caa4
reverted readme table
Charlesthebird Sep 17, 2024
0354b8f
update
Charlesthebird Sep 17, 2024
7ec958e
update
Charlesthebird Sep 17, 2024
0f31e95
makefile updates
Charlesthebird Sep 17, 2024
1fbac24
naming fix
Charlesthebird Sep 17, 2024
46a7b7c
readme update and oauth fix
Charlesthebird Sep 18, 2024
074b82b
Merge pull request #101 from solo-io/charlesthebird/swaggerUiPrefillT…
Charlesthebird Sep 18, 2024
1089ea5
added fixes for the oidc header and some refactoring of that area.
Charlesthebird Sep 20, 2024
da84cf9
Merge pull request #103 from solo-io/charlesthebird/headerRefactorAnd…
Charlesthebird Sep 20, 2024
b249864
Added oauth section to app details page.
Charlesthebird Sep 23, 2024
aa95d3e
userHolder
Charlesthebird Sep 23, 2024
1b7e149
Updated APIS_IMAGE_URL -> BANNER_IMAGE_URL, and updated /me endpoint …
Charlesthebird Sep 24, 2024
76c6639
added create and delete functionality for app oauth clients.
Charlesthebird Sep 24, 2024
db2f64a
changelog
Charlesthebird Sep 24, 2024
e8c6c2a
comments
Charlesthebird Sep 24, 2024
8e1e025
bgImageURL
Charlesthebird Sep 24, 2024
7783111
Merge pull request #104 from solo-io/charlesthebird/oauthClientUpdates
Charlesthebird Sep 24, 2024
17104cc
changelog
Charlesthebird Sep 25, 2024
4719e6e
added UserChecker for login flow.
Charlesthebird Sep 25, 2024
1b03b5b
userchecker.
Charlesthebird Sep 25, 2024
140215e
starting on metadata
Charlesthebird Sep 25, 2024
d695e95
added mutations
Charlesthebird Sep 26, 2024
f5f0a0e
metadata creation working - though not being returned.
Charlesthebird Sep 26, 2024
778db7d
Updated metadata display and added it to the app details page. Tested…
Charlesthebird Sep 27, 2024
1656ca0
build fix
Charlesthebird Sep 27, 2024
d113b8f
feedback
Charlesthebird Sep 27, 2024
9efb094
Merge pull request #105 from solo-io/charlesthebird/metadataCRUD
Charlesthebird Sep 27, 2024
8164804
allow changing subscription status + update unit endpoints + add spec…
inFocus7 Oct 21, 2024
228069d
changelog
inFocus7 Oct 21, 2024
00d8ccc
remove comment
inFocus7 Oct 21, 2024
38054b8
Added issueLink, otherwise some small (nonfunctional) code updates.
Charlesthebird Oct 21, 2024
6619837
Merge pull request #106 from solo-io/1.18-hotfixes
Charlesthebird Oct 21, 2024
28b06fc
changelog
Charlesthebird Oct 22, 2024
3b9f7eb
added logic in for showing alerts on the app rate limit sections.
Charlesthebird Oct 22, 2024
e572fc4
Added an empty rate limit message, and updated changelog.
Charlesthebird Oct 23, 2024
e155dcb
spacing
Charlesthebird Oct 23, 2024
eafefb5
cleanup
Charlesthebird Oct 23, 2024
e140a9a
Merge pull request #107 from solo-io/charlesthebird/rateLimitDisplayU…
Charlesthebird Oct 23, 2024
3bd9997
added options to configure the app details page sections.
Charlesthebird Oct 23, 2024
7125f2f
DEFAULT_APP_AUTH rename.
Charlesthebird Oct 23, 2024
c26a139
Merge pull request #108 from solo-io/charlesthebird/optionsForEnablin…
Charlesthebird Oct 23, 2024
0bbaa75
tslint fix
Charlesthebird Nov 27, 2024
42e2e83
updated to node 18.17, added packageManager field, renamed UserChecke…
Charlesthebird Nov 27, 2024
c18fbe2
merged main with the apisPageReload variable changes
Charlesthebird Dec 6, 2024
c266bba
moved changelogs
Charlesthebird Dec 18, 2024
d67d1c1
added error codes
Charlesthebird Dec 18, 2024
f172d5d
readme
Charlesthebird Dec 18, 2024
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
Prev Previous commit
Next Next commit
updated apps grid card styles to not include images.
Signed-off-by: Nicholas Bucher <behappy54321@gmail.com>
Charlesthebird committed Sep 6, 2024
commit b707457e93dfcc8c606b246b4d07b6d380ef5989
18 changes: 18 additions & 0 deletions changelog/v0.0.36/apps-docs-loading-fixes.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
changelog:
- type: FIX
issueLink: https://github.com/solo-io/solo-projects/issues/6853
description: >-
Fixes flickering loading state on landing pages.
- type: FIX
issueLink: https://github.com/solo-io/solo-projects/issues/6852
description: >-
Adds docs setup information to API details page.
- type: FIX
issueLink: https://github.com/solo-io/solo-projects/issues/6851
description: >-
Removes placeholder images for apps.
# Check if this is relevant here:
# - type: FIX
# issueLink: https://github.com/solo-io/solo-projects/issues/6854
# description: >-
# Adds information when in a logged out empty state on private Portals.
Original file line number Diff line number Diff line change
@@ -1,26 +1,47 @@
import { Box } from "@mantine/core";
import { Box, Flex } from "@mantine/core";
import { NavLink } from "react-router-dom";
import { Icon } from "../../../../Assets/Icons";
import { CardStyles } from "../../../../Styles/shared/Card.style";
import { GridCardStyles } from "../../../../Styles/shared/GridCard.style";
import { getAppDetailsLink } from "../../../../Utility/link-builders";
import { UtilityStyles } from "../../../../Styles/shared/Utility.style";
import {
getAppDetailsLink,
getTeamDetailsLink,
} from "../../../../Utility/link-builders";
import { SubscriptionInfoCardStyles } from "../../../Common/SubscriptionsList/SubscriptionInfoCard/SubscriptionInfoCard.style";
import { AppWithTeam } from "../AppsList";

/**
* MAIN COMPONENT
**/
export function AppSummaryGridCard({ app }: { app: AppWithTeam }) {
return (
<GridCardStyles.GridCardWithLink to={getAppDetailsLink(app)}>
<Box px={"20px"} sx={{ textAlign: "left", marginTop: "10px" }}>
<CardStyles.TitleMedium>{app.name}</CardStyles.TitleMedium>
<CardStyles.Description>{app.description}</CardStyles.Description>
</Box>
<GridCardStyles.Footer>
<CardStyles.MetaInfo>
<Icon.TeamsIcon />
<CardStyles.SecondaryInfo>{app.team.name}</CardStyles.SecondaryInfo>
</CardStyles.MetaInfo>
</GridCardStyles.Footer>
</GridCardStyles.GridCardWithLink>
// <GridCardStyles.GridCardWithLink whiteBg to={getAppDetailsLink(app)}>
<GridCardStyles.GridCard whiteBg>
<div className="content">
<Box p={"20px"}>
<Flex direction={"column"} align={"flex-start"} gap={"5px"}>
<CardStyles.TitleSmall bold>{app.name}</CardStyles.TitleSmall>
<Flex align={"center"} justify={"flex-start"} gap={"8px"}>
<UtilityStyles.NavLinkContainer
withArrow={false}
flexCenter={true}
>
<NavLink to={getTeamDetailsLink(app.team)}>
<Icon.TeamsIcon width={20} />
{app.team.name}
</NavLink>
</UtilityStyles.NavLinkContainer>
</Flex>
<CardStyles.Description>{app.description}</CardStyles.Description>
</Flex>
</Box>
</div>
<SubscriptionInfoCardStyles.Footer>
<UtilityStyles.NavLinkContainer>
<NavLink to={getAppDetailsLink(app)}>DETAILS</NavLink>
</UtilityStyles.NavLinkContainer>
</SubscriptionInfoCardStyles.Footer>
</GridCardStyles.GridCard>
);
}

This file was deleted.

11 changes: 1 addition & 10 deletions projects/ui/src/Components/Apps/PageContent/AppsFilter.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import { Select, TextInput } from "@mantine/core";
import { useContext, useMemo } from "react";
import { useMemo } from "react";
import { Team } from "../../../Apis/api-types";
import { Icon } from "../../../Assets/Icons";
import { AppContext } from "../../../Context/AppContext";
import { FilterStyles as Styles } from "../../../Styles/shared/Filters.style";
import { FilterType } from "../../../Utility/filter-utility";
import {
AppliedFiltersSection,
FiltrationProp,
} from "../../Common/Filters/AppliedFiltersSection";
import GridListToggle from "../../Common/GridListToggle";

export function AppsFilter({
filters,
@@ -18,8 +16,6 @@ export function AppsFilter({
filters: FiltrationProp;
teams: Team[];
}) {
const { preferGridView, setPreferGridView } = useContext(AppContext);

const addNameFilter = (evt: { target: { value: string } }) => {
const displayName = evt.target.value;
// Check for duplicate filters.
@@ -98,11 +94,6 @@ export function AppsFilter({
placeholder="Team"
/>
</div>

<GridListToggle
onChange={(newIsList) => setPreferGridView(!newIsList)}
isList={!preferGridView}
/>
</div>

<AppliedFiltersSection filters={filters} />
22 changes: 5 additions & 17 deletions projects/ui/src/Components/Apps/PageContent/AppsList.tsx
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
import { useContext, useMemo } from "react";
import { useMemo } from "react";
import { di } from "react-magnetic-di";
import { App, Team } from "../../../Apis/api-types";
import { useListAppsForTeams } from "../../../Apis/gg_hooks";
import { AppContext } from "../../../Context/AppContext";
import { FilterPair, FilterType } from "../../../Utility/filter-utility";
import { omitErrorMessageResponse } from "../../../Utility/utility";
import { EmptyData } from "../../Common/EmptyData";
import { Loading } from "../../Common/Loading";
import { AppsPageStyles } from "../AppsPage.style";
import { AppSummaryGridCard } from "./AppSummaryCards/AppSummaryGridCard";
import { AppSummaryListCard } from "./AppSummaryCards/AppSummaryListCard";

export type AppWithTeam = App & { team: Team };

@@ -23,7 +21,6 @@ export function AppsList({
nameFilter: string;
}) {
di(useListAppsForTeams);
const { preferGridView } = useContext(AppContext);
// This is the App[][] of apps per team.
const { isLoading, data: appsListPerTeam } = useListAppsForTeams(teams);
// This is the flattened AppWithTeam[] that includes team information.
@@ -91,20 +88,11 @@ export function AppsList({
if (!filteredAppsList.length) {
return <EmptyData topic="app" />;
}
if (preferGridView) {
return (
<AppsPageStyles.AppGridList>
{filteredAppsList.map((api) => (
<AppSummaryGridCard app={api} key={api.id} />
))}
</AppsPageStyles.AppGridList>
);
}
return (
<div>
{filteredAppsList.map((app) => (
<AppSummaryListCard app={app} key={app.id} />
<AppsPageStyles.AppGridList>
{filteredAppsList.map((api) => (
<AppSummaryGridCard app={api} key={api.id} />
))}
</div>
</AppsPageStyles.AppGridList>
);
}
Original file line number Diff line number Diff line change
@@ -57,7 +57,7 @@ export function TeamSummaryGridCard({ team }: { team: Team }) {
</div>
<SubscriptionInfoCardStyles.Footer>
<UtilityStyles.NavLinkContainer>
<NavLink to={getTeamDetailsLink(team)}>MANAGE</NavLink>
<NavLink to={getTeamDetailsLink(team)}>DETAILS</NavLink>
</UtilityStyles.NavLinkContainer>
</SubscriptionInfoCardStyles.Footer>
</GridCardStyles.GridCard>
36 changes: 24 additions & 12 deletions projects/ui/src/Styles/shared/Utility.style.tsx
Original file line number Diff line number Diff line change
@@ -20,30 +20,42 @@ export namespace UtilityStyles {
justify-content: center;
`;

export const NavLinkContainer = styled.div(
({ theme }) => css`
export const NavLinkContainer = styled.div<{
withArrow?: boolean;
flexCenter?: boolean;
}>(
({ theme, withArrow = true, flexCenter = false }) => css`
font-size: 0.95rem;
a {
position: relative;
font-weight: 500;
padding-right: 5px;
${flexCenter &&
css`
display: flex;
align-items: center;
gap: 8px;
`}
:hover {
color: ${theme.seaBlue};
text-decoration: underline;
}
:active {
color: ${theme.oceanBlue};
}
:after {
content: "";
border-top: 2px solid;
border-right: 2px solid;
border-color: currentColor;
width: 10px;
height: 10px;
display: inline-block;
transform: translateX(2px) rotate(45deg);
}
${!!withArrow &&
css`
:after {
content: "";
border-top: 2px solid;
border-right: 2px solid;
border-color: currentColor;
width: 10px;
height: 10px;
display: inline-block;
transform: translateX(2px) rotate(45deg);
}
`}
}
`
);