feat: add survey view with voting functionality and admin panel

- Implemented SurveyView.vue for displaying and managing polls, including voting, comments, and results.
- Added new database tables for vote polls, votes, and comments in migration script.
- Created unique lottery logic for handling unique item rewards based on voting.
- Developed unit tests for unique lottery functionality to ensure deterministic behavior and correct counting of occupied unique items.
This commit is contained in:
2026-02-03 18:25:26 +00:00
parent d3277f204a
commit b0a8f768e9
15 changed files with 2531 additions and 22 deletions
+10
View File
@@ -24,6 +24,7 @@ import BestGeneralView from '../views/BestGeneralView.vue';
import HallOfFameView from '../views/HallOfFameView.vue';
import DynastyListView from '../views/DynastyListView.vue';
import DynastyDetailView from '../views/DynastyDetailView.vue';
import SurveyView from '../views/SurveyView.vue';
import { useSessionStore } from '../stores/session';
const routes = [
@@ -199,6 +200,15 @@ const routes = [
requiresGeneral: true,
},
},
{
path: '/survey',
name: 'survey',
component: SurveyView,
meta: {
requiresAuth: true,
requiresGeneral: true,
},
},
{
path: '/my-settings',
name: 'my-settings',