1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2026-02-04 16:03:10 +00:00
This commit is contained in:
Sunwuyuan 2025-12-28 13:17:07 +08:00
commit aa2c45be25
No known key found for this signature in database
GPG Key ID: A6A54CF66F56BB64
2 changed files with 47 additions and 5 deletions

8
.gitignore vendored
View File

@ -172,3 +172,11 @@ dist
vite.config.*.timestamp-*.mjs vite.config.*.timestamp-*.mjs
*.timestamp-* *.timestamp-*
# Auto-generated TypeScript declaration files
auto-imports.d.ts
components.d.ts
typed-router.d.ts
# Package lock files (using pnpm)
package-lock.json

View File

@ -8,12 +8,24 @@
height="100%" height="100%"
@click="fetchSentence" @click="fetchSentence"
> >
<v-card-text class="pa-6 d-flex flex-column justify-center" style="height: 100%"> <v-card-text
<div class="text-h6 font-weight-medium mb-4 serif-font" style="white-space: pre-wrap; line-height: 1.6;"> class="pa-6 d-flex flex-column justify-center"
style="height: 100%"
>
<div
class="font-weight-medium mb-4 serif-font"
:style="contentStyle"
>
{{ sentence }} {{ sentence }}
</div> </div>
<div class="text-subtitle-2 text-medium-emphasis text-right serif-font"> <div
<span v-if="author" class="mr-2">{{ author }}</span> class="text-medium-emphasis serif-font"
:style="authorStyle"
>
<span
v-if="author"
class="mr-2"
>{{ author }}</span>
<span v-if="origin">{{ origin }}</span> <span v-if="origin">{{ origin }}</span>
</div> </div>
</v-card-text> </v-card-text>
@ -38,6 +50,9 @@ const GLOBAL_SENSITIVE_WORDS_ENCODED = [
// //
const GLOBAL_SENSITIVE_WORDS = GLOBAL_SENSITIVE_WORDS_ENCODED.map(word => Base64.decode(word)) const GLOBAL_SENSITIVE_WORDS = GLOBAL_SENSITIVE_WORDS_ENCODED.map(word => Base64.decode(word))
// 75%
const HITOKOTO_FONT_RATIO = 0.75
export default { export default {
name: 'HitokotoCard', name: 'HitokotoCard',
data() { data() {
@ -53,7 +68,25 @@ export default {
origin: '', origin: '',
loading: false, loading: false,
timer: null, timer: null,
unwatch: null unwatch: null,
fontSize: 28 // Will be updated in mounted()
}
},
computed: {
contentStyle() {
return {
'font-size': `${this.fontSize * HITOKOTO_FONT_RATIO}px`,
'white-space': 'pre-wrap',
'line-height': '1.6',
'text-align': 'left'
}
},
authorStyle() {
const AUTHOR_FONT_RATIO = 0.6 // Author font size is 60% of the main font size
return {
'font-size': `${this.fontSize * HITOKOTO_FONT_RATIO * AUTHOR_FONT_RATIO}px`,
'text-align': 'left'
}
} }
}, },
async mounted() { async mounted() {
@ -78,6 +111,7 @@ export default {
loadLocalSettings() { loadLocalSettings() {
this.enabled = SettingsManager.getSetting('hitokoto.enabled') this.enabled = SettingsManager.getSetting('hitokoto.enabled')
this.refreshInterval = SettingsManager.getSetting('hitokoto.refreshInterval') this.refreshInterval = SettingsManager.getSetting('hitokoto.refreshInterval')
this.fontSize = SettingsManager.getSetting('font.size')
}, },
async loadKvSettings() { async loadKvSettings() {
try { try {