Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion components/Art/Lines.vue
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ onMounted(() => {
inset-inline-start: 0;
inline-size: 100%;
block-size: 100%;
background: linear-gradient(199deg, var(--background) 0%, transparent 100%),
background:
linear-gradient(199deg, var(--background) 0%, transparent 100%),
linear-gradient(4deg, var(--background) 20%, transparent 100%);
}
}
Expand Down
1 change: 1 addition & 0 deletions components/Base/Icon.vue
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ const filledIcons = [
'globe_uk',
'home_app_logo',
'horizontal_rule',
'laps',
'link',
'image_search',
'insights',
Expand Down
3 changes: 2 additions & 1 deletion components/Carousel/CarouselContent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ const { carouselRef, orientation } = useCarousel();
--buff: 3rem;
height: 100%;
width: 100%;
mask: linear-gradient(to right, transparent, white var(--buff) calc(100% - var(--buff)), transparent),
mask:
linear-gradient(to right, transparent, white var(--buff) calc(100% - var(--buff)), transparent),
linear-gradient(to left, transparent, white var(--buff) calc(100% - var(--buff)), transparent);
mask-composite: intersect;
}
Expand Down
1 change: 1 addition & 0 deletions components/Carousel/interface.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ export interface CarouselProps {
}

export interface CarouselEmits {
// eslint-disable-next-line
(e: 'init-api', payload: UnwrapRefCarouselApi): void;
}

Expand Down
13 changes: 7 additions & 6 deletions components/Nav/Footer.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<script setup lang="ts">
import type { Query } from '@directus/sdk';
import type { Navigation, Schema } from '~/types/schema';
import { dynamicAsset } from '~/utils/dynamicAsset';
import { getSocialIcon } from '~/utils/social';

const { $directus, $readItem, $readSingleton } = useNuxtApp();

