fix(openapi-ts): first pass for replacing with openapi-ts
This commit is contained in:
parent
62a81e57ad
commit
f1afb2096f
@ -1,9 +1,8 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted } from "vue";
|
import { ref, onMounted } from "vue";
|
||||||
import { apiService } from "./services/apiService";
|
import { gamesApiListGames } from "./api";
|
||||||
import type { Game } from "./types";
|
|
||||||
|
|
||||||
const games = ref<Game[]>([]);
|
const games = ref<any[]>([]);
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
|
|
||||||
const imageErrors = ref<Set<number>>(new Set());
|
const imageErrors = ref<Set<number>>(new Set());
|
||||||
@ -21,7 +20,7 @@ const navigate = (path: string) => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const response = await apiService.getGames();
|
const response = await gamesApiListGames();
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
games.value = response.data;
|
games.value = response.data;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,10 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted } from "vue";
|
import { ref, onMounted } from "vue";
|
||||||
import { apiService } from "./services/apiService";
|
import { polylanSubmitterApiGetUserInfo, marketApiListMarkets } from "./api";
|
||||||
import type { Market } from "./types";
|
|
||||||
import MarketCard from "./components/MarketCard.vue";
|
import MarketCard from "./components/MarketCard.vue";
|
||||||
import UserBets from "./components/UserBets.vue";
|
import UserBets from "./components/UserBets.vue";
|
||||||
|
|
||||||
const markets = ref<Market[]>([]);
|
const markets = ref<any[]>([]);
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
const userInfo = ref<any>(null);
|
const userInfo = ref<any>(null);
|
||||||
|
|
||||||
@ -19,13 +18,13 @@ const reloadPage = () => {
|
|||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
// Fetch user info
|
// Fetch user info
|
||||||
const userResponse = await apiService.getUserInfo();
|
const userResponse = await polylanSubmitterApiGetUserInfo();
|
||||||
if (userResponse.data) {
|
if (userResponse.data) {
|
||||||
userInfo.value = userResponse.data;
|
userInfo.value = userResponse.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetch markets
|
// Fetch markets
|
||||||
const response = await apiService.getMarkets();
|
const response = await marketApiListMarkets();
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
markets.value = response.data;
|
markets.value = response.data;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -7,7 +7,8 @@ import Results from "@/components/Results.vue";
|
|||||||
import Winners from "@/components/Winners.vue";
|
import Winners from "@/components/Winners.vue";
|
||||||
import PuzzleResults from "@/components/PuzzleResults.vue";
|
import PuzzleResults from "@/components/PuzzleResults.vue";
|
||||||
import TopUsersLeaderboard from "@/components/TopUsersLeaderboard.vue";
|
import TopUsersLeaderboard from "@/components/TopUsersLeaderboard.vue";
|
||||||
import { apiService, errorHelpers } from "@/services/apiService";
|
import { polylanSubmitterApiGetUserInfo, submissionsApiGetCollection } from "@/api";
|
||||||
|
import { errorHelpers } from "@/services/apiService";
|
||||||
import { usePuzzlesStore } from "@/stores/puzzles";
|
import { usePuzzlesStore } from "@/stores/puzzles";
|
||||||
import { useSubmissionsStore } from "@/stores/submissions";
|
import { useSubmissionsStore } from "@/stores/submissions";
|
||||||
import type { PuzzleResponse, UserInfo, SteamCollection } from "@/types";
|
import type { PuzzleResponse, UserInfo, SteamCollection } from "@/types";
|
||||||
@ -66,9 +67,9 @@ async function initialize() {
|
|||||||
|
|
||||||
// Load user info
|
// Load user info
|
||||||
console.log("Loading user info...");
|
console.log("Loading user info...");
|
||||||
const userResponse = await apiService.getUserInfo();
|
const userResponse = await polylanSubmitterApiGetUserInfo();
|
||||||
if (userResponse.data) {
|
if (userResponse.data) {
|
||||||
userInfo.value = userResponse.data;
|
userInfo.value = userResponse.data as UserInfo;
|
||||||
console.log("User info loaded:", userResponse.data);
|
console.log("User info loaded:", userResponse.data);
|
||||||
} else if (userResponse.error) {
|
} else if (userResponse.error) {
|
||||||
console.warn("User info error:", userResponse.error);
|
console.warn("User info error:", userResponse.error);
|
||||||
@ -76,9 +77,9 @@ async function initialize() {
|
|||||||
|
|
||||||
// Load collection data
|
// Load collection data
|
||||||
console.log("Loading collection...");
|
console.log("Loading collection...");
|
||||||
const collectionResponse = await apiService.getCollection();
|
const collectionResponse = await submissionsApiGetCollection();
|
||||||
if (collectionResponse.data) {
|
if (collectionResponse.data) {
|
||||||
collection.value = collectionResponse.data;
|
collection.value = collectionResponse.data as SteamCollection;
|
||||||
console.log("Collection loaded:", collectionResponse.data);
|
console.log("Collection loaded:", collectionResponse.data);
|
||||||
} else if (collectionResponse.error) {
|
} else if (collectionResponse.error) {
|
||||||
console.warn("Collection error:", collectionResponse.error);
|
console.warn("Collection error:", collectionResponse.error);
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed, onMounted } from "vue";
|
import { ref, computed, onMounted } from "vue";
|
||||||
import { apiService } from "../services/apiService";
|
import { polylanSubmitterApiGetUserInfo, marketApiCreateBet, marketApiListUserBets } from "../api";
|
||||||
import type { Market, UserBet } from "../types";
|
import type { Market } from "../types";
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
market: Market;
|
market: Market;
|
||||||
@ -16,8 +16,8 @@ const betAmount = ref<number>(0);
|
|||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
const error = ref<string>("");
|
const error = ref<string>("");
|
||||||
const userInfo = ref<any>(null);
|
const userInfo = ref<any>(null);
|
||||||
const userBets = ref<UserBet[]>([]);
|
const userBets = ref<any[]>([]);
|
||||||
const existingBet = ref<UserBet | null>(null);
|
const existingBet = ref<any | null>(null);
|
||||||
|
|
||||||
const timeRemaining = computed(() => {
|
const timeRemaining = computed(() => {
|
||||||
const endDate = new Date(props.market.end_date).getTime();
|
const endDate = new Date(props.market.end_date).getTime();
|
||||||
@ -59,17 +59,22 @@ const placeBet = async () => {
|
|||||||
error.value = "";
|
error.value = "";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await apiService.placeBet(props.market.uuid, {
|
const response = await marketApiCreateBet({
|
||||||
|
path: {
|
||||||
|
market_uuid: props.market.uuid
|
||||||
|
},
|
||||||
|
body: {
|
||||||
option_uuid: selectedOption.value,
|
option_uuid: selectedOption.value,
|
||||||
amount: betAmount.value,
|
amount: betAmount.value,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.status === 200 || response.status === 201) {
|
if (!response.error) {
|
||||||
// Reload user bets to reflect the new bet
|
// Reload user bets to reflect the new bet
|
||||||
await loadUserBets();
|
await loadUserBets();
|
||||||
betAmount.value = 0;
|
betAmount.value = 0;
|
||||||
} else {
|
} else {
|
||||||
error.value = response.error || "Failed to place bet";
|
error.value = String(response.error) || "Failed to place bet";
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
error.value = "Error placing bet";
|
error.value = "Error placing bet";
|
||||||
@ -79,18 +84,18 @@ const placeBet = async () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const initializeUserInfo = async () => {
|
const initializeUserInfo = async () => {
|
||||||
const response = await apiService.getUserInfo();
|
const response = await polylanSubmitterApiGetUserInfo();
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
userInfo.value = response.data;
|
userInfo.value = response.data;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const loadUserBets = async () => {
|
const loadUserBets = async () => {
|
||||||
const response = await apiService.getUserBets();
|
const response = await marketApiListUserBets();
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
userBets.value = response.data;
|
userBets.value = response.data;
|
||||||
// Find if user has a bet on this market
|
// Find if user has a bet on this market
|
||||||
existingBet.value = response.data.find(bet => bet.market.uuid === props.market.uuid) || null;
|
existingBet.value = response.data.find(bet => bet.market?.uuid === props.market.uuid) || null;
|
||||||
if (existingBet.value) {
|
if (existingBet.value) {
|
||||||
selectedOption.value = existingBet.value.option.uuid;
|
selectedOption.value = existingBet.value.option.uuid;
|
||||||
betAmount.value = existingBet.value.amount;
|
betAmount.value = existingBet.value.amount;
|
||||||
|
|||||||
@ -1,13 +1,12 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, onMounted, computed } from "vue";
|
import { ref, onMounted, computed } from "vue";
|
||||||
import { apiService } from "../services/apiService";
|
import { marketApiListUserBets } from "../api";
|
||||||
import type { UserBet } from "../types";
|
|
||||||
|
|
||||||
defineEmits<{
|
defineEmits<{
|
||||||
refresh: [];
|
refresh: [];
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const userBets = ref<UserBet[]>([]);
|
const userBets = ref<any[]>([]);
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
|
|
||||||
const totalBetAmount = computed(() => {
|
const totalBetAmount = computed(() => {
|
||||||
@ -37,7 +36,7 @@ const totalWinnings = computed(() => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const response = await apiService.getUserBets();
|
const response = await marketApiListUserBets();
|
||||||
if (response.data) {
|
if (response.data) {
|
||||||
userBets.value = response.data;
|
userBets.value = response.data;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,11 @@
|
|||||||
import { defineStore } from 'pinia'
|
import { defineStore } from 'pinia'
|
||||||
import { ref, computed } from 'vue'
|
import { ref, computed } from 'vue'
|
||||||
import type { SteamCollectionItem } from '@/types'
|
import type { SteamCollectionItem } from '@/types'
|
||||||
import { apiService } from '@/services/apiService'
|
import { submissionsApiListPuzzles } from '@/api'
|
||||||
|
|
||||||
export const usePuzzlesStore = defineStore('puzzles', () => {
|
export const usePuzzlesStore = defineStore('puzzles', () => {
|
||||||
// State
|
// State
|
||||||
const puzzles = ref<SteamCollectionItem[]>([])
|
const puzzles = ref<any[]>([])
|
||||||
const isLoading = ref(false)
|
const isLoading = ref(false)
|
||||||
const error = ref<string>('')
|
const error = ref<string>('')
|
||||||
|
|
||||||
@ -38,9 +38,9 @@ export const usePuzzlesStore = defineStore('puzzles', () => {
|
|||||||
isLoading.value = true
|
isLoading.value = true
|
||||||
error.value = ''
|
error.value = ''
|
||||||
|
|
||||||
const response = await apiService.getPuzzles()
|
const response = await submissionsApiListPuzzles()
|
||||||
if (response.error) {
|
if (response.error) {
|
||||||
error.value = response.error
|
error.value = String(response.error)
|
||||||
console.error('Failed to load puzzles:', response.error)
|
console.error('Failed to load puzzles:', response.error)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user