├── .eslintrc.json ├── .gitignore ├── LICENSE ├── README.md ├── app ├── (auth) │ ├── layout.tsx │ ├── sign-in │ │ └── [[...sign-in]] │ │ │ └── page.tsx │ └── sign-up │ │ └── [[...sign-up]] │ │ └── page.tsx ├── (root) │ ├── credits │ │ └── page.tsx │ ├── layout.tsx │ ├── page.tsx │ ├── profile │ │ └── page.tsx │ └── transformations │ │ ├── [id] │ │ ├── page.tsx │ │ └── update │ │ │ └── page.tsx │ │ └── add │ │ └── [type] │ │ └── page.tsx ├── api │ └── webhooks │ │ └── clerk │ │ └── route.ts ├── favicon.ico ├── globals.css └── layout.tsx ├── components.json ├── components ├── blockchain │ ├── ChainSelector.tsx │ ├── CoinSelector.tsx │ ├── CryptoPayment.tsx │ └── coindata.ts ├── shared │ ├── Checkout.tsx │ ├── Collection.tsx │ ├── CryptoPaymentModal.tsx │ ├── CustomField.tsx │ ├── DeleteConfirmation.tsx │ ├── FramerModal.tsx │ ├── Header.tsx │ ├── InsufficientCreditsModal.tsx │ ├── MediaUploader.tsx │ ├── MobileNav.tsx │ ├── Search.tsx │ ├── Sidebar.tsx │ ├── TransformationForm.tsx │ └── TransformedImage.tsx └── ui │ ├── alert-dialog.tsx │ ├── button.tsx │ ├── form.tsx │ ├── input.tsx │ ├── label.tsx │ ├── pagination.tsx │ ├── select.tsx │ ├── sheet.tsx │ ├── skeleton.tsx │ ├── toast.tsx │ ├── toaster.tsx │ └── use-toast.ts ├── constants └── index.ts ├── lib ├── actions │ ├── image.actions.ts │ ├── transaction.action.ts │ └── user.actions.ts ├── database │ ├── models │ │ ├── image.model.ts │ │ ├── transaction.model.ts │ │ └── user.model.ts │ └── mongoose.ts └── utils.ts ├── middleware.ts ├── next.config.mjs ├── package.json ├── postcss.config.js ├── public ├── assets │ ├── icons │ │ ├── add.svg │ │ ├── bag.svg │ │ ├── camera.svg │ │ ├── caret-down.svg │ │ ├── check.svg │ │ ├── close.svg │ │ ├── coins.svg │ │ ├── credit-coins.svg │ │ ├── cross.svg │ │ ├── download.svg │ │ ├── filter.svg │ │ ├── free-plan.svg │ │ ├── home.svg │ │ ├── image.svg │ │ ├── menu.svg │ │ ├── photo.svg │ │ ├── profile.svg │ │ ├── scan.svg │ │ ├── search.svg │ │ ├── spinner.svg │ │ └── stars.svg │ └── images │ │ ├── banner-bg.png │ │ ├── gradient-bg.svg │ │ ├── logo-icon.svg │ │ ├── logo-text.svg │ │ └── stacked-coins.png ├── next.svg ├── screen │ ├── s1.png │ ├── s2.png │ ├── s3.png │ ├── s4.png │ ├── s5.png │ └── s6.png └── vercel.svg ├── tailwind.config.ts ├── tsconfig.json ├── types └── index.d.ts └── utils └── cn.js /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals" 3 | } 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/README.md -------------------------------------------------------------------------------- /app/(auth)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(auth)/layout.tsx -------------------------------------------------------------------------------- /app/(auth)/sign-in/[[...sign-in]]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(auth)/sign-in/[[...sign-in]]/page.tsx -------------------------------------------------------------------------------- /app/(auth)/sign-up/[[...sign-up]]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(auth)/sign-up/[[...sign-up]]/page.tsx -------------------------------------------------------------------------------- /app/(root)/credits/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(root)/credits/page.tsx -------------------------------------------------------------------------------- /app/(root)/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(root)/layout.tsx -------------------------------------------------------------------------------- /app/(root)/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(root)/page.tsx -------------------------------------------------------------------------------- /app/(root)/profile/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(root)/profile/page.tsx -------------------------------------------------------------------------------- /app/(root)/transformations/[id]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(root)/transformations/[id]/page.tsx -------------------------------------------------------------------------------- /app/(root)/transformations/[id]/update/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(root)/transformations/[id]/update/page.tsx -------------------------------------------------------------------------------- /app/(root)/transformations/add/[type]/page.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/(root)/transformations/add/[type]/page.tsx -------------------------------------------------------------------------------- /app/api/webhooks/clerk/route.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/api/webhooks/clerk/route.ts -------------------------------------------------------------------------------- /app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/favicon.ico -------------------------------------------------------------------------------- /app/globals.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/globals.css -------------------------------------------------------------------------------- /app/layout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/app/layout.tsx -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components.json -------------------------------------------------------------------------------- /components/blockchain/ChainSelector.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/blockchain/ChainSelector.tsx -------------------------------------------------------------------------------- /components/blockchain/CoinSelector.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/blockchain/CoinSelector.tsx -------------------------------------------------------------------------------- /components/blockchain/CryptoPayment.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/blockchain/CryptoPayment.tsx -------------------------------------------------------------------------------- /components/blockchain/coindata.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/blockchain/coindata.ts -------------------------------------------------------------------------------- /components/shared/Checkout.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/Checkout.tsx -------------------------------------------------------------------------------- /components/shared/Collection.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/Collection.tsx -------------------------------------------------------------------------------- /components/shared/CryptoPaymentModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/CryptoPaymentModal.tsx -------------------------------------------------------------------------------- /components/shared/CustomField.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/CustomField.tsx -------------------------------------------------------------------------------- /components/shared/DeleteConfirmation.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/DeleteConfirmation.tsx -------------------------------------------------------------------------------- /components/shared/FramerModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/FramerModal.tsx -------------------------------------------------------------------------------- /components/shared/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/Header.tsx -------------------------------------------------------------------------------- /components/shared/InsufficientCreditsModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/InsufficientCreditsModal.tsx -------------------------------------------------------------------------------- /components/shared/MediaUploader.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/MediaUploader.tsx -------------------------------------------------------------------------------- /components/shared/MobileNav.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/MobileNav.tsx -------------------------------------------------------------------------------- /components/shared/Search.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/Search.tsx -------------------------------------------------------------------------------- /components/shared/Sidebar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/Sidebar.tsx -------------------------------------------------------------------------------- /components/shared/TransformationForm.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/TransformationForm.tsx -------------------------------------------------------------------------------- /components/shared/TransformedImage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/shared/TransformedImage.tsx -------------------------------------------------------------------------------- /components/ui/alert-dialog.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/alert-dialog.tsx -------------------------------------------------------------------------------- /components/ui/button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/button.tsx -------------------------------------------------------------------------------- /components/ui/form.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/form.tsx -------------------------------------------------------------------------------- /components/ui/input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/input.tsx -------------------------------------------------------------------------------- /components/ui/label.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/label.tsx -------------------------------------------------------------------------------- /components/ui/pagination.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/pagination.tsx -------------------------------------------------------------------------------- /components/ui/select.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/select.tsx -------------------------------------------------------------------------------- /components/ui/sheet.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/sheet.tsx -------------------------------------------------------------------------------- /components/ui/skeleton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/skeleton.tsx -------------------------------------------------------------------------------- /components/ui/toast.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/toast.tsx -------------------------------------------------------------------------------- /components/ui/toaster.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/toaster.tsx -------------------------------------------------------------------------------- /components/ui/use-toast.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/components/ui/use-toast.ts -------------------------------------------------------------------------------- /constants/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/constants/index.ts -------------------------------------------------------------------------------- /lib/actions/image.actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/actions/image.actions.ts -------------------------------------------------------------------------------- /lib/actions/transaction.action.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/actions/transaction.action.ts -------------------------------------------------------------------------------- /lib/actions/user.actions.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/actions/user.actions.ts -------------------------------------------------------------------------------- /lib/database/models/image.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/database/models/image.model.ts -------------------------------------------------------------------------------- /lib/database/models/transaction.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/database/models/transaction.model.ts -------------------------------------------------------------------------------- /lib/database/models/user.model.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/database/models/user.model.ts -------------------------------------------------------------------------------- /lib/database/mongoose.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/database/mongoose.ts -------------------------------------------------------------------------------- /lib/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/lib/utils.ts -------------------------------------------------------------------------------- /middleware.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/middleware.ts -------------------------------------------------------------------------------- /next.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/next.config.mjs -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/package.json -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/postcss.config.js -------------------------------------------------------------------------------- /public/assets/icons/add.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/add.svg -------------------------------------------------------------------------------- /public/assets/icons/bag.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/bag.svg -------------------------------------------------------------------------------- /public/assets/icons/camera.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/camera.svg -------------------------------------------------------------------------------- /public/assets/icons/caret-down.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/caret-down.svg -------------------------------------------------------------------------------- /public/assets/icons/check.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/check.svg -------------------------------------------------------------------------------- /public/assets/icons/close.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/close.svg -------------------------------------------------------------------------------- /public/assets/icons/coins.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/coins.svg -------------------------------------------------------------------------------- /public/assets/icons/credit-coins.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/credit-coins.svg -------------------------------------------------------------------------------- /public/assets/icons/cross.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/cross.svg -------------------------------------------------------------------------------- /public/assets/icons/download.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/download.svg -------------------------------------------------------------------------------- /public/assets/icons/filter.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/filter.svg -------------------------------------------------------------------------------- /public/assets/icons/free-plan.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/free-plan.svg -------------------------------------------------------------------------------- /public/assets/icons/home.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/home.svg -------------------------------------------------------------------------------- /public/assets/icons/image.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/image.svg -------------------------------------------------------------------------------- /public/assets/icons/menu.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/menu.svg -------------------------------------------------------------------------------- /public/assets/icons/photo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/photo.svg -------------------------------------------------------------------------------- /public/assets/icons/profile.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/profile.svg -------------------------------------------------------------------------------- /public/assets/icons/scan.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/scan.svg -------------------------------------------------------------------------------- /public/assets/icons/search.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/search.svg -------------------------------------------------------------------------------- /public/assets/icons/spinner.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/spinner.svg -------------------------------------------------------------------------------- /public/assets/icons/stars.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/icons/stars.svg -------------------------------------------------------------------------------- /public/assets/images/banner-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/images/banner-bg.png -------------------------------------------------------------------------------- /public/assets/images/gradient-bg.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/images/gradient-bg.svg -------------------------------------------------------------------------------- /public/assets/images/logo-icon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/images/logo-icon.svg -------------------------------------------------------------------------------- /public/assets/images/logo-text.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/images/logo-text.svg -------------------------------------------------------------------------------- /public/assets/images/stacked-coins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/assets/images/stacked-coins.png -------------------------------------------------------------------------------- /public/next.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/next.svg -------------------------------------------------------------------------------- /public/screen/s1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/screen/s1.png -------------------------------------------------------------------------------- /public/screen/s2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/screen/s2.png -------------------------------------------------------------------------------- /public/screen/s3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/screen/s3.png -------------------------------------------------------------------------------- /public/screen/s4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/screen/s4.png -------------------------------------------------------------------------------- /public/screen/s5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/screen/s5.png -------------------------------------------------------------------------------- /public/screen/s6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/screen/s6.png -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/public/vercel.svg -------------------------------------------------------------------------------- /tailwind.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/tailwind.config.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/tsconfig.json -------------------------------------------------------------------------------- /types/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/types/index.d.ts -------------------------------------------------------------------------------- /utils/cn.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sam5-hub/DeImaginify/HEAD/utils/cn.js --------------------------------------------------------------------------------