5 Commits

Author SHA1 Message Date
Nazar Kanaev
259474cae9 v2.4 2023-08-15 14:13:12 +01:00
Nazar Kanaev
1e65a7951b ui fixes 2023-08-14 22:01:13 +01:00
Nazar Kanaev
bed5640366 fix base font size 2023-08-14 21:25:47 +01:00
Hannes Braun
57ea83cf4f Use more recent images for GitHub Actions 2023-08-13 22:29:41 +01:00
Hannes Braun
219842d723 Update minimum required Go version to 1.17 2023-08-13 22:29:41 +01:00
10 changed files with 25 additions and 29 deletions

View File

@@ -7,7 +7,7 @@ on:
jobs: jobs:
build_macos: build_macos:
name: Build for MacOS name: Build for MacOS
runs-on: macos-10.15 runs-on: macos-13
steps: steps:
- name: "Checkout" - name: "Checkout"
uses: actions/checkout@v2 uses: actions/checkout@v2
@@ -16,7 +16,7 @@ jobs:
- name: "Setup Go" - name: "Setup Go"
uses: actions/setup-go@v2 uses: actions/setup-go@v2
with: with:
go-version: '^1.16' go-version: '^1.17'
- name: Cache Go Modules - name: Cache Go Modules
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
@@ -34,7 +34,7 @@ jobs:
build_windows: build_windows:
name: Build for Windows name: Build for Windows
runs-on: windows-2019 runs-on: windows-2022
steps: steps:
- name: "Checkout" - name: "Checkout"
uses: actions/checkout@v2 uses: actions/checkout@v2
@@ -43,7 +43,7 @@ jobs:
- name: "Setup Go" - name: "Setup Go"
uses: actions/setup-go@v2 uses: actions/setup-go@v2
with: with:
go-version: '^1.16' go-version: '^1.17'
- name: Cache Go Modules - name: Cache Go Modules
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
@@ -61,7 +61,7 @@ jobs:
build_linux: build_linux:
name: Build for Linux name: Build for Linux
runs-on: ubuntu-18.04 runs-on: ubuntu-22.04
steps: steps:
- name: "Checkout" - name: "Checkout"
uses: actions/checkout@v2 uses: actions/checkout@v2
@@ -70,7 +70,7 @@ jobs:
- name: "Setup Go" - name: "Setup Go"
uses: actions/setup-go@v2 uses: actions/setup-go@v2
with: with:
go-version: '^1.16' go-version: '^1.17'
- name: Cache Go Modules - name: Cache Go Modules
uses: actions/cache@v2 uses: actions/cache@v2
with: with:

View File

@@ -1,6 +1,6 @@
## Compilation ## Compilation
Install `Go >= 1.16` and `GCC`. Get the source code: Install `Go >= 1.17` and `GCC`. Get the source code:
git clone https://github.com/nkanaev/yarr.git git clone https://github.com/nkanaev/yarr.git

4
go.mod
View File

@@ -1,9 +1,11 @@
module github.com/nkanaev/yarr module github.com/nkanaev/yarr
go 1.16 go 1.17
require ( require (
github.com/mattn/go-sqlite3 v1.14.7 github.com/mattn/go-sqlite3 v1.14.7
golang.org/x/net v0.8.0 golang.org/x/net v0.8.0
golang.org/x/sys v0.6.0 golang.org/x/sys v0.6.0
) )
require golang.org/x/text v0.8.0 // indirect

View File

@@ -1,4 +1,4 @@
VERSION=2.3 VERSION=2.4
GITHASH=$(shell git rev-parse --short=8 HEAD) GITHASH=$(shell git rev-parse --short=8 HEAD)
CGO_ENABLED=1 CGO_ENABLED=1

View File

