Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

refactor: move dashboard functionality to modules/dashboard/#11721

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
aslilac merged 3 commits intomainfrommodules-dashboard
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes fromall commits
Commits
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
7 changes: 3 additions & 4 deletionssite/package.json
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -170,10 +170,9 @@
"vite-plugin-turbosnap": "1.0.2"
},
"browserslist": [
"chrome 66",
"firefox 63",
"edge 79",
"safari 15.4"
"chrome 110",
"firefox 111",
"safari 16.0"
],
"resolutions": {
"optionator": "0.9.3",
Expand Down
2 changes: 1 addition & 1 deletionsite/src/AppRouter.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -5,8 +5,8 @@ import {
BrowserRouter as Router,
Navigate,
} from "react-router-dom";
import { DashboardLayout } from "./modules/dashboard/DashboardLayout";
import { RequireAuth } from "./contexts/auth/RequireAuth";
import { DashboardLayout } from "./components/Dashboard/DashboardLayout";
import { FullScreenLoader } from "./components/Loader/FullScreenLoader";
import AuditPage from "./pages/AuditPage/AuditPage";
import { DeploySettingsLayout } from "./pages/DeploySettingsPage/DeploySettingsLayout";
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
import { type FC } from "react";
import type { Workspace } from "api/typesGenerated";
import { displayDormantDeletion } from "utils/dormant";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useDashboard } from "modules/dashboard/useDashboard";

