mirror of
https://github.com/davegallant/rfd-fyi.git
synced 2026-01-13 04:54:06 +00:00
Compare commits
1 Commits
renovate/v
...
6d6dfc98d6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6d6dfc98d6 |
2
.github/workflows/dependency-review.yml
vendored
2
.github/workflows/dependency-review.yml
vendored
@@ -15,6 +15,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: 'Checkout Repository'
|
- name: 'Checkout Repository'
|
||||||
uses: actions/checkout@v6
|
uses: actions/checkout@v5
|
||||||
- name: 'Dependency Review'
|
- name: 'Dependency Review'
|
||||||
uses: actions/dependency-review-action@v4
|
uses: actions/dependency-review-action@v4
|
||||||
|
|||||||
4
.github/workflows/publish-containers.yml
vendored
4
.github/workflows/publish-containers.yml
vendored
@@ -10,7 +10,7 @@ jobs:
|
|||||||
name: Publish rfd-fyi-backend
|
name: Publish rfd-fyi-backend
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Prepare
|
- name: Prepare
|
||||||
id: prep
|
id: prep
|
||||||
@@ -50,7 +50,7 @@ jobs:
|
|||||||
name: Publish rfd-fyi-frontend
|
name: Publish rfd-fyi-frontend
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v5
|
||||||
|
|
||||||
- name: Prepare
|
- name: Prepare
|
||||||
id: prep
|
id: prep
|
||||||
|
|||||||
@@ -1,8 +1,4 @@
|
|||||||
{
|
rfd.davegallant.ca {
|
||||||
auto_https off
|
|
||||||
}
|
|
||||||
|
|
||||||
:80 {
|
|
||||||
file_server
|
file_server
|
||||||
reverse_proxy /api/* localhost:8080
|
reverse_proxy /api/* backend:8080
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# syntax=docker/dockerfile:1.20
|
# 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
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<title>rfd-fyi - An overlay of hot deals</title>
|
<title>rfd-fyi - An overlay of hot deals</title>
|
||||||
<script
|
<script
|
||||||
defer
|
defer
|
||||||
src="https://umami.davegallant.ca/script.js"
|
src="https://umami.snake-cloud.ts.net/script.js"
|
||||||
data-website-id="59ffe8be-509a-471e-8cd6-a63c5b35b7aa"
|
data-website-id="59ffe8be-509a-471e-8cd6-a63c5b35b7aa"
|
||||||
></script>
|
></script>
|
||||||
</head>
|
</head>
|
||||||
|
|||||||
795
package-lock.json
generated
795
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -9,11 +9,11 @@
|
|||||||
"lint": "eslint . --fix"
|
"lint": "eslint . --fix"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fontsource/roboto": "5.2.9",
|
"@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",
|
||||||
@@ -36,8 +36,8 @@
|
|||||||
"postcss-cli": "^11.0.0",
|
"postcss-cli": "^11.0.0",
|
||||||
"sass-embedded": "^1.89.2",
|
"sass-embedded": "^1.89.2",
|
||||||
"unplugin-fonts": "^1.3.1",
|
"unplugin-fonts": "^1.3.1",
|
||||||
"unplugin-vue-components": "^30.0.0",
|
"unplugin-vue-components": "^29.0.0",
|
||||||
"vite": "^7.0.0",
|
"vite": "^6.3.5",
|
||||||
"vite-plugin-vuetify": "^2.1.1"
|
"vite-plugin-vuetify": "^2.1.1"
|
||||||
},
|
},
|
||||||
"eslintConfig": {
|
"eslintConfig": {
|
||||||
|
|||||||
10
src/App.vue
10
src/App.vue
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user