Skip to content
This repository has been archived by the owner on Feb 22, 2023. It is now read-only.

Use i18n from useI18n composable instead of Nuxt context #1418

Merged
merged 2 commits into from
May 12, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
6 changes: 4 additions & 2 deletions src/components/VAllResultsGrid/VAllResultsGrid.vue
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,14 @@
</template>

<script lang="ts">
import { computed, defineComponent, useContext } from '@nuxtjs/composition-api'
import { computed, defineComponent } from '@nuxtjs/composition-api'

import { useMediaStore } from '~/stores/media'
import { useFocusFilters } from '~/composables/use-focus-filters'
import { Focus } from '~/utils/focus-management'

import { useI18n } from '~/composables/use-i18n'

import VImageCellSquare from '~/components/VAllResultsGrid/VImageCellSquare.vue'
import VAudioCell from '~/components/VAllResultsGrid/VAudioCell.vue'
import VLoadMore from '~/components/VLoadMore.vue'
Expand All @@ -63,7 +65,7 @@ export default defineComponent({
VContentLink,
},
setup() {
const { i18n } = useContext()
const i18n = useI18n()
const mediaStore = useMediaStore()

const resultsLoading = computed(() => {
Expand Down
4 changes: 2 additions & 2 deletions src/components/VAudioThumbnail/VAudioThumbnail.vue
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@
import {
ref,
onMounted,
useContext,
defineComponent,
PropType,
} from '@nuxtjs/composition-api'

import { rand, hash } from '~/utils/prng'
import { lerp, dist, bezier, Point } from '~/utils/math'
import type { AudioDetail } from '~/models/media'
import { useI18n } from '~/composables/use-i18n'

/**
* Displays the cover art for the audio in a square aspect ratio.
Expand All @@ -56,7 +56,7 @@ export default defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()
const helpText = i18n
.t('audio-thumbnail.alt', {
title: props.audio.title,
Expand Down
10 changes: 3 additions & 7 deletions src/components/VAudioTrack/layouts/VBoxLayout.vue
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,11 @@
</template>

<script lang="ts">
import {
computed,
defineComponent,
PropType,
useContext,
} from '@nuxtjs/composition-api'
import { computed, defineComponent, PropType } from '@nuxtjs/composition-api'

import type { AudioDetail } from '~/models/media'
import type { AudioSize } from '~/constants/audio'
import { useI18n } from '~/composables/use-i18n'

import VLicense from '~/components/VLicense/VLicense.vue'

Expand All @@ -61,7 +57,7 @@ export default defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()
const isSmall = computed(() => props.size === 's')

const width = computed(() => {
Expand Down
12 changes: 3 additions & 9 deletions src/components/VAudioTrack/layouts/VRowLayout.vue
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,11 @@
</template>

<script lang="ts">
import {
computed,
defineComponent,
PropType,
useContext,
} from '@nuxtjs/composition-api'
import { computed, defineComponent, PropType } from '@nuxtjs/composition-api'

import { useBrowserIsBlink } from '~/composables/use-browser-detection'

import { useI18n } from '~/composables/use-i18n'
import type { AudioDetail } from '~/models/media'

import type { AudioSize } from '~/constants/audio'

import VAudioThumbnail from '~/components/VAudioThumbnail/VAudioThumbnail.vue'
Expand All @@ -120,7 +114,7 @@ export default defineComponent({
setup(props) {
/* Utils */
const browserIsBlink = useBrowserIsBlink()
const { i18n } = useContext()
const i18n = useI18n()

const featureNotices: {
timestamps?: string
Expand Down
10 changes: 3 additions & 7 deletions src/components/VContentSwitcher/VSearchTypeButton.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,11 @@
</VButton>
</template>
<script>
import {
computed,
defineComponent,
inject,
useContext,
} from '@nuxtjs/composition-api'
import { computed, defineComponent, inject } from '@nuxtjs/composition-api'

import { ALL_MEDIA } from '~/constants/media'
import useSearchType from '~/composables/use-search-type'
import { useI18n } from '~/composables/use-i18n'
import { isMinScreen } from '~/composables/use-media-query'
import { isValidSearchType } from '~/utils/prop-validators'

Expand Down Expand Up @@ -61,7 +57,7 @@ export default defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()
const isHeaderScrolled = inject('isHeaderScrolled', null)
const isMinScreenMd = isMinScreen('md', { shouldPassInSSR: true })

Expand Down
10 changes: 3 additions & 7 deletions src/components/VErrorSection/VErrorImage.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,12 @@
</template>

<script lang="ts">
import {
computed,
defineComponent,
PropType,
useContext,
} from '@nuxtjs/composition-api'
import { computed, defineComponent, PropType } from '@nuxtjs/composition-api'

import type { License, LicenseVersion } from '~/constants/license'
import { ErrorCode, errorCodes } from '~/constants/errors'
import { AttributableMedia, getAttribution } from '~/utils/attribution-html'
import { useI18n } from '~/composables/use-i18n'

import imageInfo from '~/assets/error_images/image_info.json'

Expand All @@ -48,7 +44,7 @@ export default defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()

const images = Object.fromEntries(
imageInfo.errors.map((errorItem) => {
Expand Down
4 changes: 2 additions & 2 deletions src/components/VHeader/VFilterButton.vue
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ import {
defineComponent,
inject,
toRefs,
useContext,
ref,
} from '@nuxtjs/composition-api'

import { useSearchStore } from '~/stores/search'
import { defineEvent } from '~/types/emits'
import { useI18n } from '~/composables/use-i18n'

import VButton from '~/components/VButton.vue'
import VIcon from '~/components/VIcon/VIcon.vue'
Expand All @@ -61,7 +61,7 @@ const VFilterButton = defineComponent({
toggle: defineEvent(),
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()
const searchStore = useSearchStore()
const { pressed } = toRefs(props)
const isMinScreenMd = inject('isMinScreenMd', ref(false))
Expand Down
4 changes: 3 additions & 1 deletion src/components/VHeader/VHeader.vue
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ import { ALL_MEDIA } from '~/constants/media'
import { isMinScreen } from '~/composables/use-media-query'
import { useMatchSearchRoutes } from '~/composables/use-match-routes'
import { useFilterSidebarVisibility } from '~/composables/use-filter-sidebar-visibility'
import { useI18n } from '~/composables/use-i18n'
import { useI18nResultsCount } from '~/composables/use-i18n-utilities'
import { useMediaStore } from '~/stores/media'
import { useSearchStore } from '~/stores/search'
Expand Down Expand Up @@ -90,7 +91,8 @@ export default defineComponent({
setup() {
const mediaStore = useMediaStore()
const searchStore = useSearchStore()
const { app, i18n } = useContext()
const { app } = useContext()
const i18n = useI18n()
const router = useRouter()

const { matches: isSearchRoute } = useMatchSearchRoutes()
Expand Down
6 changes: 4 additions & 2 deletions src/components/VImageDetails/VImageDetails.vue
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@
</template>

<script>
import { computed, defineComponent, useContext } from '@nuxtjs/composition-api'
import { computed, defineComponent } from '@nuxtjs/composition-api'

import { useI18n } from '~/composables/use-i18n'

import VContentReportPopover from '~/components/VContentReport/VContentReportPopover.vue'
import VLink from '~/components/VLink.vue'
Expand All @@ -69,7 +71,7 @@ const VImageDetails = defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()

const imgType = computed(() => {
if (props.imageType) {
Expand Down
11 changes: 3 additions & 8 deletions src/components/VLicense/VLicense.vue
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,11 @@
</template>

<script lang="ts">
import {
computed,
defineComponent,
PropType,
useContext,
} from '@nuxtjs/composition-api'
import { computed, defineComponent, PropType } from '@nuxtjs/composition-api'

import { ALL_LICENSES, License, LICENSE_ICONS } from '~/constants/license'

import { getFullLicenseName, getElements } from '~/utils/license'
import { useI18n } from '~/composables/use-i18n'

import VIcon from '~/components/VIcon/VIcon.vue'

Expand Down Expand Up @@ -63,7 +58,7 @@ export default defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()

const iconNames = computed(() => getElements(props.license))
const licenseName = computed(() => {
Expand Down
5 changes: 3 additions & 2 deletions src/components/VLoadMore.vue
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,11 @@
</VButton>
</template>
<script lang="ts">
import { computed, defineComponent, useContext } from '@nuxtjs/composition-api'
import { computed, defineComponent } from '@nuxtjs/composition-api'

import { useMediaStore } from '~/stores/media'
import { useSearchStore } from '~/stores/search'
import { useI18n } from '~/composables/use-i18n'

import VButton from '~/components/VButton.vue'

Expand All @@ -24,7 +25,7 @@ export default defineComponent({
VButton,
},
setup() {
const { i18n } = useContext()
const i18n = useI18n()
const mediaStore = useMediaStore()
const searchStore = useSearchStore()

Expand Down
6 changes: 4 additions & 2 deletions src/components/VMediaInfo/VCopyLicense.vue
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,14 @@
</template>

<script lang="ts">
import { defineComponent, PropType, useContext } from '@nuxtjs/composition-api'
import { defineComponent, PropType } from '@nuxtjs/composition-api'

import { AttributionOptions, getAttribution } from '~/utils/attribution-html'

import type { Media } from '~/models/media'

import { useI18n } from '~/composables/use-i18n'

import VTabs from '~/components/VTabs/VTabs.vue'
import VTab from '~/components/VTabs/VTab.vue'
import VLicenseTabPanel from '~/components/VMediaInfo/VLicenseTabPanel.vue'
Expand All @@ -54,7 +56,7 @@ const VCopyLicense = defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()
const getAttributionMarkup = (options?: AttributionOptions) =>
getAttribution(props.media, i18n, options)
return {
Expand Down
11 changes: 4 additions & 7 deletions src/components/VMediaInfo/VMediaReuse.vue
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,14 @@
</template>

<script lang="ts">
import {
computed,
defineComponent,
PropType,
useContext,
} from '@nuxtjs/composition-api'
import { computed, defineComponent, PropType } from '@nuxtjs/composition-api'

import { getFullLicenseName } from '~/utils/license'

import type { Media } from '~/models/media'

import { useI18n } from '~/composables/use-i18n'

import VCopyLicense from '~/components/VMediaInfo/VCopyLicense.vue'
import VMediaLicense from '~/components/VMediaInfo/VMediaLicense.vue'

Expand All @@ -42,7 +39,7 @@ const VMediaReuse = defineComponent({
},
},
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()

const fullLicenseName = computed(() =>
getFullLicenseName(props.media.license, props.media.license_version, i18n)
Expand Down
1 change: 0 additions & 1 deletion src/components/VSketchFabViewer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ import {
} from '@nuxtjs/composition-api'

import { useI18n } from '~/composables/use-i18n'

import { loadScript } from '~/utils/load-script'

const sketchfabUrl =
Expand Down
4 changes: 2 additions & 2 deletions src/composables/use-get-locale-formatted-number.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { useContext } from '@nuxtjs/composition-api'
import { useI18n } from '~/composables/use-i18n'

const WESTERN_ARABIC_NUMERALS = [
'0',
Expand All @@ -19,7 +19,7 @@ const WESTERN_ARABIC_NUMERALS = [
* the locale preferences for delimiters.
*/
export const useGetLocaleFormattedNumber = () => {
const { i18n } = useContext()
const i18n = useI18n()

return (n: number) => {
const testFormat = n.toLocaleString(i18n.locale)
Expand Down
5 changes: 2 additions & 3 deletions src/composables/use-i18n-utilities.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { useContext } from '@nuxtjs/composition-api'

import { useGetLocaleFormattedNumber } from '~/composables/use-get-locale-formatted-number'
import { useI18n } from '~/composables/use-i18n'

/**
* Not using dynamically-generated keys to ensure that
Expand All @@ -16,7 +15,7 @@ const i18nKeys = {
* Returns the localized text for the number of search results.
*/
export function useI18nResultsCount() {
const { i18n } = useContext()
const i18n = useI18n()
const getLocaleFormattedNumber = useGetLocaleFormattedNumber()

/**
Expand Down
10 changes: 3 additions & 7 deletions src/pages/search/audio.vue
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,13 @@
</template>

<script lang="ts">
import {
computed,
defineComponent,
useContext,
useMeta,
} from '@nuxtjs/composition-api'
import { computed, defineComponent, useMeta } from '@nuxtjs/composition-api'

import { useLoadMore } from '~/composables/use-load-more'
import { isMinScreen } from '~/composables/use-media-query'
import { useBrowserIsMobile } from '~/composables/use-browser-detection'
import { useFocusFilters } from '~/composables/use-focus-filters'
import { useI18n } from '~/composables/use-i18n'
import { Focus } from '~/utils/focus-management'

import VAudioTrack from '~/components/VAudioTrack/VAudioTrack.vue'
Expand All @@ -46,7 +42,7 @@ export default defineComponent({
},
props: propTypes,
setup(props) {
const { i18n } = useContext()
const i18n = useI18n()

useMeta({ title: `${props.searchTerm} | Openverse` })

Expand Down