diff --git a/.env.example b/.env.example index ae5a0ef4..fa3c27f1 100644 --- a/.env.example +++ b/.env.example @@ -1,3 +1,9 @@ NUXT_PUBLIC_SITE_URL=http://localhost:3000 NUXT_SITE_ENV=preview -NUXT_PRODUCT_DIRECTUS_URL=https://product-team.directus.app \ No newline at end of file +NUXT_PUBLIC_NEWSLETTER_URL=https://product-team.directus.app/flows/trigger/webhook_id +NUXT_PUBLIC_PRODUCT_DIRECTUS_URL=https://product-team.directus.app +NUXT_IMAGE_DOMAINS="product-team.directus.app" +POSTHOG_API_KEY="phc_api_key" +POSTHOG_API_HOST="https://us.i.posthog.com" +ALGOLIA_API_KEY="api_key" +ALGOLIA_APPLICATION_ID="application_id" diff --git a/.github/workflows/lint-app.yaml b/.github/workflows/lint-app.yaml index a5cb1b58..b7b1821a 100644 --- a/.github/workflows/lint-app.yaml +++ b/.github/workflows/lint-app.yaml @@ -14,6 +14,7 @@ concurrency: env: NODE_OPTIONS: --max_old_space_size=6144 + NUXT_PUBLIC_PRODUCT_DIRECTUS_URL: https://product-team.directus.app jobs: app-lint: diff --git a/.github/workflows/lint-oas.yaml b/.github/workflows/lint-oas.yaml index efe0f45f..4ec749b5 100644 --- a/.github/workflows/lint-oas.yaml +++ b/.github/workflows/lint-oas.yaml @@ -14,6 +14,7 @@ concurrency: env: NODE_OPTIONS: --max_old_space_size=6144 + NUXT_PUBLIC_PRODUCT_DIRECTUS_URL: https://product-team.directus.app jobs: oas-lint: diff --git a/.github/workflows/typecheck.yaml b/.github/workflows/typecheck.yaml index 50a9060b..42ba49d1 100644 --- a/.github/workflows/typecheck.yaml +++ b/.github/workflows/typecheck.yaml @@ -14,6 +14,7 @@ concurrency: env: NODE_OPTIONS: --max_old_space_size=6144 + NUXT_PUBLIC_PRODUCT_DIRECTUS_URL: https://product-team.directus.app jobs: typecheck: @@ -28,3 +29,4 @@ jobs: - name: Run Typechecker run: pnpm typecheck + diff --git a/app/app.config.ts b/app/app.config.ts deleted file mode 100644 index c406ade1..00000000 --- a/app/app.config.ts +++ /dev/null @@ -1,26 +0,0 @@ -export default defineAppConfig({ - inkeep: { - baseSettings: { - primaryBrandColor: '#4322DD', - organizationDisplayName: 'Directus', - theme: { - tokens: { - fonts: { - heading: '\'Poppins\', sans-serif', - body: '\'IBM Plex Sans\', sans-serif', - mono: '\'IBM Plex Mono\', monospace', - }, - }, - }, - colorMode: { - enableSystem: true, - }, - }, - modalSettings: { - isModeSwitchingEnabled: false, - defaultView: 'search', - }, - searchSettings: { - }, - }, -}); diff --git a/app/assets/css/_vars.scss b/app/assets/css/_vars.scss index 615c926e..988f3d95 100644 --- a/app/assets/css/_vars.scss +++ b/app/assets/css/_vars.scss @@ -3,9 +3,9 @@ :root { - --font--body: 'IBM Plex Sans', sans-serif; + --font--body: 'Inter', sans-serif; --font--header: 'Poppins', sans-serif; - --font--code: 'IBM Plex Mono', monospace; + --font--code: 'Fira Mono', monospace; --width-md: 768px; --width-lg: 1024px; @@ -35,7 +35,7 @@ --area--community: var(--red); } -.dark-mode { +.dark { --typography: var(--white); --typography-subdued: color-mix(in hsl shorter hue, var(--white) 70%, var(--black) 30%); diff --git a/app/assets/css/main.scss b/app/assets/css/main.scss index 01dbef72..ec50e800 100644 --- a/app/assets/css/main.scss +++ b/app/assets/css/main.scss @@ -6,6 +6,21 @@ body { background-color: var(--background); font-family: var(--font--body); color: var(--typography); + max-width: 100vw; +} + +.light { + color-scheme: light; +} + +.dark { + color-scheme: dark; +} + +html { + overflow: overlay; + scrollbar-color: var(--border-subtle) var(--background-subdued); + scrollbar-width: thin; } a { @@ -34,6 +49,9 @@ pre { padding: 0 24px; margin-left: auto; margin-right: auto; + @media (max-width: 768px) { + padding: 0 12px; + } } .container .container { @@ -62,7 +80,7 @@ pre { font-size: 1.1rem; } } - p, img, ul, ol, table, .TabsRoot { + p, img, ul, ol, .prose-table-wrapper, .TabsRoot { margin-bottom: 1rem; } .box, .directus-cloud, .callout, .prose-pre { @@ -74,7 +92,7 @@ pre { margin-top: 0.5rem; } } - a:not(.callout):not([href*='directus.io']):not([href*='directus.cloud']):not([href*='localhost']):not([href*='127.0.0.1'])[href*='//']{ + a:not(.article-card):not(.callout):not([href*='directus.io']):not([href*='directus.cloud']):not([href*='localhost']):not([href*='127.0.0.1'])[href*='//']{ display: inline-block; &:after { --size: 1rem; @@ -84,7 +102,7 @@ pre { background-size: var(--size); width: var(--size); height: var(--size); - } + vertical-align: sub; } } img { border-radius: var(--border-radius); @@ -124,6 +142,12 @@ pre { svg.icon { margin-bottom: 4px; } + video { + width: 100%; + border-radius: var(--border-radius); + overflow: hidden; + margin-bottom: 1rem; + } } .section-title { @@ -132,3 +156,8 @@ pre { font-size: 14px; font-weight: 500; } + +hr { + border: 0; + border-top: 2px solid var(--border); +} diff --git a/app/assets/icons/products/auth-purple.svg b/app/assets/icons/products/auth-purple.svg index 89d26840..421cb77a 100644 --- a/app/assets/icons/products/auth-purple.svg +++ b/app/assets/icons/products/auth-purple.svg @@ -5,7 +5,7 @@ - + diff --git a/app/assets/icons/products/automate-purple.svg b/app/assets/icons/products/automate-purple.svg index 869c9272..0371a056 100644 --- a/app/assets/icons/products/automate-purple.svg +++ b/app/assets/icons/products/automate-purple.svg @@ -1,4 +1,4 @@ - + diff --git a/app/assets/icons/products/connect-purple.svg b/app/assets/icons/products/connect-purple.svg index e59dfaf0..e3fa13f6 100644 --- a/app/assets/icons/products/connect-purple.svg +++ b/app/assets/icons/products/connect-purple.svg @@ -1,4 +1,4 @@ - + diff --git a/app/assets/icons/products/realtime-purple.svg b/app/assets/icons/products/realtime-purple.svg index 1e9e1f3b..7d824e8b 100644 --- a/app/assets/icons/products/realtime-purple.svg +++ b/app/assets/icons/products/realtime-purple.svg @@ -1,4 +1,4 @@ - + diff --git a/app/assets/img/pink-cta-bg.svg b/app/assets/img/pink-cta-bg.svg new file mode 100644 index 00000000..d7108b47 --- /dev/null +++ b/app/assets/img/pink-cta-bg.svg @@ -0,0 +1,687 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/img/purple-cta-bg.svg b/app/assets/img/purple-cta-bg.svg new file mode 100644 index 00000000..02543600 --- /dev/null +++ b/app/assets/img/purple-cta-bg.svg @@ -0,0 +1,687 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/assets/img/tv-logo.svg b/app/assets/img/tv-logo.svg new file mode 100644 index 00000000..b8a685af --- /dev/null +++ b/app/assets/img/tv-logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/components/Button.vue b/app/components/Button.vue index 8deffaed..7feed765 100644 --- a/app/components/Button.vue +++ b/app/components/Button.vue @@ -3,11 +3,13 @@ const props = withDefaults( defineProps<{ type?: 'a' | 'button' | 'submit' | 'reset' | 'span'; - label: string; + label?: string; color?: 'primary' | 'white' | 'outline-only'; size?: 'small' | 'medium'; href?: string; target?: '_blank' | '_self' | '_parent' | '_top'; + disabled?: boolean; + loading?: boolean; }>(), { type: 'button', @@ -21,10 +23,13 @@ const buttonProps = computed(() => { return { href: props.href, target: props.target, + disabled: props.disabled || props.loading, }; } - return {}; + return { + disabled: props.disabled || props.loading, + }; }); @@ -32,20 +37,56 @@ const buttonProps = computed(() => { - {{ label }} + + +
+

