match.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import type { RouteRecordRaw } from 'vue-router';
  2. import { $t } from '#/locales';
  3. const routes: RouteRecordRaw[] = [
  4. {
  5. meta: {
  6. icon: 'ion:football-outline',
  7. order: 3,
  8. title: $t('page.match.title'),
  9. },
  10. name: 'Match',
  11. path: '/match',
  12. redirect: '/match/solutions',
  13. children: [
  14. {
  15. name: 'CenterOrder',
  16. path: 'solutions',
  17. component: () => import('#/views/match/solutions/index.vue'),
  18. meta: {
  19. icon: 'ion:receipt-outline',
  20. title: $t('page.match.centerOrder'),
  21. roles: ['admin'], // Only users with admin role can access this page
  22. },
  23. },
  24. {
  25. name: 'DataSync',
  26. path: 'data-sync',
  27. component: () => import('#/views/match/data-sync/index.vue'),
  28. meta: {
  29. icon: 'ion:sync-outline',
  30. title: $t('page.match.dataSync'),
  31. roles: ['admin'],
  32. },
  33. },
  34. {
  35. name: 'OddsCurve',
  36. path: 'odds-curve',
  37. component: () => import('#/views/match/odds-curve/index.vue'),
  38. meta: {
  39. icon: 'ion:trending-up-outline',
  40. title: $t('page.match.oddsCurve'),
  41. roles: ['admin'],
  42. },
  43. },
  44. {
  45. name: 'DataTest',
  46. path: 'data-test',
  47. component: () => import('#/views/match/datatest/index.vue'),
  48. meta: {
  49. icon: 'ion:analytics-outline',
  50. title: $t('page.match.dataTest'),
  51. roles: ['admin'], // Only users with admin role can access this page
  52. },
  53. },
  54. ],
  55. },
  56. ];
  57. export default routes;