1 Commits

Author SHA1 Message Date
renovate[bot]
6d6dfc98d6 Update dependency unplugin-vue-components to v29 2025-08-30 02:38:47 +00:00
5 changed files with 252 additions and 295 deletions

View File

@@ -10,7 +10,7 @@ COPY . .
RUN npm run build RUN npm run build
FROM caddy:2.10.2-alpine as runtime FROM caddy:2.10.0-alpine as runtime
WORKDIR /my-site WORKDIR /my-site

View File

@@ -1,4 +1,4 @@
# syntax=docker/dockerfile:1.19 # syntax=docker/dockerfile:1.17
FROM cgr.dev/chainguard/go:latest as build FROM cgr.dev/chainguard/go:latest as build
WORKDIR /src WORKDIR /src

527
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -9,11 +9,11 @@
"lint": "eslint . --fix" "lint": "eslint . --fix"
}, },
"dependencies": { "dependencies": {
"@fontsource/roboto": "5.2.8", "@fontsource/roboto": "5.2.6",
"@github/hotkey": "^3.0.0", "@github/hotkey": "^3.0.0",
"@mdi/font": "7.4.47", "@mdi/font": "7.4.47",
"@popperjs/core": "^2.11.8", "@popperjs/core": "^2.11.8",
"axios": "^1.12.0", "axios": "^1.11.0",
"core-js": "^3.32.1", "core-js": "^3.32.1",
"cssnano": "^7.0.0", "cssnano": "^7.0.0",
"jquery": "^3.7.0", "jquery": "^3.7.0",
@@ -37,7 +37,7 @@
"sass-embedded": "^1.89.2", "sass-embedded": "^1.89.2",
"unplugin-fonts": "^1.3.1", "unplugin-fonts": "^1.3.1",
"unplugin-vue-components": "^29.0.0", "unplugin-vue-components": "^29.0.0",
"vite": "^6.3.6", "vite": "^6.3.5",
"vite-plugin-vuetify": "^2.1.1" "vite-plugin-vuetify": "^2.1.1"
}, },
"eslintConfig": { "eslintConfig": {

View File

@@ -12,12 +12,17 @@ export default {
return { return {
ascending: this.ascending, ascending: this.ascending,
filter: window.location.href.split("filter=")[1] || "", filter: window.location.href.split("filter=")[1] || "",
isLoading: false,
sortColumn: this.sortColumn, sortColumn: this.sortColumn,
topics: [], topics: [],
}; };
}, },
mounted() { mounted() {
window.addEventListener("keydown", this.handleKeyDown); window.addEventListener("keydown", this.handleKeyDown);
this.sortColumn = localStorage.getItem("sortColumn") || "score";
this.ascending =
localStorage.getItem("ascending") === "false" ? false : true;
this.isLoading = true;
this.fetchDeals(); this.fetchDeals();
}, },
beforeUnmount() { beforeUnmount() {
@@ -42,10 +47,12 @@ export default {
); );
}, },
fetchDeals() { fetchDeals() {
this.isLoading = true;
axios axios
.get("api/v1/topics") .get("api/v1/topics")
.then((response) => { .then((response) => {
this.topics = response.data; this.topics = response.data;
this.isLoading = false;
}) })
.catch((err) => { .catch((err) => {
console.log(err.response); console.log(err.response);
@@ -107,15 +114,16 @@ const sortBy = ref([{ key: "score", order: "desc" }]); // Vuetify 3 format
<v-text-field <v-text-field
v-model="filter" v-model="filter"
label="Filter" label="Filter"
density="comfortable"
ref="filter" ref="filter"
@keyup.enter="createFilterRoute(filter.toString())" @keyup.enter="createFilterRoute(filter.toString())"
@keyup.esc="$refs.filter.blur()" @keyup.esc="$refs.filter.blur()"
hide-details="true"
/> />
<v-data-table <v-data-table
:headers="headers" :headers="headers"
:items="filteredTopics" :items="filteredTopics"
:sort-by="sortColumn" :sort-by="sortColumn"
:sort-desc="!ascending"
v-model:sortBy="sortBy" v-model:sortBy="sortBy"
:items-per-page="25" :items-per-page="25"
> >