diff --git a/frontend/src/components/SettingsView.vue b/frontend/src/components/SettingsView.vue
index 4e71ba5..f6085b9 100644
--- a/frontend/src/components/SettingsView.vue
+++ b/frontend/src/components/SettingsView.vue
@@ -64,14 +64,114 @@
+
+
Cook History
+
+ No recipes cooked yet. Tap "I cooked this" on any recipe to log it.
+
+
+
+
+ {{ entry.title }}
+ {{ formatCookDate(entry.cookedAt) }}
+
+
+
+
+
+
+
+
+
Household
+
+
+
Loading…
+
+
+
{{ householdError }}
+
+
+
+
+ Create a household to share your pantry with family or housemates.
+ All members see and edit the same inventory.
+
+
+
+
+
+
+
+ Household ID: {{ householdStatus.household_id }}
+
+
+
+
+ Members ({{ householdStatus.members.length }}/{{ householdStatus.max_seats }})
+
+
+ {{ m.user_id }}
+ Owner
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You are a member of this shared household pantry.
+
+
+
+
+
@@ -159,4 +344,110 @@ onMounted(async () => {
opacity: 1;
transform: none;
}
+
+.mt-md {
+ margin-top: var(--spacing-md);
+}
+
+.mt-sm {
+ margin-top: var(--spacing-sm);
+}
+
+.log-list {
+ display: flex;
+ flex-direction: column;
+ gap: 2px;
+}
+
+.log-entry {
+ display: flex;
+ justify-content: space-between;
+ align-items: baseline;
+ gap: var(--spacing-sm);
+ padding: var(--spacing-xs) 0;
+ border-bottom: 1px solid var(--color-border);
+}
+
+.log-entry:last-child {
+ border-bottom: none;
+}
+
+.log-title {
+ flex: 1;
+ min-width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+
+.log-date {
+ flex-shrink: 0;
+}
+
+.btn-ghost {
+ background: transparent;
+ border: none;
+ color: var(--color-text-muted);
+ font-size: var(--font-size-sm);
+ cursor: pointer;
+ padding: var(--spacing-xs) var(--spacing-sm);
+}
+
+.btn-ghost:hover {
+ color: var(--color-error, #dc2626);
+ background: transparent;
+ transform: none;
+}
+
+.btn-sm {
+ padding: var(--spacing-xs) var(--spacing-sm);
+ font-size: var(--font-size-sm);
+}
+
+.household-id {
+ font-size: var(--font-size-xs);
+ background: var(--color-bg-secondary);
+ padding: 2px 6px;
+ border-radius: 4px;
+}
+
+.member-list {
+ display: flex;
+ flex-direction: column;
+ gap: 2px;
+}
+
+.member-row {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: var(--spacing-xs) 0;
+ border-bottom: 1px solid var(--color-border);
+ gap: var(--spacing-sm);
+}
+
+.member-row:last-child {
+ border-bottom: none;
+}
+
+.member-id {
+ flex: 1;
+ min-width: 0;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ color: var(--color-text-secondary);
+}
+
+.invite-row {
+ display: flex;
+ gap: var(--spacing-xs);
+ align-items: center;
+}
+
+.invite-input {
+ flex: 1;
+ font-size: var(--font-size-xs);
+ color: var(--color-text-muted);
+}