Feature(custom): rewrite setting page, WIP

This commit is contained in:
Kuingsmile
2025-08-06 11:19:19 +08:00
parent 32c3eaba12
commit 4b8bfded1d
182 changed files with 5536 additions and 3322 deletions

View File

@@ -1,6 +1,7 @@
import { IRPCActionType } from 'root/src/universal/types/enum'
import { onMounted, onUnmounted } from 'vue'
import { IRPCActionType } from '@/utils/enum'
export function useATagClick () {
const handleATagClick = (e: MouseEvent) => {
if (e.target instanceof HTMLAnchorElement) {

View File

@@ -1,7 +1,7 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
import { IStringKeyMap } from '#/types/types'
import type { IStringKeyMap } from '#/types/types'
export const useAppStore = defineStore('app', () => {
const settings = ref<IStringKeyMap>({

View File

@@ -0,0 +1,38 @@
import { ref } from 'vue'
export interface ConfirmOptions {
title?: string
message: string
type?: 'info' | 'success' | 'warning' | 'error'
confirmButtonText?: string
cancelButtonText?: string
showClose?: boolean
center?: boolean
}
interface ConfirmService {
confirm: (options: ConfirmOptions) => Promise<boolean>
}
const confirmServiceRef = ref<ConfirmService | null>(null)
export function useConfirm () {
const setConfirmService = (service: ConfirmService) => {
confirmServiceRef.value = service
}
const confirm = (options: ConfirmOptions): Promise<boolean> => {
if (confirmServiceRef.value) {
return confirmServiceRef.value.confirm(options)
}
console.warn('Confirm service not initialized')
return Promise.resolve(false)
}
return {
setConfirmService,
confirm
}
}
export default useConfirm

View File

@@ -0,0 +1,60 @@
import { ref } from 'vue'
import type { MessageOptions } from '@/components/ui/MessageToast.vue'
interface MessageService {
success: (message: string, options?: Partial<MessageOptions>) => string
error: (message: string, options?: Partial<MessageOptions>) => string
warning: (message: string, options?: Partial<MessageOptions>) => string
info: (message: string, options?: Partial<MessageOptions>) => string
}
const messageServiceRef = ref<MessageService | null>(null)
export function useMessage () {
const setMessageService = (service: MessageService) => {
messageServiceRef.value = service
}
const success = (message: string, options?: Partial<MessageOptions>) => {
if (messageServiceRef.value) {
return messageServiceRef.value.success(message, options)
}
console.warn('Message service not initialized')
return ''
}
const error = (message: string, options?: Partial<MessageOptions>) => {
if (messageServiceRef.value) {
return messageServiceRef.value.error(message, options)
}
console.warn('Message service not initialized')
return ''
}
const warning = (message: string, options?: Partial<MessageOptions>) => {
if (messageServiceRef.value) {
return messageServiceRef.value.warning(message, options)
}
console.warn('Message service not initialized')
return ''
}
const info = (message: string, options?: Partial<MessageOptions>) => {
if (messageServiceRef.value) {
return messageServiceRef.value.info(message, options)
}
console.warn('Message service not initialized')
return ''
}
return {
setMessageService,
success,
error,
warning,
info
}
}
export default useMessage