From 0fbc2b3944918fd8c00b11f432cf2efe197b7f85 Mon Sep 17 00:00:00 2001 From: jingrow Date: Sun, 28 Dec 2025 21:27:08 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E5=90=88=E5=B9=B6dashboard?= =?UTF-8?q?=E9=87=8C=E9=9D=A2=E7=9A=84src=E5=88=B0src2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dashboard/{.eslintrc.js => .eslintrc.cjs} | 0 dashboard/jsconfig.json | 4 +- dashboard/package.json | 2 +- dashboard/src/App.vue | 74 ---- .../components/AlertBillingInformation.vue | 65 ---- .../src/components/AlertSiteActivation.vue | 32 -- dashboard/src/components/AlertSiteUpdate.vue | 165 --------- dashboard/src/components/AlertUpdate.vue | 172 --------- .../src/components/AppSourceSelector.vue | 110 ------ .../src/components/AppSubscriptionSummary.vue | 75 ---- .../src/components/BackupFilesUploader.vue | 147 -------- dashboard/src/components/BenchAppUpdates.vue | 105 ------ .../components/BillingInformationDialog.vue | 35 -- .../src/components/BuyPrepaidCredits.vue | 201 ----------- .../src/components/ChangeAppPlanSelector.vue | 115 ------ .../components/ChangePaymentModeDialog.vue | 135 ------- dashboard/src/components/ClickToCopyField.vue | 59 --- dashboard/src/components/ConfigEditor.vue | 341 ------------------ dashboard/src/components/ConfirmDialogs.vue | 63 ---- dashboard/src/components/DescriptionList.vue | 17 - dashboard/src/components/FeatureList.vue | 19 - dashboard/src/components/Form.vue | 130 ------- dashboard/src/components/FrappeCloudLogo.vue | 95 ----- dashboard/src/components/InvoiceUsageCard.vue | 39 -- .../src/components/InvoiceUsageTable.vue | 150 -------- .../src/components/MarketplaceAppCard.vue | 30 -- .../components/MarketplaceAppDescriptions.vue | 184 ---------- .../components/MarketplaceAppReleaseList.vue | 313 ---------------- .../components/MarketplaceAppScreenshots.vue | 86 ----- dashboard/src/components/Modal.vue | 79 ---- dashboard/src/components/Navbar.vue | 143 -------- .../src/components/NewAppRepositories.vue | 108 ------ dashboard/src/components/Notification.vue | 59 --- .../src/components/NotificationToasts.vue | 20 - dashboard/src/components/PlanIcon.vue | 25 -- dashboard/src/components/Popover.vue | 194 ---------- dashboard/src/components/ProgressArc.vue | 61 ---- dashboard/src/components/Report.vue | 60 --- dashboard/src/components/Sidebar.vue | 253 ------------- .../src/components/SiteAppUpdateCard.vue | 74 ---- dashboard/src/components/SitePlansTable.vue | 75 ---- dashboard/src/components/SiteUpdateCard.vue | 60 --- dashboard/src/components/Steps.vue | 90 ----- dashboard/src/components/StripeCard.vue | 281 --------------- dashboard/src/components/StripeLogo.vue | 32 -- dashboard/src/components/SwitchTeamDialog.vue | 34 -- dashboard/src/components/Tabs.vue | 66 ---- dashboard/src/components/Tags.vue | 158 -------- dashboard/src/components/WizardCard.vue | 16 - .../marketplace/ChangeAppBranchDialog.vue | 78 ---- .../marketplace/CreateAppVersionDialog.vue | 104 ------ .../MarketplaceAppReviewStages.vue | 161 --------- .../marketplace/PublisherPayoutInfoCard.vue | 154 -------- .../marketplace/PublisherProfileCard.vue | 114 ------ dashboard/src/data/notifications.js | 7 - dashboard/src/main.js | 108 ------ dashboard/src/utils/dayjs.js | 62 ---- dashboard/src/utils/toast.js | 15 - dashboard/src2/App.vue | 2 +- dashboard/{src => src2}/assets/404.png | Bin .../assets/Inter/Inter-Black.woff | Bin .../assets/Inter/Inter-Black.woff2 | Bin .../assets/Inter/Inter-BlackItalic.woff | Bin .../assets/Inter/Inter-BlackItalic.woff2 | Bin .../assets/Inter/Inter-Bold.woff | Bin .../assets/Inter/Inter-Bold.woff2 | Bin .../assets/Inter/Inter-BoldItalic.woff | Bin .../assets/Inter/Inter-BoldItalic.woff2 | Bin .../assets/Inter/Inter-ExtraBold.woff | Bin .../assets/Inter/Inter-ExtraBold.woff2 | Bin .../assets/Inter/Inter-ExtraBoldItalic.woff | Bin .../assets/Inter/Inter-ExtraBoldItalic.woff2 | Bin .../assets/Inter/Inter-ExtraLight.woff | Bin .../assets/Inter/Inter-ExtraLight.woff2 | Bin .../assets/Inter/Inter-ExtraLightItalic.woff | Bin .../assets/Inter/Inter-ExtraLightItalic.woff2 | Bin .../assets/Inter/Inter-Italic.woff | Bin .../assets/Inter/Inter-Italic.woff2 | Bin .../assets/Inter/Inter-Light.woff | Bin .../assets/Inter/Inter-Light.woff2 | Bin .../assets/Inter/Inter-LightItalic.woff | Bin .../assets/Inter/Inter-LightItalic.woff2 | Bin .../assets/Inter/Inter-Medium.woff | Bin .../assets/Inter/Inter-Medium.woff2 | Bin .../assets/Inter/Inter-MediumItalic.woff | Bin .../assets/Inter/Inter-MediumItalic.woff2 | Bin .../assets/Inter/Inter-Regular.woff | Bin .../assets/Inter/Inter-Regular.woff2 | Bin .../assets/Inter/Inter-SemiBold.woff | Bin .../assets/Inter/Inter-SemiBold.woff2 | Bin .../assets/Inter/Inter-SemiBoldItalic.woff | Bin .../assets/Inter/Inter-SemiBoldItalic.woff2 | Bin .../assets/Inter/Inter-Thin.woff | Bin .../assets/Inter/Inter-Thin.woff2 | Bin .../assets/Inter/Inter-ThinItalic.woff | Bin .../assets/Inter/Inter-ThinItalic.woff2 | Bin .../assets/Inter/Inter-italic.var.woff2 | Bin .../assets/Inter/Inter-roman.var.woff2 | Bin .../assets/Inter/Inter.var.woff2 | Bin .../{src => src2}/assets/Inter/inter.css | 0 dashboard/{src => src2}/assets/jerp-logo.svg | 0 .../{src => src2}/assets/jingrow-cloud.svg | 0 .../assets/jingrow-framework-logo.png | Bin dashboard/{src => src2}/assets/razorpay.svg | 0 dashboard/{src => src2}/assets/stripe.svg | 0 dashboard/{src => src2}/assets/style.css | 0 .../components/AlertBenchUpdate.vue | 0 .../{src => src2}/components/AppPlanCard.vue | 0 .../components/AppTrialSubscriptionDialog.vue | 2 +- .../components/AppUpdateCard.vue | 0 .../components/AvatarUploader.vue | 0 .../components/BenchSiteUpdates.vue | 0 .../{src => src2}/components/CardDetails.vue | 0 .../components/CardWithDetails.vue | 0 .../components/ChangeAppBranchDialog.vue | 0 .../src2/components/ChurnFeedbackDialog.vue | 2 +- .../components/CommandPalette.vue | 0 .../{src => src2}/components/FileUploader.vue | 0 .../components/ImpersonateTeam.vue | 0 dashboard/{src => src2}/components/Link.vue | 0 .../components/MarketplaceAppLinks.vue | 0 .../components/MarketplaceAppProfile.vue | 0 .../{src => src2}/components/PageHeader.vue | 0 .../components/PrepaidCreditsDialog.vue | 0 .../{src => src2}/components/PrinterIcon.vue | 0 .../{src => src2}/components/RichSelect.vue | 0 .../components/SelectAppFromGithub.vue | 0 .../components/SelectableCard.vue | 0 .../components/ServerPlansTable.vue | 0 .../components/SiteAppUpdates.vue | 0 .../components/SiteRestoreSelector.vue | 0 .../components/StarRatingInput.vue | 0 .../{src => src2}/components/Table/Table.vue | 0 .../components/Table/TableCell.vue | 0 .../components/Table/TableHeader.vue | 0 .../components/Table/TableRow.vue | 0 .../components/charts/BarChart.vue | 0 .../components/charts/LineChart.vue | 0 .../{src => src2}/components/charts/utils.js | 0 .../{src => src2}/components/global/Alert.vue | 0 .../{src => src2}/components/global/Badge.vue | 0 .../components/global/Breadcrumbs.vue | 0 .../{src => src2}/components/global/Card.vue | 0 .../components/global/CircularCheckIcon.vue | 0 .../components/global/FormatDate.vue | 0 .../components/global/GrayCheckIcon.vue | 0 .../components/global/ListItem.vue | 0 .../components/global/OldDropdown.vue | 0 .../components/global/Section.vue | 0 .../components/global/SectionCard.vue | 0 .../components/global/SectionHeader.vue | 0 .../components/global/Select.vue | 0 .../components/global/Spinner.vue | 0 .../components/global/SuccessCard.vue | 0 .../global/outsideClickDirective.js | 0 .../components/global/register.js | 0 .../components/icons/AppsIcon.vue | 0 .../components/icons/BenchIcon.vue | 0 .../components/icons/BillingIcon.vue | 0 .../components/icons/CheckCircleIcon.vue | 0 .../components/icons/GoogleIcon.vue | 0 .../components/icons/GoogleIconSolid.vue | 0 .../{src => src2}/components/icons/JLogo.vue | 0 .../components/icons/JcloudLogo.vue | 0 .../components/icons/JingrowLogo.vue | 0 .../components/icons/SecurityIcon.vue | 0 .../components/icons/ServerIcon.vue | 0 .../components/icons/SettingsIcon.vue | 0 .../components/icons/SiteIcon.vue | 0 .../components/icons/SpacesIcon.vue | 0 .../components/icons/cards/Amex.vue | 0 .../components/icons/cards/Generic.vue | 0 .../components/icons/cards/JCB.vue | 0 .../components/icons/cards/MasterCard.vue | 0 .../components/icons/cards/UnionPay.vue | 0 .../components/icons/cards/Visa.vue | 0 .../{src => src2}/components/icons/index.js | 0 .../components/utils/CommitChooser.vue | 0 .../components/utils/CommitTag.vue | 0 .../{src => src2}/composables/resource.js | 0 .../{src => src2}/controllers/account.js | 0 dashboard/{src => src2}/controllers/auth.js | 0 dashboard/{src => src2}/controllers/call.js | 0 .../{src => src2}/controllers/fileUploader.js | 0 .../{src => src2}/controllers/loginAsAdmin.js | 0 .../{src => src2}/controllers/register.js | 0 .../controllers/s3FileUploader.js | 0 dashboard/{src => src2}/controllers/socket.js | 0 dashboard/{src => src2}/plugins.js | 0 .../{src => src2}/registerServiceWorker.js | 0 dashboard/src2/router.js | 6 +- dashboard/{src => src2}/router/index.js | 0 dashboard/{src => src2}/router/register.js | 0 .../tests/core/ClickToCopy.test.js | 0 .../tests/core/FeatureList.test.js | 0 .../tests/core/RichSelect.test.js | 0 .../tests/core/StarRatingComponent.test.js | 0 dashboard/{src => src2}/tests/setup/msw.js | 0 dashboard/{src => src2}/utils.js | 0 dashboard/{src => src2}/utils/billing.js | 0 dashboard/src2/utils/dayjs.js | 62 +++- dashboard/src2/utils/format.js | 2 +- dashboard/src2/utils/toast.js | 62 ++-- dashboard/{src => src2}/views/auth/Auth.vue | 0 .../views/auth/ImpersonateTeam.vue | 0 dashboard/{src => src2}/views/auth/Login.vue | 0 .../views/auth/ResetPassword.vue | 0 .../{src => src2}/views/auth/SetupAccount.vue | 0 dashboard/{src => src2}/views/bench/Bench.vue | 0 .../{src => src2}/views/bench/BenchApps.vue | 0 .../{src => src2}/views/bench/BenchConfig.vue | 0 .../views/bench/BenchDependencies.vue | 0 .../views/bench/BenchDeploys.vue | 0 .../views/bench/BenchDropDialog.vue | 0 .../{src => src2}/views/bench/BenchJobs.vue | 0 .../{src => src2}/views/bench/BenchLogs.vue | 0 .../views/bench/BenchLogsDetail.vue | 0 .../views/bench/BenchRegions.vue | 0 .../views/bench/BenchSettings.vue | 0 .../{src => src2}/views/bench/BenchSites.vue | 0 .../{src => src2}/views/bench/Benches.vue | 0 .../views/bench/EditBenchTitleDialog.vue | 0 .../{src => src2}/views/bench/NewBench.vue | 0 .../{src => src2}/views/bench/NewBenchApp.vue | 0 .../views/billing/AccountBilling.vue | 0 .../views/billing/AccountBillingCards.vue | 0 .../billing/AccountBillingCreditBalance.vue | 0 .../views/billing/AccountBillingDetails.vue | 2 +- .../views/billing/AccountBillingPayments.vue | 0 .../views/billing/BillingOverview.vue | 0 .../views/billing/BillingSummary.vue | 2 +- .../views/billing/FinalizeInvoicesDialog.vue | 0 .../views/billing/PaymentMethods.vue | 0 .../views/billing/UpcomingInvoiceSummary.vue | 0 .../{src => src2}/views/checkout/Checkout.vue | 0 .../views/checkout/CheckoutAddress.vue | 0 .../views/checkout/CheckoutApps.vue | 0 .../views/checkout/CheckoutPayment.vue | 2 +- .../views/checkout/CheckoutPlans.vue | 0 .../views/checkout/PlanChangeSuccessful.vue | 0 .../views/checkout/Subscription.vue | 0 dashboard/{src => src2}/views/general/404.vue | 0 .../{src => src2}/views/general/AgentJobs.vue | 0 .../views/general/AnsiblePlays.vue | 0 .../{src => src2}/views/general/Home.vue | 0 .../views/general/JobsDetail.vue | 0 .../views/general/PlaysDetail.vue | 0 .../views/general/StepsDetail.vue | 0 .../marketplace/InstallMarketplaceApp.vue | 0 .../views/marketplace/Marketplace.vue | 0 .../views/marketplace/MarketplaceApp.vue | 0 .../marketplace/MarketplaceAppAnalytics.vue | 0 .../marketplace/MarketplaceAppDeployment.vue | 0 .../marketplace/MarketplaceAppOverview.vue | 0 .../marketplace/MarketplaceAppPricing.vue | 0 .../marketplace/MarketplaceAppReview.vue | 0 .../MarketplaceAppSubscriptions.vue | 0 .../views/marketplace/MarketplaceApps.vue | 0 .../marketplace/MarketplacePayoutDetails.vue | 0 .../views/marketplace/MarketplacePayouts.vue | 0 .../MarketplacePublisherProfile.vue | 0 .../views/marketplace/NewMarketplaceApp.vue | 0 .../views/notifications/Notifications.vue | 0 .../views/onboarding/ComingSoon.vue | 0 .../OnboardingStepCreateAccount.vue | 0 .../onboarding/OnboardingStepCreateSite.vue | 0 .../OnboardingStepSelectSitePlan.vue | 0 .../onboarding/OnboardingStepSetupPayment.vue | 2 +- .../views/onboarding/Support.vue | 0 .../views/onboarding/UserPrompts.vue | 2 +- .../views/onboarding/Welcome.vue | 0 .../{src => src2}/views/partials/LoginBox.vue | 0 .../views/security/FirewallOverview.vue | 0 .../views/security/InfoSection.vue | 0 .../views/security/SSHSession.vue | 0 .../views/security/SSHSessionActivity.vue | 0 .../views/security/SSHSessionOverview.vue | 0 .../{src => src2}/views/security/Security.vue | 0 .../views/security/SecurityOverview.vue | 0 .../views/security/SecurityUpdateInfo.vue | 0 .../views/security/SecurityUpdates.vue | 0 .../security/SecurityUpdatesOverview.vue | 0 .../{src => src2}/views/security/Servers.vue | 0 .../views/server/EditServerTitleDialog.vue | 0 .../views/server/NewAppServerPlans.vue | 0 .../views/server/NewDBServerPlans.vue | 0 .../views/server/NewSelfHostedServer.vue | 0 .../views/server/NewSelfHostedServerForm.vue | 0 .../server/NewSelfHostedServerHostname.vue | 0 .../{src => src2}/views/server/NewServer.vue | 0 .../views/server/NewServerHostname.vue | 0 .../views/server/NewVerifyServer.vue | 0 .../views/server/SelfHostedServerPlan.vue | 0 .../views/server/SelfHostedServerVerify.vue | 0 .../{src => src2}/views/server/Server.vue | 0 .../views/server/ServerAnalytics.vue | 0 .../views/server/ServerBenches.vue | 0 .../{src => src2}/views/server/ServerDrop.vue | 0 .../views/server/ServerInstall.vue | 0 .../{src => src2}/views/server/ServerJobs.vue | 0 .../views/server/ServerOverview.vue | 0 .../views/server/ServerOverviewInfo.vue | 0 .../views/server/ServerOverviewPlan.vue | 0 .../views/server/ServerPlays.vue | 0 .../views/server/ServerSettings.vue | 0 .../{src => src2}/views/server/Servers.vue | 0 .../views/settings/AccountAPI.vue | 0 .../views/settings/AccountEmails.vue | 0 .../views/settings/AccountGroups.vue | 0 .../views/settings/AccountMembers.vue | 0 .../views/settings/AccountPartner.vue | 0 .../views/settings/AccountProfile.vue | 0 .../views/settings/AccountReferral.vue | 0 .../views/settings/AccountSSHKey.vue | 0 .../views/settings/AccountSettings.vue | 0 .../views/settings/AccountTeam.vue | 0 .../views/settings/DeveloperSettings.vue | 0 .../views/settings/EditPermissions.vue | 0 .../views/settings/FeatureFlags.vue | 0 .../views/settings/ManageGroupMembers.vue | 0 .../views/settings/PartnerCustomers.vue | 0 .../views/settings/PartnerReferral.vue | 0 .../views/settings/PartnerRequestStatus.vue | 0 .../views/settings/PartnerSettings.vue | 0 .../views/settings/ProfileSettings.vue | 0 .../views/settings/TeamSettings.vue | 0 .../{src => src2}/views/site/AppSiteSetup.vue | 0 .../views/site/DatabaseAccessDialog.vue | 0 .../{src => src2}/views/site/NewSite.vue | 0 .../{src => src2}/views/site/NewSiteApps.vue | 0 .../views/site/NewSiteHostname.vue | 0 .../{src => src2}/views/site/NewSitePlans.vue | 0 .../views/site/NewSiteRestore.vue | 0 dashboard/{src => src2}/views/site/Site.vue | 0 .../{src => src2}/views/site/SiteActivity.vue | 0 .../{src => src2}/views/site/SiteAlerts.vue | 0 .../views/site/SiteAnalyticsUptime.vue | 0 .../views/site/SiteAppsAndSubscriptions.vue | 0 .../views/site/SiteAutoUpdate.vue | 0 .../views/site/SiteBinaryLogs.vue | 0 .../views/site/SiteChangeGroupDialog.vue | 0 .../views/site/SiteChangeRegionDialog.vue | 2 +- .../views/site/SiteChangeServerDialog.vue | 2 +- .../{src => src2}/views/site/SiteCharts.vue | 2 +- .../{src => src2}/views/site/SiteConfig.vue | 0 .../{src => src2}/views/site/SiteConsole.vue | 0 .../{src => src2}/views/site/SiteDatabase.vue | 0 .../views/site/SiteDatabaseBackups.vue | 0 .../views/site/SiteDatabaseRestore.vue | 0 .../views/site/SiteDeadlockReport.vue | 0 .../{src => src2}/views/site/SiteDrop.vue | 0 .../views/site/SiteInstalling.vue | 0 .../{src => src2}/views/site/SiteJobs.vue | 0 .../{src => src2}/views/site/SiteList.vue | 0 .../{src => src2}/views/site/SiteLogs.vue | 0 .../views/site/SiteLogsDetail.vue | 0 .../views/site/SiteMariaDBProcessList.vue | 0 .../views/site/SiteMariaDBSlowQueries.vue | 0 .../views/site/SiteMonitorsList.vue | 0 .../{src => src2}/views/site/SiteOverview.vue | 0 .../views/site/SiteOverviewCPUUsage.vue | 0 .../views/site/SiteOverviewDomains.vue | 0 .../views/site/SiteOverviewInfo.vue | 0 .../views/site/SiteOverviewPlan.vue | 0 .../views/site/SitePlansDialog.vue | 0 .../views/site/SiteRequestLogs.vue | 0 .../{src => src2}/views/site/SiteSettings.vue | 0 .../views/site/SiteTransferDialog.vue | 0 .../views/site/SiteVersionUpgradeDialog.vue | 2 +- dashboard/{src => src2}/views/site/Sites.vue | 2 +- .../{src => src2}/views/spaces/CodeServer.vue | 0 .../views/spaces/CodeServerJobs.vue | 0 .../views/spaces/CodeServerOverview.vue | 0 .../views/spaces/CodeServerOverviewInfo.vue | 0 .../views/spaces/CodeServersList.vue | 0 .../views/spaces/CreateCodeServerDialog.vue | 0 .../views/spaces/NewCodeServer.vue | 0 .../views/spaces/NewCodeServerBench.vue | 0 .../views/spaces/NewCodeServerGroup.vue | 0 .../views/spaces/NewCodeServerHostname.vue | 0 .../{src => src2}/views/spaces/Spaces.vue | 0 .../{src => src2}/views/spaces/SpacesList.vue | 0 dashboard/vite.config.ts | 7 +- 383 files changed, 107 insertions(+), 5712 deletions(-) rename dashboard/{.eslintrc.js => .eslintrc.cjs} (100%) delete mode 100644 dashboard/src/App.vue delete mode 100644 dashboard/src/components/AlertBillingInformation.vue delete mode 100644 dashboard/src/components/AlertSiteActivation.vue delete mode 100644 dashboard/src/components/AlertSiteUpdate.vue delete mode 100644 dashboard/src/components/AlertUpdate.vue delete mode 100644 dashboard/src/components/AppSourceSelector.vue delete mode 100644 dashboard/src/components/AppSubscriptionSummary.vue delete mode 100644 dashboard/src/components/BackupFilesUploader.vue delete mode 100644 dashboard/src/components/BenchAppUpdates.vue delete mode 100644 dashboard/src/components/BillingInformationDialog.vue delete mode 100644 dashboard/src/components/BuyPrepaidCredits.vue delete mode 100644 dashboard/src/components/ChangeAppPlanSelector.vue delete mode 100644 dashboard/src/components/ChangePaymentModeDialog.vue delete mode 100644 dashboard/src/components/ClickToCopyField.vue delete mode 100644 dashboard/src/components/ConfigEditor.vue delete mode 100644 dashboard/src/components/ConfirmDialogs.vue delete mode 100644 dashboard/src/components/DescriptionList.vue delete mode 100644 dashboard/src/components/FeatureList.vue delete mode 100644 dashboard/src/components/Form.vue delete mode 100644 dashboard/src/components/FrappeCloudLogo.vue delete mode 100644 dashboard/src/components/InvoiceUsageCard.vue delete mode 100644 dashboard/src/components/InvoiceUsageTable.vue delete mode 100644 dashboard/src/components/MarketplaceAppCard.vue delete mode 100644 dashboard/src/components/MarketplaceAppDescriptions.vue delete mode 100644 dashboard/src/components/MarketplaceAppReleaseList.vue delete mode 100644 dashboard/src/components/MarketplaceAppScreenshots.vue delete mode 100644 dashboard/src/components/Modal.vue delete mode 100644 dashboard/src/components/Navbar.vue delete mode 100644 dashboard/src/components/NewAppRepositories.vue delete mode 100644 dashboard/src/components/Notification.vue delete mode 100644 dashboard/src/components/NotificationToasts.vue delete mode 100644 dashboard/src/components/PlanIcon.vue delete mode 100644 dashboard/src/components/Popover.vue delete mode 100644 dashboard/src/components/ProgressArc.vue delete mode 100644 dashboard/src/components/Report.vue delete mode 100644 dashboard/src/components/Sidebar.vue delete mode 100644 dashboard/src/components/SiteAppUpdateCard.vue delete mode 100644 dashboard/src/components/SitePlansTable.vue delete mode 100644 dashboard/src/components/SiteUpdateCard.vue delete mode 100644 dashboard/src/components/Steps.vue delete mode 100644 dashboard/src/components/StripeCard.vue delete mode 100644 dashboard/src/components/StripeLogo.vue delete mode 100644 dashboard/src/components/SwitchTeamDialog.vue delete mode 100644 dashboard/src/components/Tabs.vue delete mode 100644 dashboard/src/components/Tags.vue delete mode 100644 dashboard/src/components/WizardCard.vue delete mode 100644 dashboard/src/components/marketplace/ChangeAppBranchDialog.vue delete mode 100644 dashboard/src/components/marketplace/CreateAppVersionDialog.vue delete mode 100644 dashboard/src/components/marketplace/MarketplaceAppReviewStages.vue delete mode 100644 dashboard/src/components/marketplace/PublisherPayoutInfoCard.vue delete mode 100644 dashboard/src/components/marketplace/PublisherProfileCard.vue delete mode 100644 dashboard/src/data/notifications.js delete mode 100644 dashboard/src/main.js delete mode 100644 dashboard/src/utils/dayjs.js delete mode 100644 dashboard/src/utils/toast.js rename dashboard/{src => src2}/assets/404.png (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Black.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Black.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-BlackItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-BlackItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Bold.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Bold.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-BoldItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-BoldItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraBold.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraBold.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraBoldItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraBoldItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraLight.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraLight.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraLightItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ExtraLightItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Italic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Italic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Light.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Light.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-LightItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-LightItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Medium.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Medium.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-MediumItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-MediumItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Regular.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Regular.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-SemiBold.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-SemiBold.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-SemiBoldItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-SemiBoldItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Thin.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-Thin.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ThinItalic.woff (100%) rename dashboard/{src => src2}/assets/Inter/Inter-ThinItalic.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-italic.var.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter-roman.var.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/Inter.var.woff2 (100%) rename dashboard/{src => src2}/assets/Inter/inter.css (100%) rename dashboard/{src => src2}/assets/jerp-logo.svg (100%) rename dashboard/{src => src2}/assets/jingrow-cloud.svg (100%) rename dashboard/{src => src2}/assets/jingrow-framework-logo.png (100%) rename dashboard/{src => src2}/assets/razorpay.svg (100%) rename dashboard/{src => src2}/assets/stripe.svg (100%) rename dashboard/{src => src2}/assets/style.css (100%) rename dashboard/{src => src2}/components/AlertBenchUpdate.vue (100%) rename dashboard/{src => src2}/components/AppPlanCard.vue (100%) rename dashboard/{src => src2}/components/AppUpdateCard.vue (100%) rename dashboard/{src => src2}/components/AvatarUploader.vue (100%) rename dashboard/{src => src2}/components/BenchSiteUpdates.vue (100%) rename dashboard/{src => src2}/components/CardDetails.vue (100%) rename dashboard/{src => src2}/components/CardWithDetails.vue (100%) rename dashboard/{src => src2}/components/ChangeAppBranchDialog.vue (100%) rename dashboard/{src => src2}/components/CommandPalette.vue (100%) rename dashboard/{src => src2}/components/FileUploader.vue (100%) rename dashboard/{src => src2}/components/ImpersonateTeam.vue (100%) rename dashboard/{src => src2}/components/Link.vue (100%) rename dashboard/{src => src2}/components/MarketplaceAppLinks.vue (100%) rename dashboard/{src => src2}/components/MarketplaceAppProfile.vue (100%) rename dashboard/{src => src2}/components/PageHeader.vue (100%) rename dashboard/{src => src2}/components/PrepaidCreditsDialog.vue (100%) rename dashboard/{src => src2}/components/PrinterIcon.vue (100%) rename dashboard/{src => src2}/components/RichSelect.vue (100%) rename dashboard/{src => src2}/components/SelectAppFromGithub.vue (100%) rename dashboard/{src => src2}/components/SelectableCard.vue (100%) rename dashboard/{src => src2}/components/ServerPlansTable.vue (100%) rename dashboard/{src => src2}/components/SiteAppUpdates.vue (100%) rename dashboard/{src => src2}/components/SiteRestoreSelector.vue (100%) rename dashboard/{src => src2}/components/StarRatingInput.vue (100%) rename dashboard/{src => src2}/components/Table/Table.vue (100%) rename dashboard/{src => src2}/components/Table/TableCell.vue (100%) rename dashboard/{src => src2}/components/Table/TableHeader.vue (100%) rename dashboard/{src => src2}/components/Table/TableRow.vue (100%) rename dashboard/{src => src2}/components/charts/BarChart.vue (100%) rename dashboard/{src => src2}/components/charts/LineChart.vue (100%) rename dashboard/{src => src2}/components/charts/utils.js (100%) rename dashboard/{src => src2}/components/global/Alert.vue (100%) rename dashboard/{src => src2}/components/global/Badge.vue (100%) rename dashboard/{src => src2}/components/global/Breadcrumbs.vue (100%) rename dashboard/{src => src2}/components/global/Card.vue (100%) rename dashboard/{src => src2}/components/global/CircularCheckIcon.vue (100%) rename dashboard/{src => src2}/components/global/FormatDate.vue (100%) rename dashboard/{src => src2}/components/global/GrayCheckIcon.vue (100%) rename dashboard/{src => src2}/components/global/ListItem.vue (100%) rename dashboard/{src => src2}/components/global/OldDropdown.vue (100%) rename dashboard/{src => src2}/components/global/Section.vue (100%) rename dashboard/{src => src2}/components/global/SectionCard.vue (100%) rename dashboard/{src => src2}/components/global/SectionHeader.vue (100%) rename dashboard/{src => src2}/components/global/Select.vue (100%) rename dashboard/{src => src2}/components/global/Spinner.vue (100%) rename dashboard/{src => src2}/components/global/SuccessCard.vue (100%) rename dashboard/{src => src2}/components/global/outsideClickDirective.js (100%) rename dashboard/{src => src2}/components/global/register.js (100%) rename dashboard/{src => src2}/components/icons/AppsIcon.vue (100%) rename dashboard/{src => src2}/components/icons/BenchIcon.vue (100%) rename dashboard/{src => src2}/components/icons/BillingIcon.vue (100%) rename dashboard/{src => src2}/components/icons/CheckCircleIcon.vue (100%) rename dashboard/{src => src2}/components/icons/GoogleIcon.vue (100%) rename dashboard/{src => src2}/components/icons/GoogleIconSolid.vue (100%) rename dashboard/{src => src2}/components/icons/JLogo.vue (100%) rename dashboard/{src => src2}/components/icons/JcloudLogo.vue (100%) rename dashboard/{src => src2}/components/icons/JingrowLogo.vue (100%) rename dashboard/{src => src2}/components/icons/SecurityIcon.vue (100%) rename dashboard/{src => src2}/components/icons/ServerIcon.vue (100%) rename dashboard/{src => src2}/components/icons/SettingsIcon.vue (100%) rename dashboard/{src => src2}/components/icons/SiteIcon.vue (100%) rename dashboard/{src => src2}/components/icons/SpacesIcon.vue (100%) rename dashboard/{src => src2}/components/icons/cards/Amex.vue (100%) rename dashboard/{src => src2}/components/icons/cards/Generic.vue (100%) rename dashboard/{src => src2}/components/icons/cards/JCB.vue (100%) rename dashboard/{src => src2}/components/icons/cards/MasterCard.vue (100%) rename dashboard/{src => src2}/components/icons/cards/UnionPay.vue (100%) rename dashboard/{src => src2}/components/icons/cards/Visa.vue (100%) rename dashboard/{src => src2}/components/icons/index.js (100%) rename dashboard/{src => src2}/components/utils/CommitChooser.vue (100%) rename dashboard/{src => src2}/components/utils/CommitTag.vue (100%) rename dashboard/{src => src2}/composables/resource.js (100%) rename dashboard/{src => src2}/controllers/account.js (100%) rename dashboard/{src => src2}/controllers/auth.js (100%) rename dashboard/{src => src2}/controllers/call.js (100%) rename dashboard/{src => src2}/controllers/fileUploader.js (100%) rename dashboard/{src => src2}/controllers/loginAsAdmin.js (100%) rename dashboard/{src => src2}/controllers/register.js (100%) rename dashboard/{src => src2}/controllers/s3FileUploader.js (100%) rename dashboard/{src => src2}/controllers/socket.js (100%) rename dashboard/{src => src2}/plugins.js (100%) rename dashboard/{src => src2}/registerServiceWorker.js (100%) rename dashboard/{src => src2}/router/index.js (100%) rename dashboard/{src => src2}/router/register.js (100%) rename dashboard/{src => src2}/tests/core/ClickToCopy.test.js (100%) rename dashboard/{src => src2}/tests/core/FeatureList.test.js (100%) rename dashboard/{src => src2}/tests/core/RichSelect.test.js (100%) rename dashboard/{src => src2}/tests/core/StarRatingComponent.test.js (100%) rename dashboard/{src => src2}/tests/setup/msw.js (100%) rename dashboard/{src => src2}/utils.js (100%) rename dashboard/{src => src2}/utils/billing.js (100%) rename dashboard/{src => src2}/views/auth/Auth.vue (100%) rename dashboard/{src => src2}/views/auth/ImpersonateTeam.vue (100%) rename dashboard/{src => src2}/views/auth/Login.vue (100%) rename dashboard/{src => src2}/views/auth/ResetPassword.vue (100%) rename dashboard/{src => src2}/views/auth/SetupAccount.vue (100%) rename dashboard/{src => src2}/views/bench/Bench.vue (100%) rename dashboard/{src => src2}/views/bench/BenchApps.vue (100%) rename dashboard/{src => src2}/views/bench/BenchConfig.vue (100%) rename dashboard/{src => src2}/views/bench/BenchDependencies.vue (100%) rename dashboard/{src => src2}/views/bench/BenchDeploys.vue (100%) rename dashboard/{src => src2}/views/bench/BenchDropDialog.vue (100%) rename dashboard/{src => src2}/views/bench/BenchJobs.vue (100%) rename dashboard/{src => src2}/views/bench/BenchLogs.vue (100%) rename dashboard/{src => src2}/views/bench/BenchLogsDetail.vue (100%) rename dashboard/{src => src2}/views/bench/BenchRegions.vue (100%) rename dashboard/{src => src2}/views/bench/BenchSettings.vue (100%) rename dashboard/{src => src2}/views/bench/BenchSites.vue (100%) rename dashboard/{src => src2}/views/bench/Benches.vue (100%) rename dashboard/{src => src2}/views/bench/EditBenchTitleDialog.vue (100%) rename dashboard/{src => src2}/views/bench/NewBench.vue (100%) rename dashboard/{src => src2}/views/bench/NewBenchApp.vue (100%) rename dashboard/{src => src2}/views/billing/AccountBilling.vue (100%) rename dashboard/{src => src2}/views/billing/AccountBillingCards.vue (100%) rename dashboard/{src => src2}/views/billing/AccountBillingCreditBalance.vue (100%) rename dashboard/{src => src2}/views/billing/AccountBillingDetails.vue (90%) rename dashboard/{src => src2}/views/billing/AccountBillingPayments.vue (100%) rename dashboard/{src => src2}/views/billing/BillingOverview.vue (100%) rename dashboard/{src => src2}/views/billing/BillingSummary.vue (95%) rename dashboard/{src => src2}/views/billing/FinalizeInvoicesDialog.vue (100%) rename dashboard/{src => src2}/views/billing/PaymentMethods.vue (100%) rename dashboard/{src => src2}/views/billing/UpcomingInvoiceSummary.vue (100%) rename dashboard/{src => src2}/views/checkout/Checkout.vue (100%) rename dashboard/{src => src2}/views/checkout/CheckoutAddress.vue (100%) rename dashboard/{src => src2}/views/checkout/CheckoutApps.vue (100%) rename dashboard/{src => src2}/views/checkout/CheckoutPayment.vue (94%) rename dashboard/{src => src2}/views/checkout/CheckoutPlans.vue (100%) rename dashboard/{src => src2}/views/checkout/PlanChangeSuccessful.vue (100%) rename dashboard/{src => src2}/views/checkout/Subscription.vue (100%) rename dashboard/{src => src2}/views/general/404.vue (100%) rename dashboard/{src => src2}/views/general/AgentJobs.vue (100%) rename dashboard/{src => src2}/views/general/AnsiblePlays.vue (100%) rename dashboard/{src => src2}/views/general/Home.vue (100%) rename dashboard/{src => src2}/views/general/JobsDetail.vue (100%) rename dashboard/{src => src2}/views/general/PlaysDetail.vue (100%) rename dashboard/{src => src2}/views/general/StepsDetail.vue (100%) rename dashboard/{src => src2}/views/marketplace/InstallMarketplaceApp.vue (100%) rename dashboard/{src => src2}/views/marketplace/Marketplace.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceApp.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceAppAnalytics.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceAppDeployment.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceAppOverview.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceAppPricing.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceAppReview.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceAppSubscriptions.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplaceApps.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplacePayoutDetails.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplacePayouts.vue (100%) rename dashboard/{src => src2}/views/marketplace/MarketplacePublisherProfile.vue (100%) rename dashboard/{src => src2}/views/marketplace/NewMarketplaceApp.vue (100%) rename dashboard/{src => src2}/views/notifications/Notifications.vue (100%) rename dashboard/{src => src2}/views/onboarding/ComingSoon.vue (100%) rename dashboard/{src => src2}/views/onboarding/OnboardingStepCreateAccount.vue (100%) rename dashboard/{src => src2}/views/onboarding/OnboardingStepCreateSite.vue (100%) rename dashboard/{src => src2}/views/onboarding/OnboardingStepSelectSitePlan.vue (100%) rename dashboard/{src => src2}/views/onboarding/OnboardingStepSetupPayment.vue (94%) rename dashboard/{src => src2}/views/onboarding/Support.vue (100%) rename dashboard/{src => src2}/views/onboarding/UserPrompts.vue (87%) rename dashboard/{src => src2}/views/onboarding/Welcome.vue (100%) rename dashboard/{src => src2}/views/partials/LoginBox.vue (100%) rename dashboard/{src => src2}/views/security/FirewallOverview.vue (100%) rename dashboard/{src => src2}/views/security/InfoSection.vue (100%) rename dashboard/{src => src2}/views/security/SSHSession.vue (100%) rename dashboard/{src => src2}/views/security/SSHSessionActivity.vue (100%) rename dashboard/{src => src2}/views/security/SSHSessionOverview.vue (100%) rename dashboard/{src => src2}/views/security/Security.vue (100%) rename dashboard/{src => src2}/views/security/SecurityOverview.vue (100%) rename dashboard/{src => src2}/views/security/SecurityUpdateInfo.vue (100%) rename dashboard/{src => src2}/views/security/SecurityUpdates.vue (100%) rename dashboard/{src => src2}/views/security/SecurityUpdatesOverview.vue (100%) rename dashboard/{src => src2}/views/security/Servers.vue (100%) rename dashboard/{src => src2}/views/server/EditServerTitleDialog.vue (100%) rename dashboard/{src => src2}/views/server/NewAppServerPlans.vue (100%) rename dashboard/{src => src2}/views/server/NewDBServerPlans.vue (100%) rename dashboard/{src => src2}/views/server/NewSelfHostedServer.vue (100%) rename dashboard/{src => src2}/views/server/NewSelfHostedServerForm.vue (100%) rename dashboard/{src => src2}/views/server/NewSelfHostedServerHostname.vue (100%) rename dashboard/{src => src2}/views/server/NewServer.vue (100%) rename dashboard/{src => src2}/views/server/NewServerHostname.vue (100%) rename dashboard/{src => src2}/views/server/NewVerifyServer.vue (100%) rename dashboard/{src => src2}/views/server/SelfHostedServerPlan.vue (100%) rename dashboard/{src => src2}/views/server/SelfHostedServerVerify.vue (100%) rename dashboard/{src => src2}/views/server/Server.vue (100%) rename dashboard/{src => src2}/views/server/ServerAnalytics.vue (100%) rename dashboard/{src => src2}/views/server/ServerBenches.vue (100%) rename dashboard/{src => src2}/views/server/ServerDrop.vue (100%) rename dashboard/{src => src2}/views/server/ServerInstall.vue (100%) rename dashboard/{src => src2}/views/server/ServerJobs.vue (100%) rename dashboard/{src => src2}/views/server/ServerOverview.vue (100%) rename dashboard/{src => src2}/views/server/ServerOverviewInfo.vue (100%) rename dashboard/{src => src2}/views/server/ServerOverviewPlan.vue (100%) rename dashboard/{src => src2}/views/server/ServerPlays.vue (100%) rename dashboard/{src => src2}/views/server/ServerSettings.vue (100%) rename dashboard/{src => src2}/views/server/Servers.vue (100%) rename dashboard/{src => src2}/views/settings/AccountAPI.vue (100%) rename dashboard/{src => src2}/views/settings/AccountEmails.vue (100%) rename dashboard/{src => src2}/views/settings/AccountGroups.vue (100%) rename dashboard/{src => src2}/views/settings/AccountMembers.vue (100%) rename dashboard/{src => src2}/views/settings/AccountPartner.vue (100%) rename dashboard/{src => src2}/views/settings/AccountProfile.vue (100%) rename dashboard/{src => src2}/views/settings/AccountReferral.vue (100%) rename dashboard/{src => src2}/views/settings/AccountSSHKey.vue (100%) rename dashboard/{src => src2}/views/settings/AccountSettings.vue (100%) rename dashboard/{src => src2}/views/settings/AccountTeam.vue (100%) rename dashboard/{src => src2}/views/settings/DeveloperSettings.vue (100%) rename dashboard/{src => src2}/views/settings/EditPermissions.vue (100%) rename dashboard/{src => src2}/views/settings/FeatureFlags.vue (100%) rename dashboard/{src => src2}/views/settings/ManageGroupMembers.vue (100%) rename dashboard/{src => src2}/views/settings/PartnerCustomers.vue (100%) rename dashboard/{src => src2}/views/settings/PartnerReferral.vue (100%) rename dashboard/{src => src2}/views/settings/PartnerRequestStatus.vue (100%) rename dashboard/{src => src2}/views/settings/PartnerSettings.vue (100%) rename dashboard/{src => src2}/views/settings/ProfileSettings.vue (100%) rename dashboard/{src => src2}/views/settings/TeamSettings.vue (100%) rename dashboard/{src => src2}/views/site/AppSiteSetup.vue (100%) rename dashboard/{src => src2}/views/site/DatabaseAccessDialog.vue (100%) rename dashboard/{src => src2}/views/site/NewSite.vue (100%) rename dashboard/{src => src2}/views/site/NewSiteApps.vue (100%) rename dashboard/{src => src2}/views/site/NewSiteHostname.vue (100%) rename dashboard/{src => src2}/views/site/NewSitePlans.vue (100%) rename dashboard/{src => src2}/views/site/NewSiteRestore.vue (100%) rename dashboard/{src => src2}/views/site/Site.vue (100%) rename dashboard/{src => src2}/views/site/SiteActivity.vue (100%) rename dashboard/{src => src2}/views/site/SiteAlerts.vue (100%) rename dashboard/{src => src2}/views/site/SiteAnalyticsUptime.vue (100%) rename dashboard/{src => src2}/views/site/SiteAppsAndSubscriptions.vue (100%) rename dashboard/{src => src2}/views/site/SiteAutoUpdate.vue (100%) rename dashboard/{src => src2}/views/site/SiteBinaryLogs.vue (100%) rename dashboard/{src => src2}/views/site/SiteChangeGroupDialog.vue (100%) rename dashboard/{src => src2}/views/site/SiteChangeRegionDialog.vue (93%) rename dashboard/{src => src2}/views/site/SiteChangeServerDialog.vue (94%) rename dashboard/{src => src2}/views/site/SiteCharts.vue (95%) rename dashboard/{src => src2}/views/site/SiteConfig.vue (100%) rename dashboard/{src => src2}/views/site/SiteConsole.vue (100%) rename dashboard/{src => src2}/views/site/SiteDatabase.vue (100%) rename dashboard/{src => src2}/views/site/SiteDatabaseBackups.vue (100%) rename dashboard/{src => src2}/views/site/SiteDatabaseRestore.vue (100%) rename dashboard/{src => src2}/views/site/SiteDeadlockReport.vue (100%) rename dashboard/{src => src2}/views/site/SiteDrop.vue (100%) rename dashboard/{src => src2}/views/site/SiteInstalling.vue (100%) rename dashboard/{src => src2}/views/site/SiteJobs.vue (100%) rename dashboard/{src => src2}/views/site/SiteList.vue (100%) rename dashboard/{src => src2}/views/site/SiteLogs.vue (100%) rename dashboard/{src => src2}/views/site/SiteLogsDetail.vue (100%) rename dashboard/{src => src2}/views/site/SiteMariaDBProcessList.vue (100%) rename dashboard/{src => src2}/views/site/SiteMariaDBSlowQueries.vue (100%) rename dashboard/{src => src2}/views/site/SiteMonitorsList.vue (100%) rename dashboard/{src => src2}/views/site/SiteOverview.vue (100%) rename dashboard/{src => src2}/views/site/SiteOverviewCPUUsage.vue (100%) rename dashboard/{src => src2}/views/site/SiteOverviewDomains.vue (100%) rename dashboard/{src => src2}/views/site/SiteOverviewInfo.vue (100%) rename dashboard/{src => src2}/views/site/SiteOverviewPlan.vue (100%) rename dashboard/{src => src2}/views/site/SitePlansDialog.vue (100%) rename dashboard/{src => src2}/views/site/SiteRequestLogs.vue (100%) rename dashboard/{src => src2}/views/site/SiteSettings.vue (100%) rename dashboard/{src => src2}/views/site/SiteTransferDialog.vue (100%) rename dashboard/{src => src2}/views/site/SiteVersionUpgradeDialog.vue (95%) rename dashboard/{src => src2}/views/site/Sites.vue (95%) rename dashboard/{src => src2}/views/spaces/CodeServer.vue (100%) rename dashboard/{src => src2}/views/spaces/CodeServerJobs.vue (100%) rename dashboard/{src => src2}/views/spaces/CodeServerOverview.vue (100%) rename dashboard/{src => src2}/views/spaces/CodeServerOverviewInfo.vue (100%) rename dashboard/{src => src2}/views/spaces/CodeServersList.vue (100%) rename dashboard/{src => src2}/views/spaces/CreateCodeServerDialog.vue (100%) rename dashboard/{src => src2}/views/spaces/NewCodeServer.vue (100%) rename dashboard/{src => src2}/views/spaces/NewCodeServerBench.vue (100%) rename dashboard/{src => src2}/views/spaces/NewCodeServerGroup.vue (100%) rename dashboard/{src => src2}/views/spaces/NewCodeServerHostname.vue (100%) rename dashboard/{src => src2}/views/spaces/Spaces.vue (100%) rename dashboard/{src => src2}/views/spaces/SpacesList.vue (100%) diff --git a/dashboard/.eslintrc.js b/dashboard/.eslintrc.cjs similarity index 100% rename from dashboard/.eslintrc.js rename to dashboard/.eslintrc.cjs diff --git a/dashboard/jsconfig.json b/dashboard/jsconfig.json index 8ab59b4..64c293b 100644 --- a/dashboard/jsconfig.json +++ b/dashboard/jsconfig.json @@ -1,9 +1,9 @@ { - "include": ["./src/**/*", "src2/components/AddressableErrorDialog.vue"], + "include": ["./src2/**/*"], "compilerOptions": { "baseUrl": ".", "paths": { - "@/*": ["src/*"] + "@/*": ["src2/*"] } } } diff --git a/dashboard/package.json b/dashboard/package.json index c18f144..df0803d 100644 --- a/dashboard/package.json +++ b/dashboard/package.json @@ -10,7 +10,7 @@ "generate-theme-config": "node ./generateThemeConfig.cjs", "test": "vitest", "coverage": "vitest run --coverage", - "lint": "eslint src" + "lint": "eslint src2" }, "dependencies": { "@codemirror/autocomplete": "^6.18.1", diff --git a/dashboard/src/App.vue b/dashboard/src/App.vue deleted file mode 100644 index 9b01c49..0000000 --- a/dashboard/src/App.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - diff --git a/dashboard/src/components/AlertBillingInformation.vue b/dashboard/src/components/AlertBillingInformation.vue deleted file mode 100644 index e4003a1..0000000 --- a/dashboard/src/components/AlertBillingInformation.vue +++ /dev/null @@ -1,65 +0,0 @@ - - diff --git a/dashboard/src/components/AlertSiteActivation.vue b/dashboard/src/components/AlertSiteActivation.vue deleted file mode 100644 index 4f7427c..0000000 --- a/dashboard/src/components/AlertSiteActivation.vue +++ /dev/null @@ -1,32 +0,0 @@ - - diff --git a/dashboard/src/components/AlertSiteUpdate.vue b/dashboard/src/components/AlertSiteUpdate.vue deleted file mode 100644 index 81747c5..0000000 --- a/dashboard/src/components/AlertSiteUpdate.vue +++ /dev/null @@ -1,165 +0,0 @@ - - diff --git a/dashboard/src/components/AlertUpdate.vue b/dashboard/src/components/AlertUpdate.vue deleted file mode 100644 index 81a305a..0000000 --- a/dashboard/src/components/AlertUpdate.vue +++ /dev/null @@ -1,172 +0,0 @@ - - diff --git a/dashboard/src/components/AppSourceSelector.vue b/dashboard/src/components/AppSourceSelector.vue deleted file mode 100644 index 1bb0f89..0000000 --- a/dashboard/src/components/AppSourceSelector.vue +++ /dev/null @@ -1,110 +0,0 @@ - - diff --git a/dashboard/src/components/AppSubscriptionSummary.vue b/dashboard/src/components/AppSubscriptionSummary.vue deleted file mode 100644 index bfc4ce4..0000000 --- a/dashboard/src/components/AppSubscriptionSummary.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - diff --git a/dashboard/src/components/BackupFilesUploader.vue b/dashboard/src/components/BackupFilesUploader.vue deleted file mode 100644 index c403b58..0000000 --- a/dashboard/src/components/BackupFilesUploader.vue +++ /dev/null @@ -1,147 +0,0 @@ - - diff --git a/dashboard/src/components/BenchAppUpdates.vue b/dashboard/src/components/BenchAppUpdates.vue deleted file mode 100644 index 91dc401..0000000 --- a/dashboard/src/components/BenchAppUpdates.vue +++ /dev/null @@ -1,105 +0,0 @@ - - diff --git a/dashboard/src/components/BillingInformationDialog.vue b/dashboard/src/components/BillingInformationDialog.vue deleted file mode 100644 index b40d28a..0000000 --- a/dashboard/src/components/BillingInformationDialog.vue +++ /dev/null @@ -1,35 +0,0 @@ - - diff --git a/dashboard/src/components/BuyPrepaidCredits.vue b/dashboard/src/components/BuyPrepaidCredits.vue deleted file mode 100644 index 27af80b..0000000 --- a/dashboard/src/components/BuyPrepaidCredits.vue +++ /dev/null @@ -1,201 +0,0 @@ - - diff --git a/dashboard/src/components/ChangeAppPlanSelector.vue b/dashboard/src/components/ChangeAppPlanSelector.vue deleted file mode 100644 index 74e91fe..0000000 --- a/dashboard/src/components/ChangeAppPlanSelector.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - diff --git a/dashboard/src/components/ChangePaymentModeDialog.vue b/dashboard/src/components/ChangePaymentModeDialog.vue deleted file mode 100644 index d3f15d9..0000000 --- a/dashboard/src/components/ChangePaymentModeDialog.vue +++ /dev/null @@ -1,135 +0,0 @@ - - diff --git a/dashboard/src/components/ClickToCopyField.vue b/dashboard/src/components/ClickToCopyField.vue deleted file mode 100644 index 2ea8eb9..0000000 --- a/dashboard/src/components/ClickToCopyField.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/dashboard/src/components/ConfigEditor.vue b/dashboard/src/components/ConfigEditor.vue deleted file mode 100644 index 3b2c91e..0000000 --- a/dashboard/src/components/ConfigEditor.vue +++ /dev/null @@ -1,341 +0,0 @@ - - - diff --git a/dashboard/src/components/ConfirmDialogs.vue b/dashboard/src/components/ConfirmDialogs.vue deleted file mode 100644 index 1f300b9..0000000 --- a/dashboard/src/components/ConfirmDialogs.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - diff --git a/dashboard/src/components/DescriptionList.vue b/dashboard/src/components/DescriptionList.vue deleted file mode 100644 index d583cfc..0000000 --- a/dashboard/src/components/DescriptionList.vue +++ /dev/null @@ -1,17 +0,0 @@ - - - diff --git a/dashboard/src/components/FeatureList.vue b/dashboard/src/components/FeatureList.vue deleted file mode 100644 index bee0e38..0000000 --- a/dashboard/src/components/FeatureList.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - diff --git a/dashboard/src/components/Form.vue b/dashboard/src/components/Form.vue deleted file mode 100644 index 05cd0de..0000000 --- a/dashboard/src/components/Form.vue +++ /dev/null @@ -1,130 +0,0 @@ - - - diff --git a/dashboard/src/components/FrappeCloudLogo.vue b/dashboard/src/components/FrappeCloudLogo.vue deleted file mode 100644 index 07285f9..0000000 --- a/dashboard/src/components/FrappeCloudLogo.vue +++ /dev/null @@ -1,95 +0,0 @@ - diff --git a/dashboard/src/components/InvoiceUsageCard.vue b/dashboard/src/components/InvoiceUsageCard.vue deleted file mode 100644 index 2f58c47..0000000 --- a/dashboard/src/components/InvoiceUsageCard.vue +++ /dev/null @@ -1,39 +0,0 @@ - - diff --git a/dashboard/src/components/InvoiceUsageTable.vue b/dashboard/src/components/InvoiceUsageTable.vue deleted file mode 100644 index 5347459..0000000 --- a/dashboard/src/components/InvoiceUsageTable.vue +++ /dev/null @@ -1,150 +0,0 @@ - - diff --git a/dashboard/src/components/MarketplaceAppCard.vue b/dashboard/src/components/MarketplaceAppCard.vue deleted file mode 100644 index f24d32d..0000000 --- a/dashboard/src/components/MarketplaceAppCard.vue +++ /dev/null @@ -1,30 +0,0 @@ - - - diff --git a/dashboard/src/components/MarketplaceAppDescriptions.vue b/dashboard/src/components/MarketplaceAppDescriptions.vue deleted file mode 100644 index 3a64de0..0000000 --- a/dashboard/src/components/MarketplaceAppDescriptions.vue +++ /dev/null @@ -1,184 +0,0 @@ - - - diff --git a/dashboard/src/components/MarketplaceAppReleaseList.vue b/dashboard/src/components/MarketplaceAppReleaseList.vue deleted file mode 100644 index 95c71c2..0000000 --- a/dashboard/src/components/MarketplaceAppReleaseList.vue +++ /dev/null @@ -1,313 +0,0 @@ - - - diff --git a/dashboard/src/components/MarketplaceAppScreenshots.vue b/dashboard/src/components/MarketplaceAppScreenshots.vue deleted file mode 100644 index 5d7e0bd..0000000 --- a/dashboard/src/components/MarketplaceAppScreenshots.vue +++ /dev/null @@ -1,86 +0,0 @@ - - - diff --git a/dashboard/src/components/Modal.vue b/dashboard/src/components/Modal.vue deleted file mode 100644 index 85225a8..0000000 --- a/dashboard/src/components/Modal.vue +++ /dev/null @@ -1,79 +0,0 @@ - - - diff --git a/dashboard/src/components/Navbar.vue b/dashboard/src/components/Navbar.vue deleted file mode 100644 index 71ab073..0000000 --- a/dashboard/src/components/Navbar.vue +++ /dev/null @@ -1,143 +0,0 @@ - - - diff --git a/dashboard/src/components/NewAppRepositories.vue b/dashboard/src/components/NewAppRepositories.vue deleted file mode 100644 index 72f5789..0000000 --- a/dashboard/src/components/NewAppRepositories.vue +++ /dev/null @@ -1,108 +0,0 @@ - - diff --git a/dashboard/src/components/Notification.vue b/dashboard/src/components/Notification.vue deleted file mode 100644 index 6e1a82d..0000000 --- a/dashboard/src/components/Notification.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/dashboard/src/components/NotificationToasts.vue b/dashboard/src/components/NotificationToasts.vue deleted file mode 100644 index 5b75b22..0000000 --- a/dashboard/src/components/NotificationToasts.vue +++ /dev/null @@ -1,20 +0,0 @@ - - - diff --git a/dashboard/src/components/PlanIcon.vue b/dashboard/src/components/PlanIcon.vue deleted file mode 100644 index 1babbc2..0000000 --- a/dashboard/src/components/PlanIcon.vue +++ /dev/null @@ -1,25 +0,0 @@ - diff --git a/dashboard/src/components/Popover.vue b/dashboard/src/components/Popover.vue deleted file mode 100644 index 4866c8d..0000000 --- a/dashboard/src/components/Popover.vue +++ /dev/null @@ -1,194 +0,0 @@ - - - - diff --git a/dashboard/src/components/ProgressArc.vue b/dashboard/src/components/ProgressArc.vue deleted file mode 100644 index 7c5103f..0000000 --- a/dashboard/src/components/ProgressArc.vue +++ /dev/null @@ -1,61 +0,0 @@ - - diff --git a/dashboard/src/components/Report.vue b/dashboard/src/components/Report.vue deleted file mode 100644 index c429995..0000000 --- a/dashboard/src/components/Report.vue +++ /dev/null @@ -1,60 +0,0 @@ - - diff --git a/dashboard/src/components/Sidebar.vue b/dashboard/src/components/Sidebar.vue deleted file mode 100644 index b8bcce4..0000000 --- a/dashboard/src/components/Sidebar.vue +++ /dev/null @@ -1,253 +0,0 @@ - - - diff --git a/dashboard/src/components/SiteAppUpdateCard.vue b/dashboard/src/components/SiteAppUpdateCard.vue deleted file mode 100644 index 3d18b93..0000000 --- a/dashboard/src/components/SiteAppUpdateCard.vue +++ /dev/null @@ -1,74 +0,0 @@ - - - diff --git a/dashboard/src/components/SitePlansTable.vue b/dashboard/src/components/SitePlansTable.vue deleted file mode 100644 index 941acee..0000000 --- a/dashboard/src/components/SitePlansTable.vue +++ /dev/null @@ -1,75 +0,0 @@ - - - diff --git a/dashboard/src/components/SiteUpdateCard.vue b/dashboard/src/components/SiteUpdateCard.vue deleted file mode 100644 index a6b9618..0000000 --- a/dashboard/src/components/SiteUpdateCard.vue +++ /dev/null @@ -1,60 +0,0 @@ - - - diff --git a/dashboard/src/components/Steps.vue b/dashboard/src/components/Steps.vue deleted file mode 100644 index ce1b51d..0000000 --- a/dashboard/src/components/Steps.vue +++ /dev/null @@ -1,90 +0,0 @@ - - diff --git a/dashboard/src/components/StripeCard.vue b/dashboard/src/components/StripeCard.vue deleted file mode 100644 index 3854340..0000000 --- a/dashboard/src/components/StripeCard.vue +++ /dev/null @@ -1,281 +0,0 @@ - - - diff --git a/dashboard/src/components/StripeLogo.vue b/dashboard/src/components/StripeLogo.vue deleted file mode 100644 index 377ddfc..0000000 --- a/dashboard/src/components/StripeLogo.vue +++ /dev/null @@ -1,32 +0,0 @@ - - diff --git a/dashboard/src/components/SwitchTeamDialog.vue b/dashboard/src/components/SwitchTeamDialog.vue deleted file mode 100644 index 2473b10..0000000 --- a/dashboard/src/components/SwitchTeamDialog.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - diff --git a/dashboard/src/components/Tabs.vue b/dashboard/src/components/Tabs.vue deleted file mode 100644 index 7ac0619..0000000 --- a/dashboard/src/components/Tabs.vue +++ /dev/null @@ -1,66 +0,0 @@ - - - diff --git a/dashboard/src/components/Tags.vue b/dashboard/src/components/Tags.vue deleted file mode 100644 index 72480d7..0000000 --- a/dashboard/src/components/Tags.vue +++ /dev/null @@ -1,158 +0,0 @@ - - diff --git a/dashboard/src/components/WizardCard.vue b/dashboard/src/components/WizardCard.vue deleted file mode 100644 index 4f7e3d6..0000000 --- a/dashboard/src/components/WizardCard.vue +++ /dev/null @@ -1,16 +0,0 @@ - - diff --git a/dashboard/src/components/marketplace/ChangeAppBranchDialog.vue b/dashboard/src/components/marketplace/ChangeAppBranchDialog.vue deleted file mode 100644 index 556a1ab..0000000 --- a/dashboard/src/components/marketplace/ChangeAppBranchDialog.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - diff --git a/dashboard/src/components/marketplace/CreateAppVersionDialog.vue b/dashboard/src/components/marketplace/CreateAppVersionDialog.vue deleted file mode 100644 index 23fa63f..0000000 --- a/dashboard/src/components/marketplace/CreateAppVersionDialog.vue +++ /dev/null @@ -1,104 +0,0 @@ - - - diff --git a/dashboard/src/components/marketplace/MarketplaceAppReviewStages.vue b/dashboard/src/components/marketplace/MarketplaceAppReviewStages.vue deleted file mode 100644 index 59832ba..0000000 --- a/dashboard/src/components/marketplace/MarketplaceAppReviewStages.vue +++ /dev/null @@ -1,161 +0,0 @@ - - - diff --git a/dashboard/src/components/marketplace/PublisherPayoutInfoCard.vue b/dashboard/src/components/marketplace/PublisherPayoutInfoCard.vue deleted file mode 100644 index 20d3d78..0000000 --- a/dashboard/src/components/marketplace/PublisherPayoutInfoCard.vue +++ /dev/null @@ -1,154 +0,0 @@ - - - diff --git a/dashboard/src/components/marketplace/PublisherProfileCard.vue b/dashboard/src/components/marketplace/PublisherProfileCard.vue deleted file mode 100644 index 50e295b..0000000 --- a/dashboard/src/components/marketplace/PublisherProfileCard.vue +++ /dev/null @@ -1,114 +0,0 @@ - - - diff --git a/dashboard/src/data/notifications.js b/dashboard/src/data/notifications.js deleted file mode 100644 index beb0ff0..0000000 --- a/dashboard/src/data/notifications.js +++ /dev/null @@ -1,7 +0,0 @@ -import { createResource } from 'jingrow-ui'; - -export const unreadNotificationsCount = createResource({ - cache: 'Unread Notifications Count', - url: 'jcloud.api.notifications.get_unread_count', - initialData: 0 -}); diff --git a/dashboard/src/main.js b/dashboard/src/main.js deleted file mode 100644 index 0e98d9d..0000000 --- a/dashboard/src/main.js +++ /dev/null @@ -1,108 +0,0 @@ -import App from './App.vue'; -import { createApp } from 'vue'; -import registerPlugins from './plugins'; -import registerRouter from './router/register'; -import registerControllers from './controllers/register'; -import registerGlobalComponents from './components/global/register'; -import * as Sentry from '@sentry/vue'; -import posthog from 'posthog-js'; -import { BrowserTracing } from '@sentry/tracing'; -import router from './router/index'; -import dayjs from 'dayjs'; -import { notify } from '@/utils/toast'; -import { - setConfig, - jingrowRequest, - pageMetaPlugin, - resourcesPlugin -} from 'jingrow-ui'; - -const app = createApp(App); -let request = options => { - let _options = options || {}; - _options.headers = options.headers || {}; - let currentTeam = localStorage.getItem('current_team'); - if (currentTeam) { - _options.headers['X-Jcloud-Team'] = currentTeam; - } - return jingrowRequest(_options); -}; -setConfig('resourceFetcher', request); -app.use(resourcesPlugin); -app.use(pageMetaPlugin); - -registerPlugins(app); -registerGlobalComponents(app); -const { auth, account } = registerControllers(app); -registerRouter(app, auth, account); - -// sentry -if (window.jcloud_frontend_sentry_dsn?.includes('https://')) { - Sentry.init({ - app, - dsn: window.jcloud_frontend_sentry_dsn, - integrations: [ - new BrowserTracing({ - routingInstrumentation: Sentry.vueRouterInstrumentation(router), - tracingOrigins: ['localhost', /^\//] - }) - ], - beforeSend(event, hint) { - const ignoreErrors = [ - /dynamically imported module/, - /NetworkError when attempting to fetch resource/ - ]; - const error = hint.originalException; - - if (error?.message && ignoreErrors.some(re => re.test(error.message))) - return null; - - return event; - }, - logErrors: true - }); -} - -// posthog -if (window.jcloud_frontend_posthog_host?.includes('https://')) { - try { - posthog.init(window.jcloud_frontend_posthog_project_id, { - api_host: window.jcloud_frontend_posthog_host, - autocapture: false, - capture_pageview: false, - capture_pageleave: false, - advanced_disable_decide: true - }); - window.posthog = posthog; - } catch (e) { - console.trace('Failed to initialize telemetry', e); - } -} - -if (import.meta.env.DEV) { - request({ - url: '/api/action/jcloud.www.dashboard.get_context_for_dev' - }).then(values => { - for (let key in values) { - window[key] = values[key]; - } - app.mount('#app'); - }); -} else { - app.mount('#app'); -} - -app.config.globalProperties.$dayjs = dayjs; -app.config.errorHandler = (error, instance) => { - if (instance) { - let errorMessage = error.message; - if (error.messages) errorMessage = error.messages.join('\n'); - notify({ - icon: 'x', - title: 'An error occurred', - message: errorMessage, - color: 'red' - }); - } - console.error(error); -}; diff --git a/dashboard/src/utils/dayjs.js b/dashboard/src/utils/dayjs.js deleted file mode 100644 index 8b2ab04..0000000 --- a/dashboard/src/utils/dayjs.js +++ /dev/null @@ -1,62 +0,0 @@ -import dayjs from 'dayjs'; -import relativeTime from 'dayjs/esm/plugin/relativeTime'; -import localizedFormat from 'dayjs/plugin/localizedFormat'; -import updateLocale from 'dayjs/plugin/updateLocale'; -import isToday from 'dayjs/plugin/isToday'; -import utc from 'dayjs/plugin/utc'; -import timezone from 'dayjs/plugin/timezone'; - -dayjs.extend(updateLocale); -dayjs.extend(relativeTime); -dayjs.extend(localizedFormat); -dayjs.extend(isToday); -dayjs.extend(utc); -dayjs.extend(timezone); - -dayjs.shortFormating = (s, ago = false) => { - if (s === 'now' || s === 'now ago') { - return 'now'; - } - - const prefix = s.split(' ')[0]; - const posfix = s.split(' ')[1]; - const isPast = s.includes('ago'); - let newPostfix = ''; - switch (posfix) { - case 'minute': - newPostfix = 'm'; - break; - case 'minutes': - newPostfix = 'm'; - break; - case 'hour': - newPostfix = 'h'; - break; - case 'hours': - newPostfix = 'h'; - break; - case 'day': - newPostfix = 'd'; - break; - case 'days': - newPostfix = 'd'; - break; - case 'month': - newPostfix = 'M'; - break; - case 'months': - newPostfix = 'M'; - break; - case 'year': - newPostfix = 'Y'; - break; - case 'years': - newPostfix = 'Y'; - break; - } - return `${['a', 'an'].includes(prefix) ? '1' : prefix} ${newPostfix}${ - isPast ? (ago ? ' ago' : '') : '' - }`; -}; - -export default dayjs; diff --git a/dashboard/src/utils/toast.js b/dashboard/src/utils/toast.js deleted file mode 100644 index a2a4871..0000000 --- a/dashboard/src/utils/toast.js +++ /dev/null @@ -1,15 +0,0 @@ -import { ref } from 'vue'; - -export const notifications = ref([]); - -export const hideNotification = id => { - notifications.value = notifications.value.filter(props => props.id !== id); -}; - -export const notify = props => { - // TODO: remove the line below once the jingrow-ui bug (onError triggers twice) is fixed - if (notifications.value.some(n => n.message === props.message)) return; - props.id = Math.floor(Math.random() * 1000 + Date.now()); - notifications.value.push(props); - setTimeout(() => hideNotification(props.id), props.timeout || 5000); -}; diff --git a/dashboard/src2/App.vue b/dashboard/src2/App.vue index 9f9d76e..53a3478 100644 --- a/dashboard/src2/App.vue +++ b/dashboard/src2/App.vue @@ -272,7 +272,7 @@ provide('team', team); provide('session', session); - +