36 lines
867 B
TypeScript
36 lines
867 B
TypeScript
import axios from 'axios';
|
|
import type { ThemeSettings } from '../../share/types.ts';
|
|
|
|
export interface ThemeSettingsResponse {
|
|
message: string;
|
|
data: ThemeSettings;
|
|
}
|
|
|
|
export const ThemeAPI = {
|
|
getThemeSettings: async (): Promise<ThemeSettings> => {
|
|
try {
|
|
const response = await axios.get('/theme');
|
|
return response.data.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
},
|
|
|
|
updateThemeSettings: async (themeData: Partial<ThemeSettings>): Promise<ThemeSettings> => {
|
|
try {
|
|
const response = await axios.put('/theme', themeData);
|
|
return response.data.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
},
|
|
|
|
resetThemeSettings: async (): Promise<ThemeSettings> => {
|
|
try {
|
|
const response = await axios.post('/theme/reset');
|
|
return response.data.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
}; |