@@ -7,6 +7,8 @@ import VueMarkdown from 'vue-markdown-render';
7
7
import BaseLayout from ' ./base.layout.vue' ;
8
8
import FavoriteButton from ' @/components/FavoriteButton.vue' ;
9
9
import type { Tool } from ' @/tools/tools.types' ;
10
+ import { useTheme } from ' @/ui/c-link/c-link.theme' ;
11
+ import { useThemeVars } from ' naive-ui' ;
10
12
11
13
const route = useRoute ();
12
14
@@ -33,7 +35,10 @@ const toolFooter = computed<string>(() => {
33
35
const createLink = (linkText : string , url : string ) => {
34
36
return ` [${linkText .replace (' [' , ' \\ [' ).replace (' ]' , ' \\ ]' )}](${url .replace (' (' , ' %28' ).replace (' )' , ' %29' )}) ` ;
35
37
};
36
- const footer = t (` tools.${i18nKey .value }.footer ` , String (route .meta .footer ));
38
+ let footer = t (` tools.${i18nKey .value }.footer ` , String (route .meta .footer ));
39
+ if (footer === ' undefined' ) {
40
+ footer = ' ' ;
41
+ }
37
42
const npmPackages = (route .meta .npmPackages as string [] || [])
38
43
.map (
39
44
packageName => createLink (
@@ -42,6 +47,7 @@ const toolFooter = computed<string>(() => {
42
47
);
43
48
return ((npmPackages .length > 0 ? ` Made with ${npmPackages .join (' , ' )}\n ` : ' ' ) + footer ).trim ();
44
49
});
50
+ const themeVars = useThemeVars ();
45
51
</script >
46
52
47
53
<template >
@@ -124,9 +130,15 @@ const toolFooter = computed<string>(() => {
124
130
opacity : 0.7 ;
125
131
}
126
132
}
127
- .tool-footer {
133
+ }
134
+ .tool-footer {
128
135
opacity : 0.7 ;
129
136
font-size : 12px ;
137
+ text-align : center ;
138
+
139
+ ::v- deep(a ) {
140
+ color : v- bind(' themeVars.textColor1' );
141
+ font-style : italic ;
142
+ }
130
143
}
131
- }
132
144
</style >
0 commit comments