Expand Down Expand Up @@ -89,7 +89,7 @@ const socials = {
<ul class="socials">
<li v-for="[service, link] in Object.entries(socials)" :key="service">
<NuxtLink :href="link">
<img :src="dynamicAsset(`/svg/social/${service}.svg`)" :alt="service" loading="lazy" />
<Icon :name="getSocialIcon(service)" class="icon" />
</NuxtLink>
</li>
</ul>
Expand Down Expand Up @@ -261,14 +261,15 @@ const socials = {
align-items: center;
justify-content: space-between;

img {
width: var(--space-5);
height: auto;
.icon {
width: var(--space-6);
height: var(--space-6);
filter: brightness(1);
transition: filter var(--duration-150) var(--ease-out);

@media (width > 35rem) {
width: var(--space-6);
width: var(--space-8);
height: var(--space-8);
}

&:hover {
Expand Down
6 changes: 4 additions & 2 deletions components/ThemeProvider.vue
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,8 @@ provide('theme', currentTheme);
--gray-900: #0f172a;
--black: #0e1c2f;

--shadow-base: 0px 30px 30px -30px rgba(30, 41, 59, 0.1), 0px 2px 4px 0px rgba(30, 41, 59, 0.05),
--shadow-base:
0px 30px 30px -30px rgba(30, 41, 59, 0.1), 0px 2px 4px 0px rgba(30, 41, 59, 0.05),
0px -2px 5px 0px rgba(30, 41, 59, 0.05);
--shadow-lg: 0px 10px 40px -10px rgba(14, 28, 47, 0.25), 0px 2px 4px 0px rgba(14, 28, 47, 0.05);

Expand Down Expand Up @@ -107,7 +108,8 @@ provide('theme', currentTheme);
--gray-900: #f8fafc;
--white: #ffffff;

--shadow-base: 0px 30px 30px -30px rgba(30, 41, 59, 0.1), 0px 2px 4px 0px rgba(30, 41, 59, 0.05),
--shadow-base:
0px 30px 30px -30px rgba(30, 41, 59, 0.1), 0px 2px 4px 0px rgba(30, 41, 59, 0.05),
0px -2px 5px 0px rgba(30, 41, 59, 0.05);
--shadow-lg: 0px 10px 40px -10px rgba(14, 28, 47, 0.25), 0px 2px 4px 0px rgba(14, 28, 47, 0.05);
}
Expand Down
8 changes: 4 additions & 4 deletions components/Tv/TVByline.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<script setup lang="ts">
import { dynamicAsset } from '~/utils/dynamicAsset';
import { getSocialIcon } from '~/utils/social';

interface BaseBylineProps {
name?: string;
Expand Down Expand Up @@ -34,7 +34,7 @@ defineProps<BaseBylineProps>();
<div v-if="links" class="share-icons">
<template v-for="{ service, url } in links" :key="service">
<NuxtLink :href="url" target="_blank">
<img :src="dynamicAsset(`/svg/social/${service}.svg`)" :alt="service" />
<Icon :name="getSocialIcon(service)" class="icon" />
</NuxtLink>
</template>
</div>
Expand Down Expand Up @@ -83,10 +83,10 @@ defineProps<BaseBylineProps>();
align-items: center;
gap: var(--space-5);

img {
.icon {
margin-block-start: var(--space-1);
width: var(--space-6);
height: auto;
height: var(--space-6);
filter: brightness(1);
transition: filter var(--duration-150) var(--ease-out);

Expand Down
98 changes: 21 additions & 77 deletions eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import path from 'node:path';
import { fileURLToPath } from 'node:url';
import js from '@eslint/js';
import { FlatCompat } from '@eslint/eslintrc';
import vuePlugin from 'eslint-plugin-vue';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
Expand All @@ -18,101 +19,43 @@ const compat = new FlatCompat({

export default [
{
ignores: ['**/node_modules', '**/dist', '**/.nuxt', '**/.output'],
ignores: ['**/node_modules', '**/dist', '**/.nuxt', '**/.output', '.prettierrc.js'],
},
...compat.extends('eslint:recommended', 'prettier'),
{
files: ['**/*.vue'],
plugins: {
vue: vuePlugin
},
processor: vuePlugin.processors['.vue'],
rules: vuePlugin.configs.base.rules
},
{
files: ['**/*.ts', '**/*.vue'],
plugins: {
'@typescript-eslint': typescriptEslint,
prettier,
vue: vuePlugin
},

languageOptions: {
globals: {
...globals.browser,
...globals.node,
},

parser,
ecmaVersion: 2022,
sourceType: 'module',
},

rules: {
'no-console': 'error',
'no-debugger': 'error',
'prettier/prettier': 'error',

'padding-line-between-statements': [
'error',
{
blankLine: 'always',

prev: [
'block',
'block-like',
'cjs-export',
'class',
'export',
'import',
'multiline-block-like',
'multiline-const',
'multiline-expression',
'multiline-let',
'multiline-var',
],

next: '*',
},
{
blankLine: 'always',
prev: ['const', 'let'],
next: ['block', 'block-like', 'cjs-export', 'class', 'export', 'import'],
},
{
blankLine: 'always',
prev: '*',

next: ['multiline-block-like', 'multiline-const', 'multiline-expression', 'multiline-let', 'multiline-var'],
},
{
blankLine: 'any',
prev: ['export', 'import'],
next: ['export', 'import'],
},
],

'lines-between-class-members': [
'error',
'always',
{
exceptAfterSingleLine: true,
},
],

'no-nested-ternary': 'error',
curly: ['error', 'multi-line'],
},
},
...compat
.extends('plugin:vue/vue3-recommended', 'eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier')
.map((config) => ({
...config,
files: ['**/*.ts', '**/*.vue'],
})),
{
files: ['**/*.ts', '**/*.vue'],

languageOptions: {
parser: parser,
ecmaVersion: 5,
sourceType: 'script',

parserOptions: {
parser: '@typescript-eslint/parser',
},
extraFileExtensions: ['.vue'],
ecmaFeatures: {
jsx: true
}
}
},

rules: {
...vuePlugin.configs.base.rules,
...vuePlugin.configs.essential.rules,
'no-console': 'error',
'no-debugger': 'error',
'prettier/prettier': 'error',
Expand Down Expand Up @@ -174,6 +117,7 @@ export default [
'@typescript-eslint/no-var-requires': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',

'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': [
'warn',
{
Expand Down
2 changes: 1 addition & 1 deletion modules/posthog/runtime/directives/v-capture.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ type CaptureModifiers = {

type EventHandler = {
event: string;
handler: (event: Event) => void;
handler: (_event: Event) => void;
};

const listeners = new WeakMap<HTMLElement, EventHandler[]>();
Expand Down
72 changes: 36 additions & 36 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,56 +11,56 @@
"analyze": "nuxt analyze"
},
"devDependencies": {
"@directus/format-title": "11.0.0",
"@directus/sdk": "18.0.2",
"@directus/format-title": "12.0.0",
"@directus/sdk": "19.0.1",
"@formkit/auto-animate": "0.8.2",
"@iconify-json/material-symbols": "1.2.12",
"@nuxt/devtools": "1.6.4",
"@nuxt/fonts": "0.10.3",
"@nuxt/icon": "1.10.2",
"@nuxt/image": "1.8.1",
"@nuxt/kit": "3.14.1592",
"@nuxt/scripts": "0.9.5",
"@iconify-json/material-symbols": "1.2.16",
"@nuxt/devtools": "2.3.0",
"@nuxt/fonts": "0.11.0",
"@nuxt/icon": "1.11.0",
"@nuxt/image": "1.10.0",
"@nuxt/kit": "3.16.1",
"@nuxt/scripts": "0.11.2",
"@nuxtjs/eslint-module": "4.1.0",
"@nuxtjs/sitemap": "7.0.0",
"@types/node": "22.10.2",
"@typescript-eslint/eslint-plugin": "8.18.1",
"@typescript-eslint/parser": "8.18.1",
"@vueuse/core": "12.0.0",
"@vueuse/nuxt": "12.0.0",
"eslint": "9.17.0",
"eslint-config-prettier": "9.1.0",
"eslint-plugin-prettier": "5.2.1",
"eslint-plugin-vue": "9.32.0",
"@nuxtjs/sitemap": "7.2.9",
"@types/node": "22.13.10",
"@typescript-eslint/eslint-plugin": "8.26.1",
"@typescript-eslint/parser": "8.26.1",
"@vueuse/core": "13.0.0",
"@vueuse/nuxt": "13.0.0",
"eslint": "9.22.0",
"eslint-config-prettier": "10.1.1",
"eslint-plugin-prettier": "5.2.3",
"eslint-plugin-vue": "10.0.0",
"feed": "4.2.2",
"floating-vue": "5.2.2",
"fuse.js": "7.0.0",
"micromark": "4.0.1",
"fuse.js": "7.1.0",
"micromark": "4.0.2",
"micromark-extension-gfm": "3.0.0",
"nuxt": "3.14.1592",
"nuxt-og-image": "4.0.1",
"nuxt-schema-org": "4.0.4",
"p-queue": "8.0.1",
"posthog-js": "1.202.2",
"posthog-node": "4.3.2",
"prettier": "3.4.2",
"radix-vue": "^1.9.11",
"sass": "1.83.0",
"shiki": "1.24.2",
"typescript": "5.5.4",
"nuxt": "3.16.1",
"nuxt-og-image": "5.0.5",
"nuxt-schema-org": "5.0.4",
"p-queue": "8.1.0",
"posthog-js": "1.231.3",
"posthog-node": "4.10.1",
"prettier": "3.5.3",
"radix-vue": "^1.9.17",
"sass": "1.86.0",
"shiki": "3.2.1",
"typescript": "5.8.2",
"vue": "3.5.13",
"vue-router": "4.5.0",
"vue-tsc": "2.1.6"
"vue-tsc": "2.2.8"
},
"packageManager": "pnpm@8.15.3",
"engines": {
"node": ">=20.0.0",
"pnpm": ">=8.15.0"
},
"dependencies": {
"embla-carousel": "^8.5.1",
"embla-carousel-class-names": "^8.5.1",
"embla-carousel-vue": "^8.5.1",
"embla-carousel": "^8.5.2",
"embla-carousel-class-names": "^8.5.2",
"embla-carousel-vue": "^8.5.2",
"vue3-marquee": "^4.2.2"
}
}
Loading