diff --git a/src/digimarks/static/css/digimarks.css b/src/digimarks/static/css/digimarks.css index 2ebe78e..8267190 100644 --- a/src/digimarks/static/css/digimarks.css +++ b/src/digimarks/static/css/digimarks.css @@ -15,3 +15,18 @@ button:hover { button:focus { border-color: #d57803; } + +.cards { + grid-column-gap: 1rem; + grid-row-gap: 1rem; + grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); +} + +.card { + background-color: #fff; + border: 1px solid #d5d9d9; + border-radius: 8px; + box-shadow: rgba(213, 217, 217, .5) 0 2px 5px 0; + /*margin: 1em;*/ + padding: 1em; +} \ No newline at end of file diff --git a/src/digimarks/static/css/digui.css b/src/digimarks/static/css/digui.css index 01a2fa9..89de6f1 100644 --- a/src/digimarks/static/css/digui.css +++ b/src/digimarks/static/css/digui.css @@ -3,6 +3,8 @@ * v0.0.1 */ +/* Main structure */ + body { height: 125vh; font-family: sans-serif; @@ -45,6 +47,7 @@ header li a { background-color: #cccccc; } +/* Buttons */ button { background-color: #fff; border: 1px solid #d5d9d9; @@ -76,3 +79,12 @@ button:focus { box-shadow: rgba(213, 217, 217, .5) 0 2px 5px 0; outline: 0; } + +/* Cards */ +.cards { + display: grid; +} + +.card { + display: inline-grid; +} \ No newline at end of file diff --git a/src/digimarks/static/js/digimarks.js b/src/digimarks/static/js/digimarks.js index d78d81e..6ac72c7 100644 --- a/src/digimarks/static/js/digimarks.js +++ b/src/digimarks/static/js/digimarks.js @@ -10,6 +10,8 @@ document.addEventListener('alpine:init', () => { tags: [], show_bookmarks: Alpine.$persist(true).as('show_bookmarks'), + show_bookmarks_list: Alpine.$persist(true).as('show_bookmarks_list'), + show_bookmarks_cards: Alpine.$persist(false).as('show_bookmarks_cards'), show_tags: Alpine.$persist(false).as('show_tags'), /* Loading indicator */ @@ -36,6 +38,7 @@ document.addEventListener('alpine:init', () => { // this.countDownTimer(); }, 1000); }, + async loadCache() { if (this.userKey in this.cache) { console.log('Loading bookmarks from cache for user "' + this.userKey + '"'); @@ -77,6 +80,7 @@ document.addEventListener('alpine:init', () => { this.loading = false; }, + get filteredBookmarks() { // return this.cache[this.userKey]['bookmarks'].filter( // i => i.title.includes(this.search) @@ -91,6 +95,7 @@ document.addEventListener('alpine:init', () => { i => i.match(new RegExp(this.search, "i")) ) }, + async sortAlphabetically(order = 'asc') { this.sort_created_asc = false; this.sort_created_desc = false; @@ -117,19 +122,15 @@ document.addEventListener('alpine:init', () => { this.bookmarks.sort((a, b) => a.created_date.localeCompare(b.created_date)); } }, + async toggleTagPage() { console.log('Toggle tag page'); this.show_bookmarks = !this.show_bookmarks; this.show_tags = !this.show_bookmarks; - /* - if (this.show_bookmarks) { - this.show_tags = true; - this.show_bookmarks = false; - } else { - this.show_bookmarks = true; - this.show_tags = false; - } - */ + }, + async toggleListOrGrid() { + this.show_bookmarks_list = !this.show_bookmarks_list; + this.show_bookmarks_cards = !this.show_bookmarks_list; } }) }); diff --git a/src/digimarks/templates/user_index.html b/src/digimarks/templates/user_index.html index c1fb386..1431d9c 100644 --- a/src/digimarks/templates/user_index.html +++ b/src/digimarks/templates/user_index.html @@ -41,13 +41,26 @@ +

-