diff --git a/docs/implementation-plan/06-phase-6-data.md b/docs/implementation-plan/06-phase-6-data.md index 6e9e587..22c27bb 100644 --- a/docs/implementation-plan/06-phase-6-data.md +++ b/docs/implementation-plan/06-phase-6-data.md @@ -1,4 +1,4 @@ -# Phase 6: Encrypted Data Layer +# Phase 6: Encrypted Data Layer ✅ ## Step 24 — Supabase API Adapter ✅ diff --git a/docs/implementation-plan/README.md b/docs/implementation-plan/README.md index 674d1cc..83bc763 100644 --- a/docs/implementation-plan/README.md +++ b/docs/implementation-plan/README.md @@ -61,9 +61,9 @@ This is the implementation plan for Cipher Note, an end-to-end encrypted note-ta - [x] Step 21 — Login Crypto Flow - [x] Step 22 — Login UI + Vault Unlock - [x] Step 23 — Non-Extractable Key Vault + Zustand Store Refactor -- [ ] Step 24 — Supabase API Adapter -- [ ] Step 25 — Encrypted Field CRUD -- [ ] Step 26 — Auto-Save + Sync Flow +- [x] Step 24 — Supabase API Adapter +- [x] Step 25 — Encrypted Field CRUD +- [x] Step 26 — Auto-Save + Sync Flow - [ ] Step 27 — Supabase Realtime Adapter - [ ] Step 28 — Multi-Device Session Handling - [ ] Step 29 — Change Password Flow + UI diff --git a/src/app/layouts/ProtectedLayout.tsx b/src/app/layouts/ProtectedLayout.tsx index 93b35de..4da2f77 100644 --- a/src/app/layouts/ProtectedLayout.tsx +++ b/src/app/layouts/ProtectedLayout.tsx @@ -9,6 +9,7 @@ import { MobileNav } from './MobileNav' import { ResizeHandle } from '@/shared/ui/nav/ResizeHandle' import { VaultIndicator } from '@/features/encryption/ui/VaultIndicator' import { VaultUnlockDialog } from '@/features/encryption/ui/VaultUnlockDialog' +import { OfflineBanner } from '@/shared/ui/OfflineBanner' import { useUiStore } from '@/features/settings/model/ui-store' import { useResizable } from '@/shared/lib/use-resizable' import { useVaultTimeout } from '@/features/encryption/model/use-vault-timeout' @@ -35,7 +36,7 @@ function ProtectedLayout() {
{/* Desktop sidebar */}