interface DormantDeletionTextProps {
workspace: Workspace;
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -15,7 +15,7 @@ import {
MockAppearanceConfig,
} from "testHelpers/entities";
import { WorkspaceStatusBadge } from "./WorkspaceStatusBadge";
import {DashboardProviderContext } from "components/Dashboard/DashboardProvider";
import {DashboardContext } from "modules/dashboard/DashboardProvider";
import type { Meta, StoryObj } from "@storybook/react";

const MockedAppearance = {
Expand All@@ -29,7 +29,7 @@ const meta: Meta<typeof WorkspaceStatusBadge> = {
component: WorkspaceStatusBadge,
decorators: [
(Story) => (
<DashboardProviderContext.Provider
<DashboardContext.Provider
value={{
buildInfo: MockBuildInfo,
entitlements: MockEntitlementsWithScheduling,
Expand All@@ -38,7 +38,7 @@ const meta: Meta<typeof WorkspaceStatusBadge> = {
}}
>
<Story />
</DashboardProviderContext.Provider>
</DashboardContext.Provider>
),
],
};
Expand Down
2 changes: 1 addition & 1 deletionsite/src/contexts/auth/RequireAuth.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,7 +4,7 @@ import { Outlet, Navigate, useLocation } from "react-router-dom";
import { embedRedirect } from "utils/redirect";
import { isApiError } from "api/errors";
import { ProxyProvider } from "contexts/ProxyContext";
import { DashboardProvider } from "components/Dashboard/DashboardProvider";
import { DashboardProvider } from "modules/dashboard/DashboardProvider";
import { FullScreenLoader } from "components/Loader/FullScreenLoader";
import { useAuth } from "./useAuth";

Expand Down
1 change: 0 additions & 1 deletionsite/src/hooks/index.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
export * from "./useClickable";
export * from "./useClickableTableRow";
export * from "./useClipboard";
export * from "./useFeatureVisibility";
export * from "./usePagination";
export * from "./useTab";
Original file line numberDiff line numberDiff line change
Expand Up@@ -4,10 +4,10 @@ import Button from "@mui/material/Button";
import InfoOutlined from "@mui/icons-material/InfoOutlined";
import { type FC, type HTMLAttributes, Suspense } from "react";
import { Outlet } from "react-router-dom";
import { LicenseBanner } from "modules/dashboard/LicenseBanner/LicenseBanner";
import { ServiceBanner } from "modules/dashboard/ServiceBanner/ServiceBanner";
import { usePermissions } from "contexts/auth/usePermissions";
import { LicenseBanner } from "components/Dashboard/LicenseBanner/LicenseBanner";
import { Loader } from "components/Loader/Loader";
import { ServiceBanner } from "components/Dashboard/ServiceBanner/ServiceBanner";
import { dashboardContentBottomPadding } from "theme/constants";
import { docs } from "utils/docs";
import { Navbar } from "./Navbar/Navbar";
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -14,7 +14,6 @@ import {
type PropsWithChildren,
createContext,
useCallback,
useContext,
useState,
} from "react";
import { appearance } from "api/queries/appearance";
Expand All@@ -27,16 +26,16 @@ interface Appearance {
setPreview: (config: AppearanceConfig) => void;
}

interfaceDashboardProviderValue {
exportinterfaceDashboardValue {
buildInfo: BuildInfoResponse;
entitlements: Entitlements;
experiments: Experiments;
appearance: Appearance;
}

export constDashboardProviderContext = createContext<
DashboardProviderValue |undefined
>(undefined);
export constDashboardContext = createContext<DashboardValue | undefined>(
undefined,
);

export const DashboardProvider: FC<PropsWithChildren> = ({ children }) => {
const buildInfoQuery = useQuery(buildInfo());
Expand DownExpand Up@@ -83,7 +82,7 @@ export const DashboardProvider: FC<PropsWithChildren> = ({ children }) => {
}

return (
<DashboardProviderContext.Provider
<DashboardContext.Provider
value={{
buildInfo: buildInfoQuery.data,
entitlements: entitlementsQuery.data,
Expand All@@ -96,23 +95,6 @@ export const DashboardProvider: FC<PropsWithChildren> = ({ children }) => {
}}
>
{children}
</DashboardProviderContext.Provider>
</DashboardContext.Provider>
);
};

export const useDashboard = (): DashboardProviderValue => {
const context = useContext(DashboardProviderContext);

if (!context) {
throw new Error(
"useDashboard only can be used inside of DashboardProvider",
);
}

return context;
};

export const useIsWorkspaceActionsEnabled = (): boolean => {
const { entitlements } = useDashboard();
return entitlements.features["advanced_template_scheduling"].enabled;
};
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
import { type FC } from "react";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useDashboard } from "modules/dashboard/useDashboard";
import { LicenseBannerView } from "./LicenseBannerView";

export const LicenseBanner: FC = () => {
Expand Down
Original file line numberDiff line numberDiff line change
Expand Up@@ -3,8 +3,8 @@ import { useAuth } from "contexts/auth/useAuth";
import { useMe } from "contexts/auth/useMe";
import { usePermissions } from "contexts/auth/usePermissions";
import { useProxy } from "contexts/ProxyContext";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useFeatureVisibility } from "hooks/useFeatureVisibility";
import { useDashboard } from "modules/dashboard/useDashboard";
import { useFeatureVisibility } from "../useFeatureVisibility";
import { NavbarView } from "./NavbarView";

export const Navbar: FC = () => {
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
import { type FC } from "react";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useDashboard } from "modules/dashboard/useDashboard";
import { ServiceBannerView } from "./ServiceBannerView";

export const ServiceBanner: FC = () => {
Expand Down
14 changes: 14 additions & 0 deletionssite/src/modules/dashboard/useDashboard.ts
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
import { useContext } from "react";
import { DashboardContext, type DashboardValue } from "./DashboardProvider";

export const useDashboard = (): DashboardValue => {
const context = useContext(DashboardContext);

if (!context) {
throw new Error(
"useDashboard only can be used inside of DashboardProvider",
);
}

return context;
};
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
import { FeatureName } from "api/typesGenerated";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useDashboard } from "./useDashboard";
import { selectFeatureVisibility } from "utils/entitlements";

export const useFeatureVisibility = (): Record<FeatureName, boolean> => {
Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
import { act, renderHook, waitFor } from "@testing-library/react";
import { useUpdateCheck } from "./useUpdateCheck";
import { QueryClient, QueryClientProvider } from "react-query";
import { type FC, type PropsWithChildren } from "react";
import { QueryClient, QueryClientProvider } from "react-query";
import { rest } from "msw";
import { MockUpdateCheck } from "testHelpers/entities";
import { server } from "testHelpers/server";
import { useUpdateCheck } from "./useUpdateCheck";

const createWrapper = (): FC<PropsWithChildren> => {
const queryClient = new QueryClient();
Expand Down
12 changes: 6 additions & 6 deletionssite/src/pages/AuditPage/AuditPage.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
import { isNonInitialPage } from "components/PaginationWidget/utils";
import { useFeatureVisibility } from "hooks/useFeatureVisibility";
import { FC } from "react";
import { type FC } from "react";
import { Helmet } from "react-helmet-async";
import { useSearchParams } from "react-router-dom";
import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility";
import { pageTitle } from "utils/page";
import { AuditPageView } from "./AuditPageView";
import { paginatedAudits } from "api/queries/audits";
import { usePaginatedQuery } from "hooks/usePaginatedQuery";
import { useUserFilterMenu } from "components/Filter/UserFilter";
import { isNonInitialPage } from "components/PaginationWidget/utils";
import { useFilter } from "components/Filter/filter";
import { useActionFilterMenu, useResourceTypeFilterMenu } from "./AuditFilter";
import { usePaginatedQuery } from "hooks/usePaginatedQuery";
import { paginatedAudits } from "api/queries/audits";
import { AuditPageView } from "./AuditPageView";

const AuditPage: FC = () => {
const { audit_log: isAuditLogVisible } = useFeatureVisibility();
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -10,9 +10,9 @@ import {
createTemplate,
} from "api/queries/templates";
import { useOrganizationId } from "contexts/auth/useOrganizationId";
import { useDashboard } from "modules/dashboard/useDashboard";
import { ErrorAlert } from "components/Alert/ErrorAlert";
import { Loader } from "components/Loader/Loader";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { CreateTemplateForm } from "./CreateTemplateForm";
import { firstVersionFromFile, getFormPermissions, newTemplate } from "./utils";

Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -9,9 +9,9 @@ import {
templateVersionVariables,
} from "api/queries/templates";
import { useOrganizationId } from "contexts/auth/useOrganizationId";
import { useDashboard } from "modules/dashboard/useDashboard";
import { ErrorAlert } from "components/Alert/ErrorAlert";
import { Loader } from "components/Loader/Loader";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { CreateTemplateForm } from "./CreateTemplateForm";
import {
firstVersionFromExample,
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -8,7 +8,7 @@ import {
} from "api/queries/templates";
import { uploadFile } from "api/queries/files";
import { useOrganizationId } from "contexts/auth/useOrganizationId";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useDashboard } from "modules/dashboard/useDashboard";
import { CreateTemplateForm } from "./CreateTemplateForm";
import { firstVersionFromFile, getFormPermissions, newTemplate } from "./utils";

Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
import { UpdateAppearanceConfig } from "api/typesGenerated";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { FC } from "react";
import { type FC } from "react";
import { Helmet } from "react-helmet-async";
import { pageTitle } from "utils/page";
import { AppearanceSettingsPageView } from "./AppearanceSettingsPageView";
import { useMutation, useQueryClient } from "react-query";
import type { UpdateAppearanceConfig } from "api/typesGenerated";
import { useDashboard } from "modules/dashboard/useDashboard";
import { pageTitle } from "utils/page";
import { updateAppearance } from "api/queries/appearance";
import { getErrorMessage } from "api/errors";
import { displayError, displaySuccess } from "components/GlobalSnackbar/utils";
import { AppearanceSettingsPageView } from "./AppearanceSettingsPageView";

// ServiceBanner is unlike the other Deployment Settings pages because it
// implements a form, whereas the others are read-only. We make this
Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
import { type FC } from "react";
import { Helmet } from "react-helmet-async";
import { useQuery } from "react-query";
import { getApps } from "api/queries/oauth2";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { FC } from "react";
import { Helmet } from "react-helmet-async";
import { useDashboard } from "modules/dashboard/useDashboard";
import { pageTitle } from "utils/page";
import OAuth2AppsSettingsPageView from "./OAuth2AppsSettingsPageView";

Expand Down
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
import { type FC } from "react";
import { Helmet } from "react-helmet-async";
import { pageTitle } from "utils/page";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useDashboard } from "modules/dashboard/useDashboard";
import { useDeploySettings } from "../DeploySettingsLayout";
import { ObservabilitySettingsPageView } from "./ObservabilitySettingsPageView";

Expand Down
View file
Open in desktop
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
import { type FC } from "react";
import { Helmet } from "react-helmet-async";
import { pageTitle } from "utils/page";
import { useDashboard } from "components/Dashboard/DashboardProvider";
import { useDashboard } from "modules/dashboard/useDashboard";
import { SecuritySettingsPageView } from "./SecuritySettingsPageView";
import { useDeploySettings } from "../DeploySettingsLayout";

Expand Down
4 changes: 2 additions & 2 deletionssite/src/pages/GroupsPage/GroupsPage.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -5,9 +5,9 @@ import { getErrorMessage } from "api/errors";
import { groups } from "api/queries/groups";
import { useOrganizationId } from "contexts/auth/useOrganizationId";
import { usePermissions } from "contexts/auth/usePermissions";
import { useFeatureVisibility } from "hooks/useFeatureVisibility";
import { pageTitle } from "utils/page";
import { useFeatureVisibility } from "modules/dashboard/useFeatureVisibility";
import { displayError } from "components/GlobalSnackbar/utils";
import { pageTitle } from "utils/page";
import GroupsPageView from "./GroupsPageView";

export const GroupsPage: FC = () => {
Expand Down
4 changes: 3 additions & 1 deletionsite/src/pages/HealthPage/AccessURLPage.stories.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,4 +13,6 @@ const meta: Meta = {
export default meta;
type Story = StoryObj;

export const Default: Story = {};
const Example: Story = {};

export { Example as AccessURL };
4 changes: 3 additions & 1 deletionsite/src/pages/HealthPage/DERPPage.stories.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,4 +13,6 @@ const meta: Meta = {
export default meta;
type Story = StoryObj;

export const Default: Story = {};
const Example: Story = {};

export { Example as DERP };
4 changes: 3 additions & 1 deletionsite/src/pages/HealthPage/DERPRegionPage.stories.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -18,4 +18,6 @@ const meta: Meta = {
export default meta;
type Story = StoryObj;

export const Default: Story = {};
const Example: Story = {};

export { Example as DERPRegion };
4 changes: 3 additions & 1 deletionsite/src/pages/HealthPage/DatabasePage.stories.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -13,4 +13,6 @@ const meta: Meta = {
export default meta;
type Story = StoryObj;

export const Default: Story = {};
const Example: Story = {};

export { Example as Database };
Loading

[8]ページ先頭

©2009-2025 Movatter.jp