@stacksjs/defaults 0.70.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +21 -0
- package/README.md +2 -0
- package/package.json +20 -0
- package/resources/assets/fonts/013717e9.woff +0 -0
- package/resources/assets/fonts/03355817.woff2 +0 -0
- package/resources/assets/fonts/0380de7e.woff2 +0 -0
- package/resources/assets/fonts/0ba5d32a.woff +0 -0
- package/resources/assets/fonts/0bd57ddf.woff2 +0 -0
- package/resources/assets/fonts/19de0a60.woff2 +0 -0
- package/resources/assets/fonts/20b87e84.woff +0 -0
- package/resources/assets/fonts/4bbc67e1.woff +0 -0
- package/resources/assets/fonts/576fb0d7.woff +0 -0
- package/resources/assets/fonts/5ea10ee5.woff2 +0 -0
- package/resources/assets/fonts/6413fc0a.woff +0 -0
- package/resources/assets/fonts/72c114cf.woff +0 -0
- package/resources/assets/fonts/73c57e73.woff2 +0 -0
- package/resources/assets/fonts/813dca6c.woff +0 -0
- package/resources/assets/fonts/8a9b0995.woff2 +0 -0
- package/resources/assets/fonts/90b4832f.woff +0 -0
- package/resources/assets/fonts/9394ab85.woff2 +0 -0
- package/resources/assets/fonts/9b3c7d7f.woff2 +0 -0
- package/resources/assets/fonts/Monaco.ttf +0 -0
- package/resources/assets/fonts/b1b36d74.woff +0 -0
- package/resources/assets/fonts/b5d74798.woff2 +0 -0
- package/resources/assets/fonts/b9f81a4d.woff +0 -0
- package/resources/assets/fonts/c9784008.woff2 +0 -0
- package/resources/assets/fonts/cf692227.woff +0 -0
- package/resources/assets/fonts/d1c6ab51.woff2 +0 -0
- package/resources/assets/fonts/e2eb62fc.woff +0 -0
- package/resources/assets/fonts/fe21f8d8.woff2 +0 -0
- package/resources/assets/fonts/nps/CampmateScript-Regular.woff2 +0 -0
- package/resources/assets/fonts/nps/NPS_2026-variable.woff2 +0 -0
- package/resources/assets/fonts/nps/RedwoodSerif-Regular.woff2 +0 -0
- package/resources/assets/fonts/nps/SequoiaSans-Regular.woff2 +0 -0
- package/resources/assets/fonts/nps/Switchback-Regular.woff2 +0 -0
- package/resources/assets/images/app-icon.png +0 -0
- package/resources/assets/images/bg-img.png +0 -0
- package/resources/assets/images/park-ridge.svg +15 -0
- package/resources/assets/images/topography.svg +1 -0
- package/resources/assets/scripts/main.ts +2153 -0
- package/resources/assets/styles/README.md +19 -0
- package/resources/assets/styles/docs/main.css +1 -0
- package/resources/assets/styles/docs/overrides.css +1 -0
- package/resources/assets/styles/docs/vars.css +8 -0
- package/resources/assets/styles/main.css +1419 -0
- package/resources/components/Button.stx +70 -0
- package/resources/components/Buttons/BaseButton.stx +39 -0
- package/resources/components/Buttons/Counter.stx +28 -0
- package/resources/components/Buttons/ToggleDark.stx +11 -0
- package/resources/components/Container.stx +10 -0
- package/resources/components/Dashboard/.gitkeep +0 -0
- package/resources/components/Dashboard/Auth/ForgotPassword.stx +127 -0
- package/resources/components/Dashboard/Auth/Login.stx +212 -0
- package/resources/components/Dashboard/Auth/Register.stx +306 -0
- package/resources/components/Dashboard/Avatar.stx +123 -0
- package/resources/components/Dashboard/Billing/ActivePlan.stx +57 -0
- package/resources/components/Dashboard/Billing/CardBrands.stx +32 -0
- package/resources/components/Dashboard/Billing/CardForm.stx +34 -0
- package/resources/components/Dashboard/Billing/OneTimePayment.stx +28 -0
- package/resources/components/Dashboard/Billing/PaymentForm.stx +33 -0
- package/resources/components/Dashboard/Billing/PaymentMethod.stx +66 -0
- package/resources/components/Dashboard/Billing/PaymentMethodList.stx +52 -0
- package/resources/components/Dashboard/Billing/Plans.stx +136 -0
- package/resources/components/Dashboard/Buttons/AppButton.stx +48 -0
- package/resources/components/Dashboard/Buttons/IconButton.stx +20 -0
- package/resources/components/Dashboard/Card.stx +78 -0
- package/resources/components/Dashboard/Chart.stx +75 -0
- package/resources/components/Dashboard/CodeEditor.stx +41 -0
- package/resources/components/Dashboard/Commerce/BulkActionBar.stx +70 -0
- package/resources/components/Dashboard/Commerce/CategoriesTable.stx +133 -0
- package/resources/components/Dashboard/Commerce/CouponsTable.stx +161 -0
- package/resources/components/Dashboard/Commerce/CustomersTable.stx +142 -0
- package/resources/components/Dashboard/Commerce/Delivery/DeliveryRoutesTable.stx +80 -0
- package/resources/components/Dashboard/Commerce/Delivery/DigitalDeliveryTable.stx +85 -0
- package/resources/components/Dashboard/Commerce/Delivery/DriversTable.stx +99 -0
- package/resources/components/Dashboard/Commerce/Delivery/LicenseKeysTable.stx +92 -0
- package/resources/components/Dashboard/Commerce/Delivery/LicenseTemplatesTable.stx +88 -0
- package/resources/components/Dashboard/Commerce/Delivery/Pagination.stx +122 -0
- package/resources/components/Dashboard/Commerce/Delivery/SearchFilter.stx +23 -0
- package/resources/components/Dashboard/Commerce/Delivery/ShippingMethodsTable.stx +80 -0
- package/resources/components/Dashboard/Commerce/Delivery/ShippingRatesTable.stx +59 -0
- package/resources/components/Dashboard/Commerce/Delivery/ShippingZonesTable.stx +71 -0
- package/resources/components/Dashboard/Commerce/Delivery/TabNavigation.stx +36 -0
- package/resources/components/Dashboard/Commerce/Forms/CouponsForm.stx +191 -0
- package/resources/components/Dashboard/Commerce/OrdersTable.stx +131 -0
- package/resources/components/Dashboard/Commerce/ProductsTable.stx +170 -0
- package/resources/components/Dashboard/CreateRecordModal.stx +363 -0
- package/resources/components/Dashboard/DashboardLayout.stx +155 -0
- package/resources/components/Dashboard/Deployments/ActivityFeed.stx +54 -0
- package/resources/components/Dashboard/Deployments/DeployScript.stx +23 -0
- package/resources/components/Dashboard/Deployments/DeploymentHistory.stx +97 -0
- package/resources/components/Dashboard/Deployments/DeploymentList.stx +94 -0
- package/resources/components/Dashboard/Deployments/LiveTerminalOutput.stx +18 -0
- package/resources/components/Dashboard/Elements/Dropdown.stx +57 -0
- package/resources/components/Dashboard/Email/EmailActivityChart.stx +111 -0
- package/resources/components/Dashboard/Email/EmailCompose.stx +72 -0
- package/resources/components/Dashboard/Email/EmailDetail.stx +105 -0
- package/resources/components/Dashboard/Email/EmailList.stx +117 -0
- package/resources/components/Dashboard/Email/EmailSearch.stx +40 -0
- package/resources/components/Dashboard/Email/EmailSidebar.stx +133 -0
- package/resources/components/Dashboard/GlobalSearch.stx +124 -0
- package/resources/components/Dashboard/MobileSidebar.stx +47 -0
- package/resources/components/Dashboard/Modals/BaseModal.stx +50 -0
- package/resources/components/Dashboard/Modals/Popups/Alert.stx +112 -0
- package/resources/components/Dashboard/Modals/Popups/Toast.stx +70 -0
- package/resources/components/Dashboard/Modals/ToastWrapper.stx +35 -0
- package/resources/components/Dashboard/Monitoring/ErrorDetailModal.stx +228 -0
- package/resources/components/Dashboard/Monitoring/ErrorsTable.stx +184 -0
- package/resources/components/Dashboard/Navbar.stx +194 -0
- package/resources/components/Dashboard/NavbarModern.stx +188 -0
- package/resources/components/Dashboard/NotificationErrorModal.stx +105 -0
- package/resources/components/Dashboard/NotificationStatusBadge.stx +20 -0
- package/resources/components/Dashboard/Pagination.stx +90 -0
- package/resources/components/Dashboard/Queue/QueueTable.stx +127 -0
- package/resources/components/Dashboard/Settings/Forms/AIForm.stx +126 -0
- package/resources/components/Dashboard/Settings/Forms/AnalyticsForm.stx +52 -0
- package/resources/components/Dashboard/Settings/Forms/AppForm.stx +157 -0
- package/resources/components/Dashboard/Settings/Forms/CLIForm.stx +66 -0
- package/resources/components/Dashboard/Settings/Forms/CacheForm.stx +253 -0
- package/resources/components/Dashboard/Settings/Forms/CloudForm.stx +441 -0
- package/resources/components/Dashboard/Settings/Forms/DNSForm.stx +307 -0
- package/resources/components/Dashboard/Settings/Forms/DatabaseForm.stx +168 -0
- package/resources/components/Dashboard/Settings/Forms/EmailForm.stx +100 -0
- package/resources/components/Dashboard/Settings/Forms/FileSystemForm.stx +259 -0
- package/resources/components/Dashboard/Settings/Forms/HashingForm.stx +119 -0
- package/resources/components/Dashboard/Settings/Forms/LibraryForm.stx +389 -0
- package/resources/components/Dashboard/Settings/Forms/QueueForm.stx +219 -0
- package/resources/components/Dashboard/Settings/Forms/SearchEngineForm.stx +48 -0
- package/resources/components/Dashboard/Settings/Forms/SecurityForm.stx +143 -0
- package/resources/components/Dashboard/Settings/Forms/ServicesForm.stx +194 -0
- package/resources/components/Dashboard/Settings/Forms/StorageForm.stx +191 -0
- package/resources/components/Dashboard/Settings/Forms/TeamsForm.stx +33 -0
- package/resources/components/Dashboard/Settings/SettingsFormManager.stx +181 -0
- package/resources/components/Dashboard/SettingsHeader.stx +88 -0
- package/resources/components/Dashboard/SettingsSidebar.stx +234 -0
- package/resources/components/Dashboard/Sidebar.stx +23 -0
- package/resources/components/Dashboard/SidebarModern.stx +249 -0
- package/resources/components/Dashboard/Skeleton/LoadingCard.stx +15 -0
- package/resources/components/Dashboard/Skeleton/LoadingDetails.stx +26 -0
- package/resources/components/Dashboard/Table.stx +82 -0
- package/resources/components/Dashboard/TerminalContainer.stx +97 -0
- package/resources/components/Dashboard/Tooltip.stx +166 -0
- package/resources/components/Dashboard/Transaction/index.stx +88 -0
- package/resources/components/Dashboard/UI/ActivityTable.stx +54 -0
- package/resources/components/Dashboard/UI/Avatar.stx +102 -0
- package/resources/components/Dashboard/UI/Badge.stx +66 -0
- package/resources/components/Dashboard/UI/Button.stx +73 -0
- package/resources/components/Dashboard/UI/Card.stx +51 -0
- package/resources/components/Dashboard/UI/ChartCard.stx +36 -0
- package/resources/components/Dashboard/UI/Checkbox.stx +74 -0
- package/resources/components/Dashboard/UI/ConfirmDialog.stx +74 -0
- package/resources/components/Dashboard/UI/DataTable.stx +45 -0
- package/resources/components/Dashboard/UI/Dropdown.stx +72 -0
- package/resources/components/Dashboard/UI/DropdownItem.stx +80 -0
- package/resources/components/Dashboard/UI/EmptyState.stx +50 -0
- package/resources/components/Dashboard/UI/FilterBar.stx +48 -0
- package/resources/components/Dashboard/UI/Input.stx +77 -0
- package/resources/components/Dashboard/UI/Modal.stx +75 -0
- package/resources/components/Dashboard/UI/PageHeader.stx +69 -0
- package/resources/components/Dashboard/UI/PageLayout.stx +84 -0
- package/resources/components/Dashboard/UI/Pagination.stx +126 -0
- package/resources/components/Dashboard/UI/QuickLinks.stx +31 -0
- package/resources/components/Dashboard/UI/RouterLink.stx +31 -0
- package/resources/components/Dashboard/UI/Select.stx +84 -0
- package/resources/components/Dashboard/UI/ServiceHealth.stx +38 -0
- package/resources/components/Dashboard/UI/StatsCard.stx +79 -0
- package/resources/components/Dashboard/UI/Table.stx +143 -0
- package/resources/components/Dashboard/UI/Tabs.stx +45 -0
- package/resources/components/Dashboard/UI/Textarea.stx +93 -0
- package/resources/components/Dashboard/UI/Toggle.stx +84 -0
- package/resources/components/Dashboard/UI/WindowControls.stx +135 -0
- package/resources/components/Dashboard/Widget.stx +89 -0
- package/resources/components/Dashboard/WindowControls.stx +119 -0
- package/resources/components/Dashboard/index.ts +106 -0
- package/resources/components/Docs/Demo/ComboboxCode.md +114 -0
- package/resources/components/Docs/Demo/ComboboxDemo.stx +91 -0
- package/resources/components/Docs/Demo/DialogCode.md +42 -0
- package/resources/components/Docs/Demo/DialogDemo.stx +76 -0
- package/resources/components/Docs/Demo/DocsPlayground.stx +39 -0
- package/resources/components/Docs/Demo/DropdownCode.md +109 -0
- package/resources/components/Docs/Demo/DropdownDemo.stx +82 -0
- package/resources/components/Docs/Demo/Hero.stx +100 -0
- package/resources/components/Docs/Demo/ListboxCode.md +87 -0
- package/resources/components/Docs/Demo/ListboxDemo.stx +59 -0
- package/resources/components/Docs/Demo/NotificationCode.md +173 -0
- package/resources/components/Docs/Demo/NotificationDemo.stx +99 -0
- package/resources/components/Docs/Demo/PopoverCode.md +161 -0
- package/resources/components/Docs/Demo/PopoverDemo.stx +96 -0
- package/resources/components/Docs/Demo/RadioGroupCode.md +98 -0
- package/resources/components/Docs/Demo/RadioGroupDemo.stx +53 -0
- package/resources/components/Docs/Demo/StepperCode.md +216 -0
- package/resources/components/Docs/Demo/StepperDemo.stx +137 -0
- package/resources/components/Docs/Demo/SwitchCode.md +24 -0
- package/resources/components/Docs/Demo/SwitchDemo.stx +28 -0
- package/resources/components/Docs/Home.stx +7 -0
- package/resources/components/Docs/HomeContributors.stx +23 -0
- package/resources/components/Docs/HomeSponsors.stx +17 -0
- package/resources/components/Docs/HomeTeam.stx +18 -0
- package/resources/components/Docs/TeamMember.stx +79 -0
- package/resources/components/Email/EmailButton.stx +32 -0
- package/resources/components/Email/EmailDivider.stx +20 -0
- package/resources/components/Email/EmailImage.stx +24 -0
- package/resources/components/Email/EmailLayout.stx +55 -0
- package/resources/components/Email/EmailLink.stx +22 -0
- package/resources/components/Email/EmailSection.stx +20 -0
- package/resources/components/Email/EmailText.stx +30 -0
- package/resources/components/Forum/ForumBreadcrumb.stx +38 -0
- package/resources/components/Forum/ForumCategory.stx +16 -0
- package/resources/components/Forum/ForumCategoryItem.stx +46 -0
- package/resources/components/Forum/ForumLayout.stx +36 -0
- package/resources/components/Forum/ForumPagination.stx +39 -0
- package/resources/components/Forum/ForumPost.stx +71 -0
- package/resources/components/Forum/ForumReplyForm.stx +76 -0
- package/resources/components/Forum/ForumSidebar.stx +86 -0
- package/resources/components/Forum/ForumTopicItem.stx +77 -0
- package/resources/components/Forum/ForumTopicList.stx +23 -0
- package/resources/components/HelloWorld.stx +253 -0
- package/resources/components/Logo.stx +10 -0
- package/resources/components/Marketing/CallToAction.stx +30 -0
- package/resources/components/Marketing/ComingSoon.stx +155 -0
- package/resources/components/Marketing/Faqs.stx +99 -0
- package/resources/components/Marketing/Feature.stx +32 -0
- package/resources/components/Marketing/Fields.stx +28 -0
- package/resources/components/Marketing/Footer.stx +33 -0
- package/resources/components/Marketing/Header.stx +51 -0
- package/resources/components/Marketing/Hero.stx +46 -0
- package/resources/components/Marketing/Layout.stx +26 -0
- package/resources/components/Marketing/NavLink.stx +13 -0
- package/resources/components/Marketing/Plan.stx +43 -0
- package/resources/components/Marketing/Pricing.stx +120 -0
- package/resources/components/Marketing/PrimaryFeatures.stx +80 -0
- package/resources/components/Marketing/PrimaryFeatures2.stx +98 -0
- package/resources/components/Marketing/SecondaryFeatures.stx +80 -0
- package/resources/components/Marketing/Testimonials.stx +120 -0
- package/resources/components/Pagination.stx +149 -0
- package/resources/components/Playground.stx +9 -0
- package/resources/components/README.md +87 -0
- package/resources/components/Storefront/AnnouncementBar.stx +17 -0
- package/resources/components/Storefront/CartDrawer.stx +227 -0
- package/resources/components/Storefront/CheckoutSteps.stx +50 -0
- package/resources/components/Storefront/Footer.stx +81 -0
- package/resources/components/Storefront/Header.stx +66 -0
- package/resources/components/Storefront/OrderSummary.stx +79 -0
- package/resources/components/Storefront/ProductCard.stx +63 -0
- package/resources/components/Storefront/ProductGallery.stx +88 -0
- package/resources/components/Storefront/QuantitySelector.stx +97 -0
- package/resources/components/index.ts +13 -0
- package/resources/emails/email-verification.stx +46 -0
- package/resources/emails/layouts/base.html +113 -0
- package/resources/emails/password-changed.stx +55 -0
- package/resources/emails/password-reset.stx +43 -0
- package/resources/emails/subscription-confirmation.stx +99 -0
- package/resources/emails/welcome.stx +48 -0
- package/resources/functions/README.md +28 -0
- package/resources/functions/counter.ts +13 -0
- package/resources/functions/dark.ts +4 -0
- package/resources/functions/dashboard/analytics.ts +238 -0
- package/resources/functions/dashboard/config-io.ts +316 -0
- package/resources/functions/dashboard/data.ts +375 -0
- package/resources/functions/dashboard/library.ts +250 -0
- package/resources/functions/dashboard/sidebar.ts +537 -0
- package/resources/functions/dashboard/system.ts +150 -0
- package/resources/layouts/403.stx +188 -0
- package/resources/layouts/404.stx +34 -0
- package/resources/layouts/README.md +14 -0
- package/resources/layouts/dashboard/default.stx +20 -0
- package/resources/layouts/dashboard/guest.stx +10 -0
- package/resources/layouts/default.stx +3 -0
- package/resources/layouts/maintenance.stx +11 -0
- package/resources/layouts/storefront.stx +73 -0
- package/resources/layouts/system-tray/default.stx +3 -0
- package/resources/modules/.gitkeep +0 -0
- package/resources/plugins/.gitkeep +0 -0
- package/resources/plugins/preloader.ts +308 -0
- package/resources/types/README.md +3 -0
- package/resources/views/cart.stx +149 -0
- package/resources/views/checkout/contact.stx +101 -0
- package/resources/views/checkout/payment.stx +114 -0
- package/resources/views/checkout/shipping.stx +120 -0
- package/resources/views/coming-soon.stx +9 -0
- package/resources/views/dashboard/custom-page.stx +45 -0
- package/resources/views/dashboard/index.stx +24 -0
- package/resources/views/emails/welcome.stx +0 -0
- package/resources/views/errors/tester.stx +26 -0
- package/resources/views/index.stx +2865 -0
- package/resources/views/orders/[id].stx +130 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
interface DeploymentHistoryProps {
|
|
3
|
+
deployments?: any[]
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const { deployments = [] } = defineProps<DeploymentHistoryProps>()
|
|
7
|
+
</script>
|
|
8
|
+
<div class="pt-12 px-4 sm:px-6 lg:px-8">
|
|
9
|
+
<div class="sm:flex sm:items-center">
|
|
10
|
+
<div class="sm:flex-auto">
|
|
11
|
+
<h1 class="font-semibold leading-6 text-base text-gray-900">
|
|
12
|
+
Deployment History
|
|
13
|
+
</h1>
|
|
14
|
+
<p class="mt-2 text-gray-700 text-sm">
|
|
15
|
+
A list of all the <em>(zero-downtime)</em> deployments relating your project.
|
|
16
|
+
</p>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="sm:flex-none mt-4 sm:ml-16 sm:mt-0">
|
|
19
|
+
<button type="button" class="block px-3 py-2 font-semibold text-center text-sm text-white bg-blue-600 hover:bg-blue-500 rounded-md focus-visible:outline focus-visible:outline-2 focus-visible:outline-blue-600 focus-visible:outline-offset-2 shadow-sm">
|
|
20
|
+
Deploy
|
|
21
|
+
</button>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
|
|
25
|
+
<div class="flow-root mt-8">
|
|
26
|
+
<div class="overflow-x-auto -mx-4 -my-2 sm:-mx-6 lg:-mx-8">
|
|
27
|
+
<div class="inline-block py-2 sm:px-6 lg:px-8 min-w-full align-middle">
|
|
28
|
+
<div class="overflow-hidden ring-1 ring-black ring-opacity-5 sm:rounded-lg shadow">
|
|
29
|
+
<table class="min-w-full divide-gray-300 divide-y">
|
|
30
|
+
<thead class="bg-gray-50">
|
|
31
|
+
<tr>
|
|
32
|
+
<th scope="col" class="pl-4 pr-3 py-3.5 sm:pl-6 font-semibold text-gray-900 text-left text-sm">
|
|
33
|
+
When
|
|
34
|
+
</th>
|
|
35
|
+
<th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm">
|
|
36
|
+
Triggered By
|
|
37
|
+
</th>
|
|
38
|
+
<th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm">
|
|
39
|
+
Commit
|
|
40
|
+
</th>
|
|
41
|
+
<th scope="col" class="px-3 py-3.5 font-semibold text-gray-900 text-left text-sm">
|
|
42
|
+
Status
|
|
43
|
+
</th>
|
|
44
|
+
<th scope="col" class="relative pl-3 pr-4 py-3.5 sm:pr-6">
|
|
45
|
+
<span class="sr-only">Edit</span>
|
|
46
|
+
</th>
|
|
47
|
+
</tr>
|
|
48
|
+
</thead>
|
|
49
|
+
|
|
50
|
+
<tbody class="bg-white divide-gray-200 divide-y">
|
|
51
|
+
<tr>
|
|
52
|
+
<td class="pl-4 pr-3 py-4 sm:pl-6 font-medium text-gray-900 text-sm whitespace-nowrap">
|
|
53
|
+
Moments ago
|
|
54
|
+
</td>
|
|
55
|
+
<td class="px-3 py-4 text-gray-500 text-sm whitespace-nowrap">
|
|
56
|
+
<div class="flex items-center">
|
|
57
|
+
<div class="flex-shrink-0 h-10 w-10">
|
|
58
|
+
<img src="https://avatars.githubusercontent.com/u/6228425?v=4" alt="" class="h-10 w-10 rounded-full">
|
|
59
|
+
</div>
|
|
60
|
+
<div class="ml-4">
|
|
61
|
+
<div class="flex items-center font-medium text-gray-900 text-sm dark:text-neutral-100">
|
|
62
|
+
Chris Breuer
|
|
63
|
+
</div>
|
|
64
|
+
<div class="text-gray-500 text-sm dark:text-neutral-300 dark:text-neutral-400">
|
|
65
|
+
chris@stacksjs.com
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</td>
|
|
70
|
+
<td class="px-3 py-4 font-mono text-gray-500 text-sm whitespace-nowrap">
|
|
71
|
+
<div class="flex gap-x-3">
|
|
72
|
+
<div class="font-mono text-gray-700 text-sm/6">
|
|
73
|
+
<a href="github.com/stacksjs/stacks/commit/342afe5a" class="hover:text-gray-800 duration-150 ease-in-out transition">342afe5a</a>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="px-2 py-1 font-medium text-gray-700 text-xs bg-gray-300/40 ring-1 ring-inset ring-white/10 rounded-md">main</div>
|
|
76
|
+
</div>
|
|
77
|
+
</td>
|
|
78
|
+
<td class="pl-0 pr-4 py-4 sm:pr-8 lg:pr-20 text-sm/6">
|
|
79
|
+
<div class="flex gap-x-2 items-center justify-end sm:justify-start">
|
|
80
|
+
<time class="sm:hidden text-gray-400" datetime="2023-01-23T11:00">45 minutes ago</time>
|
|
81
|
+
<div class="flex-none p-1 text-green-400 bg-green-400/10 rounded-full">
|
|
82
|
+
<div class="size-1.5 bg-current rounded-full"></div>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="hidden sm:block text-gray-900">Completed</div>
|
|
85
|
+
</div>
|
|
86
|
+
</td>
|
|
87
|
+
<td class="relative pl-3 pr-4 py-4 sm:pr-6 font-medium text-right text-sm whitespace-nowrap">
|
|
88
|
+
<a href="#" class="text-blue-600 hover:text-blue-900" data-action="view">View<span class="sr-only">, Deployment</span></a>
|
|
89
|
+
</td>
|
|
90
|
+
</tr>
|
|
91
|
+
</tbody>
|
|
92
|
+
</table>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
</div>
|
|
97
|
+
</div>
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
interface DeploymentListProps {
|
|
3
|
+
showModal?: boolean
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const { showModal = false } = defineProps<DeploymentListProps>()
|
|
7
|
+
</script>
|
|
8
|
+
<div class="py-4 lg:py-8 min-h-screen dark:bg-neutral-800">
|
|
9
|
+
<div class="mb-8 px-4 sm:px-6 lg:px-8">
|
|
10
|
+
<div>
|
|
11
|
+
<h3 class="font-semibold leading-6 text-base text-gray-900 dark:text-neutral-100">
|
|
12
|
+
Last 30 days
|
|
13
|
+
</h3>
|
|
14
|
+
|
|
15
|
+
<dl class="grid gap-5 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 mt-5">
|
|
16
|
+
<div class="overflow-hidden relative pt-5 px-4 sm:pt-6 sm:px-6 bg-white dark:bg-neutral-700 rounded-lg shadow">
|
|
17
|
+
<dt>
|
|
18
|
+
<div class="absolute p-3 bg-blue-500 rounded-md">
|
|
19
|
+
<div class="h-6 w-6 text-white i-hugeicons-rocket-01"></div>
|
|
20
|
+
</div>
|
|
21
|
+
<p class="ml-16 font-medium text-gray-500 text-sm truncate dark:text-neutral-400">
|
|
22
|
+
Total Deployments
|
|
23
|
+
</p>
|
|
24
|
+
</dt>
|
|
25
|
+
<dd class="flex items-baseline ml-16 pb-6 sm:pb-7">
|
|
26
|
+
<p class="font-semibold text-2xl text-gray-900 dark:text-neutral-100">
|
|
27
|
+
71,897
|
|
28
|
+
</p>
|
|
29
|
+
<p class="flex items-baseline ml-2 font-semibold text-green-600 text-sm dark:text-green-400">
|
|
30
|
+
<svg class="flex-shrink-0 self-center h-5 w-5 text-green-500 dark:text-green-400" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
|
31
|
+
<path fill-rule="evenodd" d="M10 17a.75.75 0 01-.75-.75V5.612L5.29 9.77a.75.75 0 01-1.08-1.04l5.25-5.5a.75.75 0 011.08 0l5.25 5.5a.75.75 0 11-1.08 1.04l-3.96-4.158V16.25A.75.75 0 0110 17z" clip-rule="evenodd"></path>
|
|
32
|
+
</svg>
|
|
33
|
+
<span class="sr-only"> Increased by </span>
|
|
34
|
+
122
|
|
35
|
+
</p>
|
|
36
|
+
</dd>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<div class="overflow-hidden relative pt-5 px-4 sm:pt-6 sm:px-6 bg-white dark:bg-neutral-700 rounded-lg shadow">
|
|
40
|
+
<dt>
|
|
41
|
+
<div class="absolute p-3 bg-blue-500 rounded-md">
|
|
42
|
+
<div class="h-6 w-6 text-white i-hugeicons-clock-01"></div>
|
|
43
|
+
</div>
|
|
44
|
+
<p class="ml-16 font-medium text-gray-500 text-sm truncate dark:text-neutral-400">
|
|
45
|
+
Avg. Deploy Time
|
|
46
|
+
</p>
|
|
47
|
+
</dt>
|
|
48
|
+
<dd class="flex items-baseline ml-16 pb-6 sm:pb-7">
|
|
49
|
+
<p class="font-semibold text-2xl text-gray-900 dark:text-neutral-100">
|
|
50
|
+
3.65 mins
|
|
51
|
+
</p>
|
|
52
|
+
<p class="flex items-baseline ml-2 font-semibold text-green-600 text-sm dark:text-green-400">
|
|
53
|
+
<svg class="flex-shrink-0 self-center h-5 w-5 text-green-500 dark:text-green-400" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
|
54
|
+
<path fill-rule="evenodd" d="M10 17a.75.75 0 01-.75-.75V5.612L5.29 9.77a.75.75 0 01-1.08-1.04l5.25-5.5a.75.75 0 011.08 0l5.25 5.5a.75.75 0 11-1.08 1.04l-3.96-4.158V16.25A.75.75 0 0110 17z" clip-rule="evenodd"></path>
|
|
55
|
+
</svg>
|
|
56
|
+
<span class="sr-only"> Increased by </span>
|
|
57
|
+
12 s
|
|
58
|
+
</p>
|
|
59
|
+
</dd>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<div class="overflow-hidden relative pt-5 px-4 sm:pt-6 sm:px-6 bg-white dark:bg-neutral-700 rounded-lg shadow">
|
|
63
|
+
<dt>
|
|
64
|
+
<div class="absolute p-3 bg-blue-500 rounded-md">
|
|
65
|
+
<div class="h-6 w-6 text-white i-hugeicons-checkmark-circle-02"></div>
|
|
66
|
+
</div>
|
|
67
|
+
<p class="ml-16 font-medium text-gray-500 text-sm truncate dark:text-neutral-400">
|
|
68
|
+
Success Rate
|
|
69
|
+
</p>
|
|
70
|
+
</dt>
|
|
71
|
+
<dd class="flex items-baseline ml-16 pb-6 sm:pb-7">
|
|
72
|
+
<p class="font-semibold text-2xl text-gray-900 dark:text-neutral-100">
|
|
73
|
+
94.57%
|
|
74
|
+
</p>
|
|
75
|
+
<p class="flex items-baseline ml-2 font-semibold text-red-600 text-sm dark:text-red-400">
|
|
76
|
+
<svg class="flex-shrink-0 self-center h-5 w-5 text-red-500 dark:text-red-400" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true">
|
|
77
|
+
<path fill-rule="evenodd" d="M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z" clip-rule="evenodd"></path>
|
|
78
|
+
</svg>
|
|
79
|
+
<span class="sr-only"> Decreased by </span>
|
|
80
|
+
3.2%
|
|
81
|
+
</p>
|
|
82
|
+
</dd>
|
|
83
|
+
</div>
|
|
84
|
+
</dl>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
<slot name="deployScript" />
|
|
89
|
+
<slot name="deploymentHistory" />
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
@if(showModal)
|
|
93
|
+
<slot name="modal" />
|
|
94
|
+
@endif
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
interface LiveTerminalOutputProps {
|
|
3
|
+
live?: boolean
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const { live = true } = defineProps<LiveTerminalOutputProps>()
|
|
7
|
+
</script>
|
|
8
|
+
<div class="pt-12 px-4 sm:px-6 lg:px-8">
|
|
9
|
+
<div class="flow-root mt-8">
|
|
10
|
+
<div class="overflow-x-auto -mx-4 -my-2 sm:-mx-6 lg:-mx-8">
|
|
11
|
+
<div class="inline-block py-2 sm:px-6 lg:px-8 min-w-full align-middle">
|
|
12
|
+
<div class="overflow-hidden">
|
|
13
|
+
<slot />
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
interface DropdownProps {
|
|
3
|
+
label?: string
|
|
4
|
+
open?: boolean
|
|
5
|
+
elements?: any[]
|
|
6
|
+
id?: string
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
const { label = '', open = false, elements = [], id = 'dropdown-nav-' + Math.random().toString(36).slice(2, 11) } = defineProps<DropdownProps>()
|
|
10
|
+
</script>
|
|
11
|
+
<div ref="pageRoot" class="flex overflow-hidden flex-col gap-y-2" data-dropdown-nav="{{ id }}">
|
|
12
|
+
<a class="flex gap-x-2 items-center justify-between cursor-pointer" data-toggle>
|
|
13
|
+
<span class="font-medium text-dark text-sm">
|
|
14
|
+
{{ label }}
|
|
15
|
+
</span>
|
|
16
|
+
|
|
17
|
+
<span class="i-hugeicons-chevron-down" data-icon-closed></span>
|
|
18
|
+
<span class="hidden i-hugeicons-minus" data-icon-open></span>
|
|
19
|
+
</a>
|
|
20
|
+
|
|
21
|
+
<ul data-list class="{{ open ? '' : 'hidden' }}">
|
|
22
|
+
@foreach(elements as element)
|
|
23
|
+
<li>
|
|
24
|
+
<a href="{{ element.to }}" class="block">
|
|
25
|
+
{{ element.label }}
|
|
26
|
+
</a>
|
|
27
|
+
</li>
|
|
28
|
+
@endforeach
|
|
29
|
+
</ul>
|
|
30
|
+
</div>
|
|
31
|
+
<script client>
|
|
32
|
+
var _root = useRef('pageRoot')
|
|
33
|
+
onMount(function() {
|
|
34
|
+
var el = _root.current;
|
|
35
|
+
if (!el) return;
|
|
36
|
+
const nav = el
|
|
37
|
+
|
|
38
|
+
const toggle = nav.querySelector('[data-toggle]')
|
|
39
|
+
const list = nav.querySelector('[data-list]')
|
|
40
|
+
const iconClosed = nav.querySelector('[data-icon-closed]')
|
|
41
|
+
const iconOpen = nav.querySelector('[data-icon-open]')
|
|
42
|
+
let isOpen = {{ open ? 'true' : 'false' }}
|
|
43
|
+
|
|
44
|
+
function updateState() {
|
|
45
|
+
list.classList.toggle('hidden', !isOpen)
|
|
46
|
+
iconClosed.classList.toggle('hidden', isOpen)
|
|
47
|
+
iconOpen.classList.toggle('hidden', !isOpen)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
toggle?.addEventListener('click', function() {
|
|
51
|
+
isOpen = !isOpen
|
|
52
|
+
updateState()
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
updateState()
|
|
56
|
+
})
|
|
57
|
+
</script>
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
interface EmailActivityChartProps {
|
|
3
|
+
timeRange?: 'day' | 'week' | 'month' | 'year'
|
|
4
|
+
isLoading?: boolean
|
|
5
|
+
chartOptions?: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const { timeRange = 'day', isLoading = false, chartOptions = { } = defineProps<EmailActivityChartProps>()
|
|
9
|
+
|
|
10
|
+
// Chart configuration - to be rendered client-side
|
|
11
|
+
responsive: true,
|
|
12
|
+
maintainAspectRatio: false,
|
|
13
|
+
scales: {
|
|
14
|
+
y: {
|
|
15
|
+
beginAtZero: true,
|
|
16
|
+
grid: {
|
|
17
|
+
color: 'rgba(200, 200, 200, 0.1)',
|
|
18
|
+
},
|
|
19
|
+
ticks: {
|
|
20
|
+
color: 'rgb(156, 163, 175)',
|
|
21
|
+
font: {
|
|
22
|
+
family: "'JetBrains Mono', monospace",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
x: {
|
|
27
|
+
grid: {
|
|
28
|
+
display: false,
|
|
29
|
+
},
|
|
30
|
+
ticks: {
|
|
31
|
+
color: 'rgb(156, 163, 175)',
|
|
32
|
+
font: {
|
|
33
|
+
family: "'JetBrains Mono', monospace",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
},
|
|
38
|
+
plugins: {
|
|
39
|
+
legend: {
|
|
40
|
+
display: true,
|
|
41
|
+
position: 'top',
|
|
42
|
+
align: 'end',
|
|
43
|
+
labels: {
|
|
44
|
+
color: 'rgb(156, 163, 175)',
|
|
45
|
+
font: {
|
|
46
|
+
family: "'JetBrains Mono', monospace",
|
|
47
|
+
},
|
|
48
|
+
boxWidth: 12,
|
|
49
|
+
padding: 15,
|
|
50
|
+
},
|
|
51
|
+
},
|
|
52
|
+
tooltip: {
|
|
53
|
+
mode: 'index',
|
|
54
|
+
intersect: false,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
}
|
|
58
|
+
</script>
|
|
59
|
+
<div ref="pageRoot" class="p-4 bg-white dark:bg-neutral-700 border-b border-gray-200 dark:border-neutral-600">
|
|
60
|
+
<div class="flex items-center justify-between mb-2">
|
|
61
|
+
<h3 class="font-medium text-base text-gray-900 dark:text-neutral-100">Email Activity</h3>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="relative h-[120px]">
|
|
64
|
+
@if(isLoading)
|
|
65
|
+
<div class="flex absolute inset-0 z-10 items-center justify-center bg-opacity-75 bg-white dark:bg-neutral-700 dark:bg-opacity-75">
|
|
66
|
+
<div class="h-8 w-8 border-b-2 border-blue-500 rounded-full animate-spin"></div>
|
|
67
|
+
</div>
|
|
68
|
+
@endif
|
|
69
|
+
<!-- Chart canvas - requires client-side Chart.js initialization -->
|
|
70
|
+
<canvas id="emailActivityChart" data-chart-type="line" data-time-range="{{ timeRange }}"></canvas>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
<script client>
|
|
74
|
+
// Client-side chart initialization
|
|
75
|
+
var _root = useRef('pageRoot')
|
|
76
|
+
onMount(function() {
|
|
77
|
+
var el = _root.current;
|
|
78
|
+
if (!el) return;
|
|
79
|
+
const canvas = el.querySelector('#emailActivityChart');
|
|
80
|
+
if (canvas && typeof Chart !== 'undefined') {
|
|
81
|
+
const labels = Array.from({ length: 24 }, (_, i) => `${i}:00`);
|
|
82
|
+
const data = {
|
|
83
|
+
labels,
|
|
84
|
+
datasets: [
|
|
85
|
+
{
|
|
86
|
+
label: 'Received',
|
|
87
|
+
data: Array.from({ length: 24 }, () => Math.floor(Math.random() * 50) + 20),
|
|
88
|
+
borderColor: 'rgb(59, 130, 246)',
|
|
89
|
+
backgroundColor: 'rgba(59, 130, 246, 0.1)',
|
|
90
|
+
fill: true,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
label: 'Sent',
|
|
94
|
+
data: Array.from({ length: 24 }, () => Math.floor(Math.random() * 30) + 10),
|
|
95
|
+
borderColor: 'rgb(16, 185, 129)',
|
|
96
|
+
backgroundColor: 'rgba(16, 185, 129, 0.1)',
|
|
97
|
+
fill: true,
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
label: 'Spam',
|
|
101
|
+
data: Array.from({ length: 24 }, () => Math.floor(Math.random() * 10)),
|
|
102
|
+
borderColor: 'rgb(239, 68, 68)',
|
|
103
|
+
backgroundColor: 'rgba(239, 68, 68, 0.1)',
|
|
104
|
+
fill: true,
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
};
|
|
108
|
+
new Chart(canvas, { type: 'line', data, options: {} });
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
</script>
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
interface EmailComposeProps {
|
|
3
|
+
to?: string
|
|
4
|
+
subject?: string
|
|
5
|
+
body?: string
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
const { to = '', subject = '', body = '' } = defineProps<EmailComposeProps>()
|
|
9
|
+
</script>
|
|
10
|
+
<div class="flex flex-col w-full md:w-2/3 lg:w-3/5 bg-white dark:bg-neutral-700">
|
|
11
|
+
<div class="flex items-center justify-between px-4 py-2 border-b border-gray-200 dark:border-neutral-600">
|
|
12
|
+
<h2 class="font-medium text-gray-900 text-lg dark:text-neutral-100">
|
|
13
|
+
New Message
|
|
14
|
+
</h2>
|
|
15
|
+
<button class="p-1 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded" data-action="cancel">
|
|
16
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-cancel-circle"></i>
|
|
17
|
+
</button>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<div class="overflow-y-auto flex-1 p-4">
|
|
21
|
+
<div class="space-y-4">
|
|
22
|
+
<div>
|
|
23
|
+
<label for="to" class="block font-medium text-gray-700 text-sm dark:text-neutral-300">To</label>
|
|
24
|
+
<input
|
|
25
|
+
id="to"
|
|
26
|
+
name="to"
|
|
27
|
+
type="text"
|
|
28
|
+
value="{{ to }}"
|
|
29
|
+
class="block mt-1 w-full text-gray-900 sm:text-sm dark:text-neutral-100 bg-white dark:bg-neutral-600 border-gray-300 rounded-md dark:border-neutral-600 focus:border-blue-500 focus:ring-blue-500 shadow-sm"
|
|
30
|
+
>
|
|
31
|
+
</div>
|
|
32
|
+
<div>
|
|
33
|
+
<label for="subject" class="block font-medium text-gray-700 text-sm dark:text-neutral-300">Subject</label>
|
|
34
|
+
<input
|
|
35
|
+
id="subject"
|
|
36
|
+
name="subject"
|
|
37
|
+
type="text"
|
|
38
|
+
value="{{ subject }}"
|
|
39
|
+
class="block mt-1 w-full text-gray-900 sm:text-sm dark:text-neutral-100 bg-white dark:bg-neutral-600 border-gray-300 rounded-md dark:border-neutral-600 focus:border-blue-500 focus:ring-blue-500 shadow-sm"
|
|
40
|
+
>
|
|
41
|
+
</div>
|
|
42
|
+
<div>
|
|
43
|
+
<label for="body" class="block font-medium text-gray-700 text-sm dark:text-neutral-300">Message</label>
|
|
44
|
+
<textarea
|
|
45
|
+
id="body"
|
|
46
|
+
name="body"
|
|
47
|
+
rows="15"
|
|
48
|
+
class="block mt-1 w-full text-gray-900 sm:text-sm dark:text-neutral-100 bg-white dark:bg-neutral-600 border-gray-300 rounded-md dark:border-neutral-600 focus:border-blue-500 focus:ring-blue-500 shadow-sm"
|
|
49
|
+
>{{ body }}</textarea>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
|
|
54
|
+
<div class="flex justify-between p-4 border-gray-200 border-t dark:border-neutral-600">
|
|
55
|
+
<div class="flex space-x-2">
|
|
56
|
+
<button class="p-2 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded">
|
|
57
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-attachment-01"></i>
|
|
58
|
+
</button>
|
|
59
|
+
<button class="p-2 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded">
|
|
60
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-image-01"></i>
|
|
61
|
+
</button>
|
|
62
|
+
<button class="p-2 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded">
|
|
63
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-smile"></i>
|
|
64
|
+
</button>
|
|
65
|
+
</div>
|
|
66
|
+
<div>
|
|
67
|
+
<button type="submit" class="px-4 py-2 font-medium text-sm text-white bg-blue-600 hover:bg-blue-500 rounded-md" data-action="send">
|
|
68
|
+
Send
|
|
69
|
+
</button>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
interface EmailDetailProps {
|
|
3
|
+
email?: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
const { email = { } = defineProps<EmailDetailProps>()
|
|
7
|
+
|
|
8
|
+
id: 0,
|
|
9
|
+
from: '',
|
|
10
|
+
email: '',
|
|
11
|
+
subject: '',
|
|
12
|
+
preview: '',
|
|
13
|
+
body: '',
|
|
14
|
+
date: '',
|
|
15
|
+
read: false,
|
|
16
|
+
starred: false,
|
|
17
|
+
folder: 'inbox',
|
|
18
|
+
attachment: false
|
|
19
|
+
}
|
|
20
|
+
</script>
|
|
21
|
+
<div class="flex flex-col w-full md:w-2/3 lg:w-3/5 bg-white dark:bg-neutral-700">
|
|
22
|
+
<div class="flex items-center justify-between px-4 py-2 border-b border-gray-200 dark:border-neutral-600">
|
|
23
|
+
<div class="flex items-center space-x-2">
|
|
24
|
+
<button class="p-1 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded" data-action="close">
|
|
25
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-arrow-left-02"></i>
|
|
26
|
+
</button>
|
|
27
|
+
<h2 class="font-medium text-gray-900 text-lg dark:text-neutral-100">
|
|
28
|
+
{{ email.subject }}
|
|
29
|
+
</h2>
|
|
30
|
+
</div>
|
|
31
|
+
<div class="flex space-x-2">
|
|
32
|
+
<button class="p-1 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded" data-action="toggle-star" data-email-id="{{ email.id }}">
|
|
33
|
+
@if(email.starred)
|
|
34
|
+
<span class="text-lg text-yellow-400">
|
|
35
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="currentColor">
|
|
36
|
+
<path d="M13.7276 3.44418L15.4874 6.99288C15.7274 7.48687 16.3673 7.9607 16.9073 8.05143L20.0969 8.58575C22.1367 8.92853 22.6167 10.4206 21.1468 11.8925L18.6671 14.3927C18.2471 14.8161 18.0172 15.6327 18.1471 16.2175L18.8571 19.3125C19.417 21.7623 18.1271 22.71 15.9774 21.4296L12.9877 19.6452C12.4478 19.3226 11.5579 19.3226 11.0079 19.6452L8.01827 21.4296C5.8785 22.71 4.57865 21.7522 5.13859 19.3125L5.84851 16.2175C5.97849 15.6327 5.74852 14.8161 5.32856 14.3927L2.84884 11.8925C1.389 10.4206 1.85895 8.92853 3.89872 8.58575L7.08837 8.05143C7.61831 7.9607 8.25824 7.48687 8.49821 6.99288L10.258 3.44418C11.2179 1.51861 12.7777 1.51861 13.7276 3.44418Z"/>
|
|
37
|
+
</svg>
|
|
38
|
+
</span>
|
|
39
|
+
@else
|
|
40
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-star"></i>
|
|
41
|
+
@endif
|
|
42
|
+
</button>
|
|
43
|
+
<button class="p-1 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded">
|
|
44
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-inbox"></i>
|
|
45
|
+
</button>
|
|
46
|
+
<button class="p-1 hover:bg-gray-100 dark:hover:bg-neutral-600 rounded">
|
|
47
|
+
<i class="text-gray-500 text-lg dark:text-neutral-400 i-hugeicons-waste"></i>
|
|
48
|
+
</button>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<div class="px-4 py-3 border-b border-gray-200 dark:border-neutral-600">
|
|
53
|
+
<div class="flex items-start justify-between">
|
|
54
|
+
<div>
|
|
55
|
+
<div class="flex items-center">
|
|
56
|
+
<div class="flex items-center justify-center h-10 w-10 font-medium text-blue-700 bg-blue-100 rounded-full">
|
|
57
|
+
{{ email.from.charAt(0) }}
|
|
58
|
+
</div>
|
|
59
|
+
<div class="ml-3">
|
|
60
|
+
<p class="font-medium text-gray-900 text-sm dark:text-neutral-100">{{ email.from }}</p>
|
|
61
|
+
<p class="text-gray-500 text-xs dark:text-neutral-400">{{ email.email }}</p>
|
|
62
|
+
</div>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
<div class="text-gray-500 text-xs dark:text-neutral-400">
|
|
66
|
+
{{ email.date }}
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="mt-2">
|
|
70
|
+
<p class="font-medium text-base text-gray-900 dark:text-neutral-100">{{ email.subject }}</p>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
|
|
74
|
+
<div class="overflow-y-auto flex-1 p-4">
|
|
75
|
+
<div class="max-w-none prose dark:prose-invert">
|
|
76
|
+
{!! email.body !!}
|
|
77
|
+
</div>
|
|
78
|
+
|
|
79
|
+
@if(email.attachment)
|
|
80
|
+
<div class="mt-4 p-3 border border-gray-200 rounded dark:border-neutral-600">
|
|
81
|
+
<div class="flex items-center">
|
|
82
|
+
<i class="text-gray-500 text-xl dark:text-neutral-400 i-hugeicons-file-01"></i>
|
|
83
|
+
<div class="ml-3">
|
|
84
|
+
<p class="font-medium text-gray-900 text-sm dark:text-neutral-100">Document.pdf</p>
|
|
85
|
+
<p class="text-gray-500 text-xs dark:text-neutral-400">1.2 MB</p>
|
|
86
|
+
</div>
|
|
87
|
+
<button class="ml-auto p-1 text-blue-700 dark:text-blue-100 bg-blue-100 dark:bg-blue-900 hover:bg-blue-200 dark:hover:bg-blue-800 rounded">
|
|
88
|
+
<i class="text-lg i-hugeicons-download-04"></i>
|
|
89
|
+
</button>
|
|
90
|
+
</div>
|
|
91
|
+
</div>
|
|
92
|
+
@endif
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div class="p-4 border-gray-200 border-t dark:border-neutral-600">
|
|
96
|
+
<div class="flex space-x-2">
|
|
97
|
+
<button class="px-4 py-2 font-medium text-sm text-white bg-blue-600 hover:bg-blue-500 rounded-md">
|
|
98
|
+
Reply
|
|
99
|
+
</button>
|
|
100
|
+
<button class="px-4 py-2 font-medium text-gray-700 text-sm dark:text-neutral-200 hover:bg-gray-50 dark:hover:bg-neutral-600 border border-gray-300 rounded-md dark:border-neutral-600">
|
|
101
|
+
Forward
|
|
102
|
+
</button>
|
|
103
|
+
</div>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|