2
0

theme.ts 867 B

123456789101112131415161718192021222324252627282930313233343536
  1. import axios from 'axios';
  2. import type { ThemeSettings } from '../../share/types.ts';
  3. export interface ThemeSettingsResponse {
  4. message: string;
  5. data: ThemeSettings;
  6. }
  7. export const ThemeAPI = {
  8. getThemeSettings: async (): Promise<ThemeSettings> => {
  9. try {
  10. const response = await axios.get('/theme');
  11. return response.data.data;
  12. } catch (error) {
  13. throw error;
  14. }
  15. },
  16. updateThemeSettings: async (themeData: Partial<ThemeSettings>): Promise<ThemeSettings> => {
  17. try {
  18. const response = await axios.put('/theme', themeData);
  19. return response.data.data;
  20. } catch (error) {
  21. throw error;
  22. }
  23. },
  24. resetThemeSettings: async (): Promise<ThemeSettings> => {
  25. try {
  26. const response = await axios.post('/theme/reset');
  27. return response.data.data;
  28. } catch (error) {
  29. throw error;
  30. }
  31. }
  32. };