Skip to content

Commit

Permalink
Merge pull request #641 from karrioapi/patch-2024.6-rc24
Browse files Browse the repository at this point in the history
[release-candidate] 2024.6 rc24
  • Loading branch information
danh91 authored Aug 12, 2024
2 parents 691149a + c1ae6cb commit 3688e4e
Show file tree
Hide file tree
Showing 593 changed files with 280,520 additions and 68,190 deletions.
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ OIDC_RSA_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\nMIIJKQIBAAKCAgEA92+93Tyg6

# Worker config
# WORKER_IMMEDIATE_MODE=True
# TRACKING_PULSE=120
TRACKING_PULSE=120

## Email auth
# EMAIL_PORT=1025
Expand Down
2 changes: 1 addition & 1 deletion apps/api/karrio/server/VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2024.6-rc23
2024.6-rc24
630 changes: 167 additions & 463 deletions apps/api/karrio/server/static/karrio/js/karrio.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion apps/api/karrio/server/static/karrio/js/karrio.js.map

Large diffs are not rendered by default.

63 changes: 34 additions & 29 deletions apps/dashboard/src/layouts/admin-layout.tsx
Original file line number Diff line number Diff line change
@@ -1,25 +1,31 @@
import { ModeIndicator } from '@karrio/ui/components/mode-indicator';
import { AdminSidebar } from '@karrio/ui/components/admin-sidebar';
import { AdminNavbar } from '@karrio/ui/components/admin-navbar';
import { Notifier } from '@karrio/ui/components/notifier';
import { AppLink } from '@karrio/ui/components/app-link';
import React from 'react';
import { ModeIndicator } from "@karrio/ui/components/mode-indicator";
import { AdminSidebar } from "@karrio/ui/components/admin-sidebar";
import { AdminNavbar } from "@karrio/ui/components/admin-navbar";
import { Notifier } from "@karrio/ui/components/notifier";
import { AppLink } from "@karrio/ui/components/app-link";
import React from "react";


