whoops, forgot to push to GH
This commit is contained in:
@@ -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,
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 () => {
|
||||||
|
try {
|
||||||
await vaultsService.getVault(route.params.id);
|
await vaultsService.getVault(route.params.id);
|
||||||
await vaultsService.getVaultKeeps(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()
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user