Skip to content
Open

cutting #8824

Show file tree
Hide file tree
Changes from all 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
22 changes: 11 additions & 11 deletions apps/proxy/Caddyfile.aio.ce
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
{
{$CERT_EMAIL}
acme_ca {$CERT_ACME_CA:https://acme-v02.api.letsencrypt.org/directory}
{$CERT_ACME_DNS}
servers {
max_header_size 25MB
client_ip_headers X-Forwarded-For X-Real-IP
trusted_proxies static {$TRUSTED_PROXIES:0.0.0.0/0}
}
}

(plane_proxy) {
request_body {
max_size {$FILE_SIZE_LIMIT}
Expand Down Expand Up @@ -30,17 +41,6 @@
}
}

{
{$CERT_EMAIL}
acme_ca {$CERT_ACME_CA:https://acme-v02.api.letsencrypt.org/directory}
{$CERT_ACME_DNS}
servers {
max_header_size 25MB
client_ip_headers X-Forwarded-For X-Real-IP
trusted_proxies static {$TRUSTED_PROXIES:0.0.0.0/0}
}
}

{$SITE_ADDRESS} {
import plane_proxy
}
64 changes: 31 additions & 33 deletions apps/proxy/Caddyfile.ce
Original file line number Diff line number Diff line change
@@ -1,39 +1,37 @@
(plane_proxy) {
request_body {
max_size {$FILE_SIZE_LIMIT}
}

redir /spaces /spaces/ permanent
reverse_proxy /spaces/* space:3000

redir /god-mode /god-mode/ permanent
reverse_proxy /god-mode/* admin:3000

reverse_proxy /live/* live:3000

reverse_proxy /api/* api:8000

reverse_proxy /auth/* api:8000

reverse_proxy /static/* api:8000

reverse_proxy /{$BUCKET_NAME}/* plane-minio:9000
reverse_proxy /{$BUCKET_NAME} plane-minio:9000

reverse_proxy /* web:3000
{
email {$CERT_EMAIL}
acme_ca {$CERT_ACME_CA:https://acme-v02.api.letsencrypt.org/directory}
# acme_dns {$CERT_ACME_DNS} # if Let's Encrypt

servers {
max_header_size 25MB
client_ip_headers X-Forwarded-For X-Real-IP
trusted_proxies static {$TRUSTED_PROXIES:0.0.0.0/0}
}
}

{
{$CERT_EMAIL}
acme_ca {$CERT_ACME_CA:https://acme-v02.api.letsencrypt.org/directory}
{$CERT_ACME_DNS}
servers {
max_header_size 25MB
client_ip_headers X-Forwarded-For X-Real-IP
trusted_proxies static {$TRUSTED_PROXIES:0.0.0.0/0}
}
(plane_proxy) {
request_body {
max_size {$FILE_SIZE_LIMIT}
}

redir /spaces /spaces/ permanent
reverse_proxy /spaces/* space:3000

redir /god-mode /god-mode/ permanent
reverse_proxy /god-mode/* admin:3000

reverse_proxy /live/* live:3000
reverse_proxy /api/* api:8000
reverse_proxy /auth/* api:8000
reverse_proxy /static/* api:8000

reverse_proxy /{$BUCKET_NAME}/* plane-minio:9000
reverse_proxy /{$BUCKET_NAME} plane-minio:9000

reverse_proxy /* web:3000
}

{$SITE_ADDRESS} {
import plane_proxy
import plane_proxy
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import { CycleIcon } from "@plane/propel/icons";
import { Breadcrumbs, Header } from "@plane/ui";
// components
import { BreadcrumbLink } from "@/components/common/breadcrumb-link";
// plane web components
import { UpgradeBadge } from "@/plane-web/components/workspace/upgrade-badge";

export const WorkspaceActiveCycleHeader = observer(function WorkspaceActiveCycleHeader() {
const { t } = useTranslation();
Expand All @@ -29,7 +27,6 @@ export const WorkspaceActiveCycleHeader = observer(function WorkspaceActiveCycle
}
/>
</Breadcrumbs>
<UpgradeBadge size="md" />
</Header.LeftItem>
</Header>
);
Expand Down
5 changes: 1 addition & 4 deletions apps/web/ce/components/active-cycles/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
* See the LICENSE file for details.
*/

// local imports
import { WorkspaceActiveCyclesUpgrade } from "./workspace-active-cycles-upgrade";

export function WorkspaceActiveCyclesRoot() {
return <WorkspaceActiveCyclesUpgrade />;
return null;
}
12 changes: 2 additions & 10 deletions apps/web/ce/components/issues/bulk-operations/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
*/

import { observer } from "mobx-react";
// components
import { BulkOperationsUpgradeBanner } from "@/components/issues/bulk-operations/upgrade-banner";
// hooks
import { useMultipleSelectStore } from "@/hooks/store/use-multiple-select-store";
import type { TSelectionHelper } from "@/hooks/use-multiple-select";
Expand All @@ -16,12 +14,6 @@ type Props = {
selectionHelpers: TSelectionHelper;
};

export const IssueBulkOperationsRoot = observer(function IssueBulkOperationsRoot(props: Props) {
const { className, selectionHelpers } = props;
// store hooks
const { isSelectionActive } = useMultipleSelectStore();

if (!isSelectionActive || selectionHelpers.isSelectionDisabled) return null;

return <BulkOperationsUpgradeBanner className={className} />;
export const IssueBulkOperationsRoot = observer(function IssueBulkOperationsRoot(_props: Props) {
return null;
});
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,6 @@
* See the LICENSE file for details.
*/

// plane imports
import { getButtonStyling } from "@plane/propel/button";
import { cn } from "@plane/utils";
// components
import { ProIcon } from "@/components/common/pro-icon";

export function IssueEmbedUpgradeCard(props: any) {
return (
<div
className={cn(
"flex w-full items-center justify-between gap-5 rounded-md border-[0.5px] border-subtle bg-layer-1 px-5 py-2 shadow-raised-100 max-md:flex-wrap",
{
"border-2": props.selected,
}
)}
>
<div className="flex items-center gap-4">
<ProIcon className="size-4 flex-shrink-0" />
<p className="!text-14 text-secondary">
Embed and access issues in pages seamlessly, upgrade to Plane Pro now.
</p>
</div>
<a
href="https://plane.so/pro"
target="_blank"
rel="noopener noreferrer"
className={cn(getButtonStyling("primary", "base"), "no-underline")}
>
Upgrade
</a>
</div>
);
export function IssueEmbedUpgradeCard(_props: any) {
return null;
}
38 changes: 0 additions & 38 deletions apps/web/ce/components/workspace/billing/root.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,45 +4,16 @@
* See the LICENSE file for details.
*/

import { useState } from "react";
import { observer } from "mobx-react";
// plane imports
import { DEFAULT_PRODUCT_BILLING_FREQUENCY, SUBSCRIPTION_WITH_BILLING_FREQUENCY } from "@plane/constants";
import { useTranslation } from "@plane/i18n";
import type { TBillingFrequency, TProductBillingFrequency } from "@plane/types";
import { EProductSubscriptionEnum } from "@plane/types";
// components
import { SettingsBoxedControlItem } from "@/components/settings/boxed-control-item";
import { SettingsHeading } from "@/components/settings/heading";
// local imports
import { PlansComparison } from "./comparison/root";

export const BillingRoot = observer(function BillingRoot() {
const [isCompareAllFeaturesSectionOpen, setIsCompareAllFeaturesSectionOpen] = useState(false);
const [productBillingFrequency, setProductBillingFrequency] = useState<TProductBillingFrequency>(
DEFAULT_PRODUCT_BILLING_FREQUENCY
);
const { t } = useTranslation();

/**
* Retrieves the billing frequency for a given subscription type
* @param {EProductSubscriptionEnum} subscriptionType - Type of subscription to get frequency for
* @returns {TBillingFrequency | undefined} - Billing frequency if subscription supports it, undefined otherwise
*/
const getBillingFrequency = (subscriptionType: EProductSubscriptionEnum): TBillingFrequency | undefined =>
SUBSCRIPTION_WITH_BILLING_FREQUENCY.includes(subscriptionType)
? productBillingFrequency[subscriptionType]
: undefined;

/**
* Updates the billing frequency for a specific subscription type
* @param {EProductSubscriptionEnum} subscriptionType - Type of subscription to update
* @param {TBillingFrequency} frequency - New billing frequency to set
* @returns {void}
*/
const setBillingFrequency = (subscriptionType: EProductSubscriptionEnum, frequency: TBillingFrequency): void =>
setProductBillingFrequency({ ...productBillingFrequency, [subscriptionType]: frequency });

return (
<section className="relative scrollbar-hide size-full overflow-y-auto">
<div>
Expand All @@ -57,15 +28,6 @@ export const BillingRoot = observer(function BillingRoot() {
/>
</div>
</div>
<div className="mt-10 flex flex-col gap-y-3">
<h4 className="text-h6-semibold">All plans</h4>
<PlansComparison
isCompareAllFeaturesSectionOpen={isCompareAllFeaturesSectionOpen}
getBillingFrequency={getBillingFrequency}
setBillingFrequency={setBillingFrequency}
setIsCompareAllFeaturesSectionOpen={setIsCompareAllFeaturesSectionOpen}
/>
</div>
</section>
);
});
27 changes: 5 additions & 22 deletions apps/web/ce/components/workspace/edition-badge.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,26 @@
* See the LICENSE file for details.
*/

import { useState } from "react";
import { observer } from "mobx-react";
// ui
import { useTranslation } from "@plane/i18n";
import { Tooltip } from "@plane/propel/tooltip";
// hooks
import { usePlatformOS } from "@/hooks/use-platform-os";
import packageJson from "package.json";
// local components
import { PaidPlanUpgradeModal } from "../license";
import { Button } from "@plane/propel/button";

export const WorkspaceEditionBadge = observer(function WorkspaceEditionBadge() {
// states
const [isPaidPlanPurchaseModalOpen, setIsPaidPlanPurchaseModalOpen] = useState(false);
// translation
const { t } = useTranslation();
// platform
const { isMobile } = usePlatformOS();

return (
<>
<PaidPlanUpgradeModal
isOpen={isPaidPlanPurchaseModalOpen}
handleClose={() => setIsPaidPlanPurchaseModalOpen(false)}
/>
<Tooltip tooltipContent={`Version: v${packageJson.version}`} isMobile={isMobile}>
<Button
variant="tertiary"
size="lg"
onClick={() => setIsPaidPlanPurchaseModalOpen(true)}
aria-haspopup="dialog"
aria-label={t("aria_labels.projects_sidebar.edition_badge")}
>
Community
</Button>
</Tooltip>
</>
<Tooltip tooltipContent={`Version: v${packageJson.version}`} isMobile={isMobile}>
<Button variant="tertiary" size="lg" aria-label={t("aria_labels.projects_sidebar.edition_badge")}>
Community
</Button>
</Tooltip>
);
});
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import { useAppTheme } from "@/hooks/store/use-app-theme";
import { useUser, useUserPermissions } from "@/hooks/store/user";
import { useWorkspaceNavigationPreferences } from "@/hooks/use-navigation-preferences";
// local imports
import { UpgradeBadge } from "../upgrade-badge";
import { getSidebarNavigationItemIcon } from "./helper";

type TExtendedSidebarItemProps = {
Expand Down Expand Up @@ -199,11 +198,6 @@ export const ExtendedSidebarItem = observer(function ExtendedSidebarItem(props:
</div>
</Link>
<div className="flex items-center gap-2">
{item.key === "active_cycles" && (
<div className="flex-shrink-0">
<UpgradeBadge />
</div>
)}
{isPinned ? (
<Tooltip tooltipContent="Unpin">
<PinOff
Expand Down
21 changes: 2 additions & 19 deletions apps/web/ce/components/workspace/upgrade-badge.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,23 +13,6 @@ type TUpgradeBadge = {
size?: "sm" | "md";
};

export function UpgradeBadge(props: TUpgradeBadge) {
const { className, size = "sm" } = props;

const { t } = useTranslation();

return (
<div
className={cn(
"w-fit cursor-pointer rounded-2xl bg-accent-primary/20 text-center font-medium text-accent-secondary outline-none",
{
"px-3 text-13": size === "md",
"px-2 text-11": size === "sm",
},
className
)}
>
{t("sidebar.pro")}
</div>
);
export function UpgradeBadge(_props: TUpgradeBadge) {
return null;
}
2 changes: 0 additions & 2 deletions apps/web/core/components/estimates/create/stage-one.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import type { TEstimateSystemKeys } from "@plane/types";
import { convertMinutesToHoursMinutesString } from "@plane/utils";
// plane web imports
import { isEstimateSystemEnabled } from "@/plane-web/components/estimates/helper";
import { UpgradeBadge } from "@/plane-web/components/workspace/upgrade-badge";
import { RadioInput } from "../radio-select";
// local imports

Expand Down Expand Up @@ -53,7 +52,6 @@ export function EstimateCreateStageOne(props: TEstimateCreateStageOne) {
) : !isEnabled ? (
<div className="relative flex cursor-no-drop items-center gap-2 text-tertiary">
{t(ESTIMATE_SYSTEMS[currentSystem]?.i18n_name)}
<UpgradeBadge />
</div>
) : (
<div>{t(ESTIMATE_SYSTEMS[currentSystem]?.i18n_name)}</div>
Expand Down
Loading