export const AdminLayout: React.FC<{ showModeIndicator?: boolean, children?: React.ReactNode }> = ({ children, ...props }) => {
export const AdminLayout: React.FC<{
showModeIndicator?: boolean;
children?: React.ReactNode;
}> = ({ children, ...props }) => {
return (
<>

<div className="is-flex is-flex-direction-column" style={{ minHeight: '100vh' }}>
<div
className="is-flex is-flex-direction-column"
style={{ minHeight: "100vh" }}
>
{props.showModeIndicator && <ModeIndicator />}

<Notifier />
<AdminNavbar />

<div className="is-flex is-flex-grow-1" style={{ paddingTop: 0, height: '100%' }}>
<div
className="is-flex is-flex-grow-1"
style={{ paddingTop: 0, height: "100%" }}
>
<div className="modal-background"></div>
<div className="modal-card admin-modal" style={{ width: '100%' }}>

<div className="modal-card admin-modal" style={{ width: "100%" }}>
<section className="modal-card-body modal-form p-0 pt-5">
<header className="form-floating-header p-2 is-flex is-justify-content-space-between">
<span className="icon-text has-text-weight-bold is-size-6">
Expand All @@ -29,7 +35,12 @@ export const AdminLayout: React.FC<{ showModeIndicator?: boolean, children?: Rea
<span>Administration</span>
</span>
<div>
<AppLink href="/" className="button is-small is-white" shallow={false} prefetch={false}>
<AppLink
href="/"
className="button is-small is-white"
shallow={false}
prefetch={false}
>
<span className="icon is-size-6">
<i className="fa fa-times"></i>
</span>
Expand All @@ -38,29 +49,23 @@ export const AdminLayout: React.FC<{ showModeIndicator?: boolean, children?: Rea
</header>

<div className="admin-wrapper is-relative mt-6 p-0">

<AdminSidebar />

<div className="plex-wrapper" style={{ background: 'inherit', marginLeft: '260px', minHeight: '70vh' }}>
<article className="message is-warning is-size-7">
<div className="message-body">
<p className="has-text-weight-bold">The admin panel is under active development. Please join the chat on Github to propose things that we should consider adding here.</p>
<p className='has-text-weight-semibold'>Note that only staff members of your instance can access this section.</p>
<p className="has-text-weight-semibold">Thank you!</p>
</div>
</article>

<div
className="plex-wrapper"
style={{
background: "inherit",
marginLeft: "260px",
minHeight: "70vh",
}}
>
{children}
</div>

</div>

</section>

</div>
</div>

</div>
</>
)
);
};
80 changes: 40 additions & 40 deletions apps/dashboard/src/modules/Admin/carrier_connections.tsx
Original file line number Diff line number Diff line change
@@ -1,56 +1,56 @@
import { LabelTemplateEditModalProvider } from "@karrio/ui/modals/label-template-edit-modal";
import { SystemCarrierManagement } from "@karrio/ui/admin/system-carrier-management";
import { RateSheetEditModalProvider } from "@karrio/ui/modals/rate-sheet-edit-modal";
import { ConnectProviderModal } from "@karrio/ui/modals/connect-provider-modal";
import { RateSheetManagement } from "@karrio/ui/admin/rate-sheet-management";
import { AuthenticatedPage } from "@/layouts/authenticated-page";
import { ConfirmModal } from "@karrio/ui/modals/confirm-modal";
import { bundleContexts } from '@karrio/hooks/utils';
import { bundleContexts } from "@karrio/hooks/utils";
import { AdminLayout } from "@/layouts/admin-layout";
import Head from "next/head";

export { getServerSideProps } from "@/context/main";

const ContextProviders = bundleContexts([
ConfirmModal,
ConnectProviderModal,
LabelTemplateEditModalProvider,
RateSheetEditModalProvider,
ConfirmModal,
ConnectProviderModal,
LabelTemplateEditModalProvider,
]);


export default function Page(pageProps: any) {
const { APP_NAME } = (pageProps as any).metadata || {};

const Component: React.FC = () => {

return (
<>
<header className="px-0 pb-5 pt-1 mb-1">
<span className="title is-4 has-text-weight-bold">Carrier connections</span>
</header>

{/* System carriers */}
<SystemCarrierManagement />

<div className="p-4"></div>

{/* System carriers */}
<RateSheetManagement />

<div className="p-4"></div>
</>
);
};

return AuthenticatedPage((
<AdminLayout showModeIndicator={true}>
<Head><title>{`Carriers - ${APP_NAME}`}</title></Head>

<ContextProviders>
<Component />
</ContextProviders>

</AdminLayout>
), pageProps)
const { APP_NAME } = (pageProps as any).metadata || {};

const Component: React.FC = () => {
return (
<>
<header className="px-0 pb-5 pt-1 mb-1">
<span className="title is-4 has-text-weight-bold">
Carrier connections
</span>
</header>

{/* System carriers */}
<SystemCarrierManagement />

<div className="p-4"></div>

{/* System carriers */}
<RateSheetManagement />

<div className="p-4"></div>
</>
);
};

return AuthenticatedPage(
<AdminLayout showModeIndicator={true}>
<Head>
<title>{`Carriers - ${APP_NAME}`}</title>
</Head>

<ContextProviders>
<Component />
</ContextProviders>
</AdminLayout>,
pageProps,
);
}
67 changes: 39 additions & 28 deletions apps/dashboard/src/modules/Connections/index.tsx
Original file line number Diff line number Diff line change
@@ -1,65 +1,67 @@
import { ConnectProviderModal, ConnectProviderModalContext } from "@karrio/ui/modals/connect-provider-modal";
import { useCarrierConnectionMutation, useCarrierConnections } from "@karrio/hooks/user-connection";
import {
ConnectProviderModal,
ConnectProviderModalContext,
} from "@karrio/ui/modals/connect-provider-modal";
import {
useCarrierConnectionMutation,
useCarrierConnections,
} from "@karrio/hooks/user-connection";
import { LabelTemplateEditModalProvider } from "@karrio/ui/modals/label-template-edit-modal";
import { Tabs, TabStateContext, TabStateProvider } from "@karrio/ui/components/tabs";
import { RateSheetEditModalProvider } from "@karrio/ui/modals/rate-sheet-edit-modal";
import { SystemConnectionList } from "@karrio/ui/forms/system-carrier-list";
import { UserConnectionList } from "@karrio/ui/forms/user-carrier-list";
import { useSystemConnections } from "@karrio/hooks/system-connection";
import { RateSheetList } from "@karrio/ui/forms/rate-sheet-list";
import { AuthenticatedPage } from "@/layouts/authenticated-page";
import { ConfirmModal } from "@karrio/ui/modals/confirm-modal";
import { DashboardLayout } from "@/layouts/dashboard-layout";
import { AppLink } from "@karrio/ui/components/app-link";
import { ModalProvider } from "@karrio/ui/modals/modal";
import { Loading } from "@karrio/ui/components/loader";
import { bundleContexts } from "@karrio/hooks/utils";
import { useRouter } from "next/dist/client/router";
import { useContext, useEffect } from "react";
import Head from "next/head";
import { AppLink } from "@karrio/ui/components/app-link";

export { getServerSideProps } from "@/context/main";
const ContextProviders = bundleContexts([
ModalProvider,
ConfirmModal,
ConnectProviderModal,
LabelTemplateEditModalProvider,
RateSheetEditModalProvider,
]);


export default function ConnectionsPage(pageProps: any) {
const tabs = ['Your Accounts', 'System Accounts', 'Rate Sheets'];

const Component: React.FC = () => {
const router = useRouter();
const { modal } = router.query;
const { setLoading } = useContext(Loading);
const mutation = useCarrierConnectionMutation();
const { selectTab } = useContext(TabStateContext);
const { query: systemQuery } = useSystemConnections();
const { query: carrierQuery } = useCarrierConnections();
const { editConnection } = useContext(ConnectProviderModalContext);

useEffect(() => { setLoading(carrierQuery.isFetching || systemQuery.isFetching); });
useEffect(() => {
if (modal === 'new') {
setLoading(carrierQuery.isFetching || systemQuery.isFetching);
});
useEffect(() => {
if (modal === "new") {
editConnection({
onConfirm: async () => { selectTab(tabs[0]); },
create: mutation.updateCarrierConnection.mutateAsync,
create: mutation.createCarrierConnection.mutateAsync,
});
}
}, [modal]);

return (
<>

<header className="px-0 pb-0 pt-4 is-flex is-justify-content-space-between">
<span className="title is-4">Carriers</span>
<div>
<button className="button is-primary is-small is-pulled-right" onClick={() => editConnection({
create: mutation.createCarrierConnection.mutateAsync,
})}>
<button
className="button is-primary is-small is-pulled-right"
onClick={() =>
editConnection({
create: mutation.createCarrierConnection.mutateAsync,
})
}
>
<span>Register a carrier</span>
</button>
</div>
Expand All @@ -73,32 +75,41 @@ export default function ConnectionsPage(pageProps: any) {
</AppLink>
</li>
<li className={`is-capitalized has-text-weight-semibold`}>
<AppLink href="/connections/system" shallow={false} prefetch={false}>
<AppLink
href="/connections/system"
shallow={false}
prefetch={false}
>
<span>System Accounts</span>
</AppLink>
</li>
<li className={`is-capitalized has-text-weight-semibold`}>
<AppLink href="/connections/rate-sheets" shallow={false} prefetch={false}>
<AppLink
href="/connections/rate-sheets"
shallow={false}
prefetch={false}
>
<span>Rate Sheets</span>
</AppLink>
</li>
</ul>
</div>

<UserConnectionList />

</>
);
};

return AuthenticatedPage((
return AuthenticatedPage(
<DashboardLayout showModeIndicator={true}>
<Head><title>{`Carrier Connections - ${(pageProps as any).metadata?.APP_NAME}`}</title></Head>
<Head>
<title>{`Carrier Connections - ${(pageProps as any).metadata?.APP_NAME}`}</title>
</Head>

<ContextProviders>
<Component />
</ContextProviders>

</DashboardLayout>
), pageProps);
</DashboardLayout>,
pageProps,
);
}
Loading

0 comments on commit 3688e4e

Please sign in to comment.