+ Loading +

+
+ +
+
diff --git a/app/components/NavSectionList.vue b/app/components/NavSectionList.vue deleted file mode 100644 index c9a872ff..00000000 --- a/app/components/NavSectionList.vue +++ /dev/null @@ -1,55 +0,0 @@ - - - - - diff --git a/app/components/ui/NavTree.vue b/app/components/NavTree.vue similarity index 100% rename from app/components/ui/NavTree.vue rename to app/components/NavTree.vue diff --git a/app/components/OgImage/Default.vue b/app/components/OgImage/Default.vue new file mode 100644 index 00000000..101ff9d5 --- /dev/null +++ b/app/components/OgImage/Default.vue @@ -0,0 +1,81 @@ + + + diff --git a/app/components/PrevNext.vue b/app/components/PrevNext.vue deleted file mode 100644 index 16d1f46f..00000000 --- a/app/components/PrevNext.vue +++ /dev/null @@ -1,63 +0,0 @@ - - - - - diff --git a/app/components/articles/Card.vue b/app/components/articles/ArticlesCard.vue similarity index 65% rename from app/components/articles/Card.vue rename to app/components/articles/ArticlesCard.vue index f461dfb8..666b35a3 100644 --- a/app/components/articles/Card.vue +++ b/app/components/articles/ArticlesCard.vue @@ -1,20 +1,35 @@ diff --git a/app/components/articles/Tags.vue b/app/components/articles/ArticlesTagsFilter.vue similarity index 55% rename from app/components/articles/Tags.vue rename to app/components/articles/ArticlesTagsFilter.vue index 817bde76..ac5b59e1 100644 --- a/app/components/articles/Tags.vue +++ b/app/components/articles/ArticlesTagsFilter.vue @@ -1,39 +1,44 @@ diff --git a/app/components/aside/AsideFeedback.vue b/app/components/aside/AsideFeedback.vue new file mode 100644 index 00000000..11a3d76e --- /dev/null +++ b/app/components/aside/AsideFeedback.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/app/components/ui/AsideNav.vue b/app/components/aside/AsideNav.vue similarity index 98% rename from app/components/ui/AsideNav.vue rename to app/components/aside/AsideNav.vue index e16d8569..b972b745 100644 --- a/app/components/ui/AsideNav.vue +++ b/app/components/aside/AsideNav.vue @@ -49,7 +49,7 @@ const navigation = computed(() => { {{ section.title }}