|
|
@@ -70,6 +70,28 @@
|
|
|
totalValue = portfolio[0].totalValue;
|
|
|
totalAssets = portfolio[0].totalAssets;
|
|
|
portfolioId = portfolio[0].id;
|
|
|
+ } else {
|
|
|
+ await createNewPortfolio();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ async function createNewPortfolio() {
|
|
|
+ try {
|
|
|
+ const response = await fetch(`${import.meta.env.VITE_STOCKS_HOST}/api/portfolios`, {
|
|
|
+ method: 'POST',
|
|
|
+ headers: {
|
|
|
+ Authorization: 'Bearer ' + authToken
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ if (response.status === 400) {
|
|
|
+ alert("Bad request. Invalid code.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ await fetchPortfolio();
|
|
|
+ } catch (err) {
|
|
|
+ console.error('Update failed', err);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -194,8 +216,7 @@
|
|
|
|
|
|
{#if isLoading}
|
|
|
<div in:fade>Loading...</div>
|
|
|
-{:else if result.length !== 0}
|
|
|
-
|
|
|
+{:else if portfolioId}
|
|
|
<div class="button-container">
|
|
|
<button class="btn btn-primary btn-sm" data-toggle="modal" data-target="#exampleModal" on:click={closeOrOpenModal}>Add</button>
|
|
|
|