import { createRouter, createWebHistory } from 'vue-router';
import Register from './views/Register.vue';
import Login from './views/Login.vue';
import Activate from './views/Activate.vue';
import ForgotPassword from './views/ForgotPassword.vue';
import ResetPassword from './views/ResetPassword.vue';
import Home from './views/Home.vue';
import CreateClub from './views/CreateClub.vue';
import ClubView from './views/ClubView.vue';
import MembersView from './views/MembersView.vue';
import DiaryView from './views/DiaryView.vue';
import PendingApprovalsView from './views/PendingApprovalsView.vue';
import ScheduleView from './views/ScheduleView.vue';
import TournamentsView from './views/TournamentsView.vue';
import OfficialTournaments from './views/OfficialTournaments.vue';
import TrainingStatsView from './views/TrainingStatsView.vue';
import ClubSettings from './views/ClubSettings.vue';
import PredefinedActivities from './views/PredefinedActivities.vue';
import MyTischtennisAccount from './views/MyTischtennisAccount.vue';
import ClickTtAccount from './views/ClickTtAccount.vue';
import TeamManagementView from './views/TeamManagementView.vue';
import PermissionsView from './views/PermissionsView.vue';
import LogsView from './views/LogsView.vue';
import ClickTtView from './views/ClickTtView.vue';
import MemberTransferSettingsView from './views/MemberTransferSettingsView.vue';
import PersonalSettings from './views/PersonalSettings.vue';
import Impressum from './views/Impressum.vue';
import Datenschutz from './views/Datenschutz.vue';

const routes = [
  { path: '/register', component: Register },
  { path: '/login', component: Login },
  { path: '/activate/:activationCode', component: Activate },
  { path: '/forgot-password', component: ForgotPassword },
  { path: '/reset-password/:token', component: ResetPassword },
  { path: '/', component: Home },
  { path: '/createclub', component: CreateClub },
  { path: '/showclub/:clubId', component: ClubView },
  { path: '/members', component: MembersView },
  { path: '/diary', component: DiaryView },
  { path: '/pending-approvals', component: PendingApprovalsView},
  { path: '/schedule', component: ScheduleView},
  { path: '/tournaments', component: TournamentsView },
  { path: '/tournament-participations', component: OfficialTournaments },
  { path: '/training-stats', component: TrainingStatsView },
  { path: '/club-settings', component: ClubSettings },
  { path: '/predefined-activities', component: PredefinedActivities },
  { path: '/mytischtennis-account', component: MyTischtennisAccount },
  { path: '/clicktt-account', component: ClickTtAccount },
  { path: '/team-management', component: TeamManagementView },
  { path: '/permissions', component: PermissionsView },
  { path: '/logs', component: LogsView },
  { path: '/clicktt', component: ClickTtView },
  { path: '/member-transfer-settings', component: MemberTransferSettingsView },
  { path: '/personal-settings', component: PersonalSettings },
  { path: '/impressum', component: Impressum },
  { path: '/datenschutz', component: Datenschutz },
];

const router = createRouter({
  history: createWebHistory(),
  routes,
});

export default router;