@@ -133,7 +133,7 @@
:class="{'d-none': filterSelected :class="{'d-none': filterSelected
&& !(current.folder.id == folder.id || current.feed.folder_id == folder.id) && !(current.folder.id == folder.id || current.feed.folder_id == folder.id)
&& !filteredFolderStats[folder.id] && !filteredFolderStats[folder.id]
&& (!itemSelectedDetails || feedsById[itemSelectedDetails.feed_id].folder_id != folder.id)}"> && (!itemSelectedDetails || (feedsById[itemSelectedDetails.feed_id] || {}).folder_id != folder.id)}">
<input type="radio" name="feed" :value="'folder:'+folder.id" v-model="feedSelected" v-if="folder.id"> <input type="radio" name="feed" :value="'folder:'+folder.id" v-model="feedSelected" v-if="folder.id">
<div class="selectgroup-label d-flex align-items-center w-100" v-if="folder.id"> <div class="selectgroup-label d-flex align-items-center w-100" v-if="folder.id">
<span class="icon mr-2" <span class="icon mr-2"
@@ -274,7 +274,7 @@
<span class="icon icon-small mr-1" v-if="item.status=='starred'">{% inline "star-full.svg" %}</span> <span class="icon icon-small mr-1" v-if="item.status=='starred'">{% inline "star-full.svg" %}</span>
</transition> </transition>
<small class="flex-fill text-truncate mr-1"> <small class="flex-fill text-truncate mr-1">
{{ feedsById[item.feed_id].title }} {{ (feedsById[item.feed_id] || {}).title }}
</small> </small>
<small class="flex-shrink-0"><relative-time v-bind:title="formatDate(item.date)" :val="item.date"/></small> <small class="flex-shrink-0"><relative-time v-bind:title="formatDate(item.date)" :val="item.date"/></small>
</div> </div>
@@ -338,7 +338,7 @@
<div class="content-wrapper"> <div class="content-wrapper">
<h1><b>{{ itemSelectedDetails.title || 'untitled' }}</b></h1> <h1><b>{{ itemSelectedDetails.title || 'untitled' }}</b></h1>
<div class="text-muted"> <div class="text-muted">
<div>{{ feedsById[itemSelectedDetails.feed_id].title }}</div> <div>{{ (feedsById[itemSelectedDetails.feed_id] || {}).title }}</div>
<time>{{ formatDate(itemSelectedDetails.date) }}</time> <time>{{ formatDate(itemSelectedDetails.date) }}</time>
</div> </div>
<hr> <hr>

View File

@@ -410,6 +410,7 @@ var vm = new Vue({
refreshItems: function(loadMore) { refreshItems: function(loadMore) {
if (this.feedSelected === null) { if (this.feedSelected === null) {
vm.items = [] vm.items = []
vm.itemsHasMore = false
return return
} }
@@ -516,10 +517,7 @@ var vm = new Vue({
deleteFolder: function(folder) { deleteFolder: function(folder) {
if (confirm('Are you sure you want to delete ' + folder.title + '?')) { if (confirm('Are you sure you want to delete ' + folder.title + '?')) {
api.folders.delete(folder.id).then(function() { api.folders.delete(folder.id).then(function() {
if (vm.feedSelected === 'folder:'+folder.id) { vm.feedSelected = null
vm.items = []
vm.feedSelected = ''
}
vm.refreshStats() vm.refreshStats()
vm.refreshFeeds() vm.refreshFeeds()
}) })
@@ -536,12 +534,7 @@ var vm = new Vue({
deleteFeed: function(feed) { deleteFeed: function(feed) {
if (confirm('Are you sure you want to delete ' + feed.title + '?')) { if (confirm('Are you sure you want to delete ' + feed.title + '?')) {
api.feeds.delete(feed.id).then(function() { api.feeds.delete(feed.id).then(function() {
// unselect feed to prevent reading properties of null in template vm.feedSelected = null
var isSelected = !vm.feedSelected
|| (vm.feedSelected === 'feed:'+feed.id
|| (feed.folder_id && vm.feedSelected === 'folder:'+feed.folder_id));
if (isSelected) vm.feedSelected = null
vm.refreshStats() vm.refreshStats()
vm.refreshFeeds() vm.refreshFeeds()
}) })

View File

@@ -2,8 +2,11 @@
display: none !important; display: none !important;
} }
body { html {
font-size: 15px !important; font-size: 15px !important;
}
body {
overscroll-behavior: none; overscroll-behavior: none;
} }

View File

@@ -1,3 +0,0 @@
module github.com/mattn/go-sqlite3
go 1.12

View File

7
vendor/modules.txt vendored
View File

@@ -1,16 +1,17 @@
# github.com/mattn/go-sqlite3 v1.14.7 # github.com/mattn/go-sqlite3 v1.14.7
## explicit ## explicit; go 1.12
github.com/mattn/go-sqlite3 github.com/mattn/go-sqlite3
# golang.org/x/net v0.8.0 # golang.org/x/net v0.8.0
## explicit ## explicit; go 1.17
golang.org/x/net/html golang.org/x/net/html
golang.org/x/net/html/atom golang.org/x/net/html/atom
golang.org/x/net/html/charset golang.org/x/net/html/charset
# golang.org/x/sys v0.6.0 # golang.org/x/sys v0.6.0
## explicit ## explicit; go 1.17
golang.org/x/sys/internal/unsafeheader golang.org/x/sys/internal/unsafeheader
golang.org/x/sys/windows golang.org/x/sys/windows
# golang.org/x/text v0.8.0 # golang.org/x/text v0.8.0
## explicit; go 1.17
golang.org/x/text/encoding golang.org/x/text/encoding
golang.org/x/text/encoding/charmap golang.org/x/text/encoding/charmap
golang.org/x/text/encoding/htmlindex golang.org/x/text/encoding/htmlindex