whoops, forgot to push to GH

This commit is contained in:
Annika
2022-08-05 15:50:08 -06:00
parent dc4bebb13e
commit 11bd724fb9
8 changed files with 40 additions and 26 deletions
+5
View File
@@ -27,4 +27,9 @@ export default {
<style lang="scss"> <style lang="scss">
@import "./assets/scss/main.scss"; @import "./assets/scss/main.scss";
footer a {
// font-family: cursive;
color: #e9ecef;
}
</style> </style>
@@ -53,6 +53,7 @@ export default {
img: String, img: String,
views: Number, views: Number,
kept: Number, kept: Number,
vaultKeepId: Number,
creator: { creator: {
id: String, id: String,
name: String, name: String,
+3 -3
View File
@@ -8,7 +8,7 @@
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<h3 class="card-title">New Keep</h3> <h3 class="card-title">New Keep</h3>
<!-- <form> --> <form @submit.prevent="createKeep()">
<div class="mb-1"> <div class="mb-1">
<label for="keepTitle" class="form-label">Title</label> <label for="keepTitle" class="form-label">Title</label>
<input type="text" id="keepTitle" name="keepTitle" v-model="name" placeholder="Title..." <input type="text" id="keepTitle" name="keepTitle" v-model="name" placeholder="Title..."
@@ -27,8 +27,8 @@
<label for="keepTags" class="form-label">Tags</label> <label for="keepTags" class="form-label">Tags</label>
<input type="text" id="keepTags" name="keepTags" v-model="img" placeholder="Tags..." class="form-control"> <input type="text" id="keepTags" name="keepTags" v-model="img" placeholder="Tags..." class="form-control">
</div> --> </div> -->
<button @click="createKeep()" class="btn btn-primary">Create</button> <button type="submit" class="btn btn-primary">Create</button>
<!-- </form> --> </form>
</div> </div>
</div> </div>
</div> </div>
@@ -1,6 +1,6 @@
<template> <template>
<div class="d-flex justify-content-between align-items-end"> <div class="d-flex justify-content-between align-items-end">
<div></div> <!-- <div></div> -->
<button v-if="account.id == vault.creatorId" @click="removeFromVault(keep.id)" class="btn btn-outline-secondary">Remove from Vault</button> <button v-if="account.id == vault.creatorId" @click="removeFromVault(keep.id)" class="btn btn-outline-secondary">Remove from Vault</button>
<i v-show="account.id == keep.creatorId" @click="deleteKeep()" class="mdi mdi-delete-outline text-secondary" title="Delete"></i> <i v-show="account.id == keep.creatorId" @click="deleteKeep()" class="mdi mdi-delete-outline text-secondary" title="Delete"></i>
@@ -20,6 +20,7 @@ import { Modal } from 'bootstrap'
import { logger } from '../utils/Logger.js' import { logger } from '../utils/Logger.js'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { vaultKeepsService } from '../services/VaultKeepsService' import { vaultKeepsService } from '../services/VaultKeepsService'
import { keepsService } from '../services/KeepsService'
export default { export default {
props: { props: {
keep: { keep: {
@@ -53,12 +54,15 @@ export default {
}, },
async removeFromVault() { async removeFromVault() {
// props.keep don't have vaultKeepId...
logger.log(props.keep)
await vaultKeepsService.delete(props.keep.vaultKeepId) await vaultKeepsService.delete(props.keep.vaultKeepId)
Modal.getOrCreateInstance(document.getElementById("keepModal")).hide(); Modal.getOrCreateInstance(document.getElementById("keepModal")).hide();
}, },
async deleteKeep() { async deleteKeep() {
await keepsService.delete(props.keep.id) await keepsService.delete(props.keep.id)
await vaultKeepsService.delete(props.keep.vaultKeepId)
Modal.getOrCreateInstance(document.getElementById("keepModal")).hide(); Modal.getOrCreateInstance(document.getElementById("keepModal")).hide();
// do more things // do more things
} }
+14 -5
View File
@@ -19,7 +19,7 @@
</div> </div>
</div> </div>
<KeepModal :keep="activeKeep"> <KeepModal :keep="activeKeep">
<VaultKeepModalButtons :keep="activeKeep" /> <VaultKeepModalButtons :keep="activeKeep" />
</KeepModal> </KeepModal>
</div> </div>
</template> </template>
@@ -38,13 +38,20 @@ import KeepTile from '../components/KeepTile.vue';
import KeepModal from '../components/KeepModal.vue'; import KeepModal from '../components/KeepModal.vue';
import KeepModalButtons from '../components/KeepModalButtons.vue'; import KeepModalButtons from '../components/KeepModalButtons.vue';
import { vaultKeepsService } from '../services/VaultKeepsService'; import { vaultKeepsService } from '../services/VaultKeepsService';
import Pop from '../utils/Pop';
export default { export default {
setup() { setup() {
const route = useRoute(); const route = useRoute();
const router = useRouter() const router = useRouter()
onMounted(async () => { onMounted(async () => {
await vaultsService.getVault(route.params.id); try {
await vaultsService.getVaultKeeps(route.params.id); await vaultsService.getVault(route.params.id);
await vaultsService.getVaultKeeps(route.params.id);
} catch (error) {
logger.error(error)
Pop.toast(error) // .error has issues
router.push({name: 'Home'})
}
}); });
return { return {
vault: computed(() => AppState.activeVault), vault: computed(() => AppState.activeVault),
@@ -52,10 +59,12 @@ export default {
activeKeep: computed(() => AppState.activeKeep), activeKeep: computed(() => AppState.activeKeep),
account: computed(() => AppState.account), account: computed(() => AppState.account),
viewKeep(keep) { async viewKeep(keep) {
// AppState.activeKeep = keep // AppState.activeKeep = keep
// make API call to trigger view counter // make API call to trigger view counter
keepsService.getById(keep.id) // debugger
await keepsService.getById(keep.id)
AppState.activeKeep = keep
Modal.getOrCreateInstance(document.getElementById('keepModal')).show() Modal.getOrCreateInstance(document.getElementById('keepModal')).show()
}, },
+5 -3
View File
@@ -1,5 +1,5 @@
import { createRouter, createWebHashHistory } from 'vue-router' import { createRouter, createWebHashHistory } from 'vue-router'
import { authGuard } from '@bcwdev/auth0provider-client' import { authGuard, authSettled } from '@bcwdev/auth0provider-client'
function loadPage(page) { function loadPage(page) {
return () => import(`./pages/${page}.vue`) return () => import(`./pages/${page}.vue`)
@@ -14,12 +14,14 @@ const routes = [
{ {
path: '/profile/:id', path: '/profile/:id',
name: 'Profile', name: 'Profile',
component: loadPage('ProfilePage') component: loadPage('ProfilePage'),
beforeEnter: authSettled
}, },
{ {
path: '/vault/:id', path: '/vault/:id',
name: 'Vault', name: 'Vault',
component: loadPage('VaultPage') component: loadPage('VaultPage'),
beforeEnter: authSettled
} }
] ]
+5 -11
View File
@@ -4,26 +4,20 @@ import { api } from './AxiosService'
import Pop from '../utils/Pop' import Pop from '../utils/Pop'
import { profilesService } from './ProfilesService' import { profilesService } from './ProfilesService'
import { vaultKeepsService } from './VaultKeepsService' import { vaultKeepsService } from './VaultKeepsService'
// import { useRouter, useRoute } from 'vue-router'
class VaultsService { class VaultsService {
async getVault(vaultId) { async getVault(vaultId) {
try { logger.log('gv')
logger.log(vaultId)
const res = await api.get('api/vaults/' + vaultId) const res = await api.get('api/vaults/' + vaultId)
AppState.activeVault = res.data AppState.activeVault = res.data
} catch (error) {
logger.error(error)
Pop.error(error)
}
} }
async getVaultKeeps(vaultId) { async getVaultKeeps(vaultId) {
try { logger.log('gvk')
logger.log(vaultId)
const res = await api.get('api/vaults/' + vaultId + '/keeps') const res = await api.get('api/vaults/' + vaultId + '/keeps')
AppState.vaultKeeps = res.data AppState.vaultKeeps = res.data
} catch (error) {
logger.error(error)
Pop.error(error)
}
} }
async createVault(vaultData) { async createVault(vaultData) {
+1 -2
View File
@@ -3,7 +3,6 @@ using keepr.Models;
using keepr.Services; using keepr.Services;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using CodeWorks.Auth0Provider; using CodeWorks.Auth0Provider;
using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
@@ -63,7 +62,7 @@ namespace keepr.Controllers
} }
[HttpGet("{vaultId}/keeps")] [HttpGet("{vaultId}/keeps")]
public async Task<ActionResult<List<Keep>>> GetVaultKeeps(int vaultId) public async Task<ActionResult<List<KeepVaultViewModel>>> GetVaultKeeps(int vaultId)
{ {
try try
{ {