From dc0dddffafa4473f6332e350c2e40bc5ba1c451c Mon Sep 17 00:00:00 2001 From: Eric Date: Fri, 13 Dec 2024 18:40:34 -0600 Subject: [PATCH] Website: update /app-library page (#24778) Closes: #24259 Closes: https://github.com/fleetdm/confidential/issues/9070 Changes: - Added a section about custom packages and app store apps to the /app-library page. - Updated the "Request an app" button to "Add an app" and updated it to link to the maintained apps JSON. --- .../assets/images/icon-app-store-63x64@2x.png | Bin 0 -> 3825 bytes .../images/icon-custom-package-64x64@2x.png | Bin 0 -> 2790 bytes website/assets/styles/pages/app-library.less | 51 ++++++++++++++++++ website/views/pages/app-library.ejs | 25 ++++++++- 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 website/assets/images/icon-app-store-63x64@2x.png create mode 100644 website/assets/images/icon-custom-package-64x64@2x.png diff --git a/website/assets/images/icon-app-store-63x64@2x.png b/website/assets/images/icon-app-store-63x64@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..fd279dac7db0453f3427e49a57c18f02a4646bdb GIT binary patch literal 3825 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 literal 0 HcmV?d00001 diff --git a/website/assets/images/icon-custom-package-64x64@2x.png b/website/assets/images/icon-custom-package-64x64@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dccf4447ad01e873ea27a3eb69f1469166684712 GIT binary patch literal 2790 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 literal 0 HcmV?d00001 diff --git a/website/assets/styles/pages/app-library.less b/website/assets/styles/pages/app-library.less index 555f427247..b81cde8340 100644 --- a/website/assets/styles/pages/app-library.less +++ b/website/assets/styles/pages/app-library.less @@ -149,6 +149,7 @@ margin-left: -8px; margin-bottom: -8px; margin-top: -8px; + padding-bottom: 32px; } [purpose='app-card'] { @@ -205,6 +206,38 @@ } } + + + [purpose='feature-cards'] { + margin-top: 64px; + } + [purpose='feature-card'] { + width: 50%; + &:first-of-type { + margin-right: 64px; + } + img { + height: 64px; + margin-right: 24px; + } + h3 { + color: #192147; + font-size: 20px; + font-weight: 800; + line-height: 120%; + margin-bottom: 16px; + } + p { + color: #515774; + font-size: 14px; + font-weight: 400; + line-height: 150%; + } + [purpose='feature-footnote'] { + color: #8B8FA2; + } + } + @media (max-width: 991px) { [purpose='page-container'] { padding: 64px 32px; @@ -232,6 +265,24 @@ width: 100%; } } + [purpose='app-cards'] { + padding-bottom: 0px; + } + [purpose='feature-cards'] { + margin-top: 52px; + } + [purpose='feature-card'] { + width: 100%; + &:first-of-type { + margin-right: 0px; + margin-bottom: 48px; + } + img { + height: 64px; + margin-right: 0px; + margin-bottom: 16px; + } + } } @media (max-width: 575px) { diff --git a/website/views/pages/app-library.ejs b/website/views/pages/app-library.ejs index 7dd7816c54..1c55014578 100644 --- a/website/views/pages/app-library.ejs +++ b/website/views/pages/app-library.ejs @@ -26,7 +26,7 @@

{{allApps.length}} and counting....

@@ -49,7 +49,28 @@
+
+
+
+ Custom packages +
+
+

Custom Packages

+

Upload any third-party software as a custom package to deploy all of the tools your end users need to work.

+
+
+
+
+ App store +
+
+

App store

+

Manage app deployments and updates for your computers and mobile devices from any app store.

+

*Microsoft Store and Google Play coming soon

+
+