소스 검색

enable default orderBy

Daniel Bohry 9 달 전
부모
커밋
e3f7fb5e27
2개의 변경된 파일28개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      src/routes/portfolio/+page.svelte
  2. 23 0
      src/routes/profile/+page.svelte

+ 5 - 2
src/routes/portfolio/+page.svelte

@@ -15,7 +15,7 @@
 	let isLoading = true;
 	let showModal = false;
 	let searchStockResult = [];
-	let orderBy = 'total';
+	let orderBy;
 	let currency;
 	let hasChanges = false;
 	let showDeleteConfirm = false;
@@ -48,6 +48,9 @@
 				const defaultCurrency = localStorage.getItem('defaultCurrency');
 				currency = defaultCurrency || 'USD';
 
+				const defaultOrder = localStorage.getItem('defaultOrder');
+				orderBy = defaultOrder || 'total';
+
 				authToken = auth.token;
 				await fetchPortfolio();
 			}
@@ -309,7 +312,7 @@
 			<option value="USD" selected>USD</option>
 		</select>
 
-		<select class="form-control order-select" on:change={updateOrderBy}>
+		<select class="form-control order-select" on:change={updateOrderBy} value="{orderBy}">
 			<option value="code">Order by Code</option>
 			<option value="name">Order by Name</option>
 			<option value="total" selected>Order by Total</option>

+ 23 - 0
src/routes/profile/+page.svelte

@@ -8,6 +8,7 @@
 	let isLoading = true;
 	let user = null;
 	let currency = 'USD';
+	let orderBy = 'total';
 
 	$: authentication.subscribe((value) => {
 		isAuthenticated = !!value;
@@ -31,6 +32,14 @@
 			} else {
 				localStorage.setItem('defaultCurrency', 'USD');
 			}
+
+			const defaultOrder = localStorage.getItem('defaultOrder');
+			if(defaultOrder) {
+				orderBy = defaultOrder;
+			} else {
+				localStorage.setItem('defaultOrder', 'total');
+			}
+
 		} catch (error) {
 			console.error('Error parsing stored auth:', error);
 		} finally {
@@ -47,6 +56,11 @@
 		localStorage.setItem('defaultCurrency', currency);
 	}
 
+	function updateOrderBy(event) {
+		orderBy = event.target.value;
+		localStorage.setItem('defaultOrder', orderBy);
+	}
+
 </script>
 
 <svelte:head>
@@ -68,6 +82,15 @@
 			</select>
 		</div>
 
+		<div class="button-container">
+			<select class="form-control order-select" on:change={updateOrderBy} value={orderBy}>
+				<option value="code">Order by Code</option>
+				<option value="name">Order by Name</option>
+				<option value="total" selected>Order by Total</option>
+				<option value="weight">Order by Weight</option>
+			</select>
+		</div>
+
 		<div class="button-container">
 			<select class="form-control order-select">
 				<option value="light">Light</option>