updated HomeView.vue to use <script setup lang="ts">
This commit is contained in:
@@ -10,14 +10,14 @@
|
|||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
v-for="(player, id) in recentVisited"
|
v-for="(player, id) in recentVisited"
|
||||||
:key="player.steamid64"
|
:key="player.steamId64"
|
||||||
class="player-card"
|
class="player-card"
|
||||||
tabindex="0"
|
tabindex="0"
|
||||||
@keyup.enter="GoToPlayer(player.vanity_url || player.steamid64)"
|
@keyup.enter="GoToPlayer(player.vanityUrl || player.steamId64)"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="p-2"
|
class="p-2"
|
||||||
@click="GoToPlayer(player.vanity_url || player.steamid64)"
|
@click="GoToPlayer(player.vanityUrl || player.steamId64)"
|
||||||
>
|
>
|
||||||
<div class="col-md-4 m-auto">
|
<div class="col-md-4 m-auto">
|
||||||
<img :alt="player.name" :src="player.avatar" />
|
<img :alt="player.name" :src="player.avatar" />
|
||||||
@@ -103,63 +103,60 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script setup lang="ts">
|
||||||
import {
|
import {
|
||||||
GoToPlayer,
|
GoToPlayer,
|
||||||
SaveLastVisitedToLocalStorage,
|
SaveLastVisitedToLocalStorage,
|
||||||
|
setAppDivBackground,
|
||||||
|
setBgImgDisplay,
|
||||||
setTitle,
|
setTitle,
|
||||||
} from "/src/utils";
|
} from "@/utils";
|
||||||
import { onBeforeMount, ref } from "vue";
|
import { onBeforeMount, ref } from "vue";
|
||||||
import { useStore } from "vuex";
|
import { usePlayerDetailsStore } from "@/stores/playerDetails";
|
||||||
|
|
||||||
export default {
|
setTitle("Home");
|
||||||
name: "HomeView",
|
|
||||||
setup() {
|
|
||||||
setTitle("Home");
|
|
||||||
const store = useStore();
|
|
||||||
|
|
||||||
const recentVisited = ref([]);
|
const playerDetailsStore = usePlayerDetailsStore();
|
||||||
|
const recentVisited = ref([]);
|
||||||
|
|
||||||
const loadRecentVisited = () => {
|
const loadRecentVisited = () => {
|
||||||
recentVisited.value = JSON.parse(localStorage.getItem("recent-visited"));
|
const localString = localStorage.getItem("recent-visited");
|
||||||
|
if (typeof localString === "string")
|
||||||
|
recentVisited.value = JSON.parse(localString);
|
||||||
|
|
||||||
if (recentVisited.value !== null) {
|
if (recentVisited.value !== []) {
|
||||||
if (window.innerWidth < 768) {
|
if (window.innerWidth < 768) {
|
||||||
recentVisited.value = recentVisited.value.filter(
|
recentVisited.value = recentVisited.value.filter(
|
||||||
(i) => recentVisited.value.indexOf(i) < 6
|
(i) => recentVisited.value.indexOf(i) < 6
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
|
||||||
|
|
||||||
const removeRecentVisited = (key) => {
|
|
||||||
if (recentVisited.value !== null) {
|
|
||||||
recentVisited.value.splice(key, 1);
|
|
||||||
recentVisited.value.reverse();
|
|
||||||
|
|
||||||
localStorage.clear();
|
|
||||||
|
|
||||||
if (recentVisited.value !== []) {
|
|
||||||
recentVisited.value.map((p) => {
|
|
||||||
SaveLastVisitedToLocalStorage(p);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
loadRecentVisited();
|
|
||||||
};
|
|
||||||
|
|
||||||
onBeforeMount(() => {
|
|
||||||
loadRecentVisited();
|
|
||||||
store.commit("resetPlayerDetails");
|
|
||||||
|
|
||||||
document.getElementById("app").style.background = "none";
|
|
||||||
document.querySelector(".bg-img").style.display = "none";
|
|
||||||
});
|
|
||||||
|
|
||||||
return { recentVisited, GoToPlayer, removeRecentVisited };
|
|
||||||
},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const removeRecentVisited = (key: number) => {
|
||||||
|
if (recentVisited.value !== []) {
|
||||||
|
recentVisited.value.splice(key, 1);
|
||||||
|
recentVisited.value.reverse();
|
||||||
|
|
||||||
|
localStorage.clear();
|
||||||
|
|
||||||
|
if (recentVisited.value !== []) {
|
||||||
|
recentVisited.value.map((p) => {
|
||||||
|
SaveLastVisitedToLocalStorage(p);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
loadRecentVisited();
|
||||||
|
};
|
||||||
|
|
||||||
|
onBeforeMount(() => {
|
||||||
|
loadRecentVisited();
|
||||||
|
playerDetailsStore.$reset();
|
||||||
|
|
||||||
|
setAppDivBackground("none", HTMLDivElement);
|
||||||
|
setBgImgDisplay("none", HTMLImageElement);
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
Reference in New Issue
Block a user