feat(FN-217): lazy-load canvas-confetti via dynamic import to avoid bloating subscription bundle (+2 more)
Some checks failed
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Some checks failed
Sync dev → Gitea / Mirror dev to Gitea (push) Has been cancelled
Commits merged: - fix(FN-217): fix import sort order (lint) - fix(FN-217): convert @sase/shared to emit ESM for Vite/Rollup build compatibility - fix(FN-217): lazy-load canvas-confetti via dynamic import to avoid bloating subscription bundle Files changed: apps/web/src/routes/dashboard/subscription/index.tsx | 13 +++++++------ apps/web/src/routes/pricing.tsx | 2 +- packages/shared/package.json | 5 +++-- packages/shared/tsconfig.json | 4 ++-- 4 files changed, 13 insertions(+), 11 deletions(-) Fusion-Task-Id: FN-217
This commit is contained in:
@@ -6,7 +6,7 @@ import { BRAND_SKELETON_KEYS } from "@/lib/keys";
|
|||||||
import { capture, setPeopleProperties } from "@/lib/posthog";
|
import { capture, setPeopleProperties } from "@/lib/posthog";
|
||||||
import { toast } from "@/lib/toast";
|
import { toast } from "@/lib/toast";
|
||||||
import { getUserSettings } from "@/lib/user-settings";
|
import { getUserSettings } from "@/lib/user-settings";
|
||||||
import { formatTRY, FULL_PLAN_BRAND_LIMIT } from "@sase/shared";
|
import { FULL_PLAN_BRAND_LIMIT, formatTRY } from "@sase/shared";
|
||||||
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@sase/ui";
|
import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@sase/ui";
|
||||||
import { Badge } from "@sase/ui";
|
import { Badge } from "@sase/ui";
|
||||||
import { Button } from "@sase/ui";
|
import { Button } from "@sase/ui";
|
||||||
@@ -22,7 +22,6 @@ import {
|
|||||||
} from "@sase/ui";
|
} from "@sase/ui";
|
||||||
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||||
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
import { createFileRoute, useNavigate } from "@tanstack/react-router";
|
||||||
import confetti from "canvas-confetti";
|
|
||||||
import {
|
import {
|
||||||
ArrowRight,
|
ArrowRight,
|
||||||
Check,
|
Check,
|
||||||
@@ -297,10 +296,12 @@ export function SubscriptionPage() {
|
|||||||
|
|
||||||
setOnboardingPhase("completed");
|
setOnboardingPhase("completed");
|
||||||
queryClient.invalidateQueries({ queryKey: ["subscription"] });
|
queryClient.invalidateQueries({ queryKey: ["subscription"] });
|
||||||
confetti({
|
import("canvas-confetti").then((mod) => {
|
||||||
particleCount: 150,
|
mod.default({
|
||||||
spread: 80,
|
particleCount: 150,
|
||||||
origin: { y: 0.6 },
|
spread: 80,
|
||||||
|
origin: { y: 0.6 },
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}, [onboardingPhase, animationEnded, trialMutation.isSuccess, queryClient.invalidateQueries]);
|
}, [onboardingPhase, animationEnded, trialMutation.isSuccess, queryClient.invalidateQueries]);
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { usePageMeta } from "@/hooks/use-page-meta";
|
import { usePageMeta } from "@/hooks/use-page-meta";
|
||||||
import { useTranslation } from "@/lib/i18n";
|
import { useTranslation } from "@/lib/i18n";
|
||||||
import { formatTRY, FULL_PLAN_BRAND_LIMIT } from "@sase/shared";
|
import { FULL_PLAN_BRAND_LIMIT, formatTRY } from "@sase/shared";
|
||||||
import { Button } from "@sase/ui";
|
import { Button } from "@sase/ui";
|
||||||
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@sase/ui";
|
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@sase/ui";
|
||||||
import { Badge } from "@sase/ui";
|
import { Badge } from "@sase/ui";
|
||||||
|
|||||||
@@ -2,13 +2,14 @@
|
|||||||
"name": "@sase/shared",
|
"name": "@sase/shared",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
|
"type": "module",
|
||||||
"main": "./dist/index.js",
|
"main": "./dist/index.js",
|
||||||
"types": "./dist/index.d.ts",
|
"types": "./dist/index.d.ts",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
|
"types": "./dist/index.d.ts",
|
||||||
"import": "./dist/index.js",
|
"import": "./dist/index.js",
|
||||||
"require": "./dist/index.js",
|
"default": "./dist/index.js"
|
||||||
"types": "./dist/index.d.ts"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "ES2022",
|
"target": "ES2022",
|
||||||
"module": "commonjs",
|
"module": "NodeNext",
|
||||||
"moduleResolution": "node",
|
"moduleResolution": "NodeNext",
|
||||||
"lib": ["ES2022"],
|
"lib": ["ES2022"],
|
||||||
"strict": true,
|
"strict": true,
|
||||||
"esModuleInterop": true,
|
"esModuleInterop": true,
|
||||||
|
|||||||
Reference in New Issue
Block a user