File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -31,7 +31,7 @@ const props = withDefaults(
3131
3232const { locale } = useI18n ()
3333
34- const { settings } = useSettings ()
34+ const { relativeDates, toggleRelativeDates } = useRelativeDates ()
3535
3636const dateFormatter = new Intl .DateTimeFormat (locale .value , {
3737 month: ' short' ,
@@ -48,17 +48,13 @@ const titleValue = computed(() => {
4848 const date = typeof props .datetime === ' string' ? new Date (props .datetime ) : props .datetime
4949 return dateFormatter .format (date )
5050})
51-
52- function toggleRelativeDates() {
53- settings .value .relativeDates = ! settings .value .relativeDates
54- }
5551 </script >
5652
5753<template >
5854 <button type =" button" @click =" toggleRelativeDates" >
5955 <ClientOnly >
6056 <NuxtTime
61- v-if =" settings. relativeDates"
57+ v-if =" relativeDates"
6258 :datetime =" datetime"
6359 :title =" titleValue"
6460 relative
Original file line number Diff line number Diff line change @@ -62,6 +62,23 @@ export function useSettings() {
6262 }
6363}
6464
65+ /**
66+ * Composable for accessing just the relative dates setting.
67+ * Useful for components that only need to read this specific setting.
68+ */
69+ export function useRelativeDates ( ) {
70+ const { settings } = useSettings ( )
71+
72+ function toggleRelativeDates ( ) {
73+ settings . value . relativeDates = ! settings . value . relativeDates
74+ }
75+
76+ return {
77+ relativeDates : computed ( ( ) => settings . value . relativeDates ) ,
78+ toggleRelativeDates,
79+ }
80+ }
81+
6582/**
6683 * Composable for managing accent color.
6784 */
Original file line number Diff line number Diff line change @@ -5,6 +5,9 @@ import DateTime from '~/components/DateTime.vue'
55// Mock the useRelativeDates composable
66const mockRelativeDates = shallowRef ( false )
77vi . mock ( '~/composables/useSettings' , ( ) => ( {
8+ useRelativeDates : ( ) => ( {
9+ relativeDates : mockRelativeDates ,
10+ } ) ,
811 useSettings : ( ) => ( {
912 settings : ref ( { relativeDates : mockRelativeDates . value } ) ,
1013 } ) ,
You can’t perform that action at this time.
0 commit comments