diff --git a/.eslintrc.cjs b/.eslintrc.cjs index b0ff5c3..bfee290 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,36 +1,38 @@ module.exports = { - root: true, - env: { - browser: true, - node: true - }, parser: 'vue-eslint-parser', - plugins: [ - '@typescript-eslint' - ], parserOptions: { parser: '@typescript-eslint/parser', - requireConfigFile: false + sourceType: 'module', }, - extends: [ - '@nuxtjs', - '@nuxtjs/eslint-config-typescript', - 'plugin:nuxt/recommended' - ], - // add your custom rules here - rules: {}, + extends: ['@nuxtjs/eslint-config-typescript', 'eslint:recommended', 'plugin:vue/vue3-recommended'], + rules: { + 'vue/valid-v-slot': 'off', + 'arrow-parens': ['error', 'always'], + 'comma-dangle': ['error', 'always-multiline'], + 'space-before-function-paren': ['error', { + anonymous: 'never', + named: 'never', + asyncArrow: 'always', + }], + '@typescript-eslint/consistent-type-imports': ['error', { + fixStyle: 'inline-type-imports', + }], + }, + plugins: [], + ignorePatterns: ['nuxt.config.ts'], overrides: [ { files: ['pages/**/*.vue', 'layouts/*.vue'], rules: { - 'vue/multi-word-component-names': 'off' - } + 'vue/multi-word-component-names': 'off', + }, }, { files: ['graphql/generated/*.ts'], rules: { - 'no-use-before-define': 'off' - } - } - ] + 'no-use-before-define': 'off', + 'no-unused-vars': 'off', + }, + }, + ], } diff --git a/Dockerfile b/Dockerfile index 2f3066f..ea847bf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -6,7 +6,7 @@ COPY ./package.json ./yarn.lock ./.snyk ./ RUN yarn install --frozen-lockfile COPY ./ ./ -RUN yarn build && yarn lint +RUN yarn run generate && yarn lint #RUN yarn start:ci & yarn wait && yarn test:cypress FROM nginx diff --git a/components/pages/events/Event/distance.vue b/components/pages/events/Event/distance.vue deleted file mode 100644 index 543a375..0000000 --- a/components/pages/events/Event/distance.vue +++ /dev/null @@ -1,34 +0,0 @@ - - - diff --git a/components/pages/events/Event/index.vue b/components/pages/events/event-card.vue similarity index 62% rename from components/pages/events/Event/index.vue rename to components/pages/events/event-card.vue index 1133e85..5fa6d95 100644 --- a/components/pages/events/Event/index.vue +++ b/components/pages/events/event-card.vue @@ -1,80 +1,81 @@ @@ -112,30 +113,31 @@ import { format, formatDistanceToNow, parseISO } from 'date-fns' import { enGB, sv } from 'date-fns/locale' -import { computed, getCurrentInstance, PropType } from 'vue' -import { Event } from '~/graphql/generated/operations' -import DistanceDisplay from '~/components/pages/events/Event/distance.vue' +import { computed, type PropType } from 'vue' +import { useI18n } from '#i18n' +import { type Event } from '~/graphql/generated/operations' +import DistanceDisplay from '~/components/pages/events/event-distance.vue' const props = defineProps({ event: { type: Object as PropType, - required: true + required: true, }, hasUser: { type: Boolean, - required: true + required: true, }, toggleIgnore: { type: Function, - required: true - } + required: true, + }, }) -const instance = getCurrentInstance() -const locale = computed(() => (instance?.proxy.$i18n.locale ?? 'sv') === 'en' ? enGB : sv) +const { locale: currentLocale } = useI18n() +const locale = computed(() => (currentLocale.value ?? 'sv') === 'en' ? enGB : sv) const time = computed(() => (props.event.time || '').split('-')[0].replace('.', ':')) const weekday = computed(() => format(parseISO(props.event.date), 'EEEE', { locale: locale.value })) const daysUntil = computed(() => formatDistanceToNow(parseISO(`${props.event.date}T${time.value}`), { addSuffix: true, - locale: locale.value + locale: locale.value, })) diff --git a/components/pages/events/event-distance.vue b/components/pages/events/event-distance.vue new file mode 100644 index 0000000..58f5152 --- /dev/null +++ b/components/pages/events/event-distance.vue @@ -0,0 +1,39 @@ + + + diff --git a/components/pages/events/List/index.vue b/components/pages/events/event-list.vue similarity index 78% rename from components/pages/events/List/index.vue rename to components/pages/events/event-list.vue index e189260..3177b8f 100644 --- a/components/pages/events/List/index.vue +++ b/components/pages/events/event-list.vue @@ -1,34 +1,34 @@ diff --git a/components/pages/events/index.vue b/components/pages/events/event-page.vue similarity index 87% rename from components/pages/events/index.vue rename to components/pages/events/event-page.vue index f1839f7..2da58dd 100644 --- a/components/pages/events/index.vue +++ b/components/pages/events/event-page.vue @@ -10,14 +10,15 @@ -