diff --git a/app/(homescreens)/add-cards/page.tsx b/app/(homescreens)/add-cards/page.tsx index d250b45..804fda8 100644 --- a/app/(homescreens)/add-cards/page.tsx +++ b/app/(homescreens)/add-cards/page.tsx @@ -1,3 +1,57 @@ +import { PredefinedCompanies, Routes } from '@/app/lib/shared'; +import { PrimaryHeader } from '@/app/ui/primary-header'; +import { + IconGift, + IconLayoutGrid, + IconPlus, + IconSearch, +} from '@tabler/icons-react'; +import Link from 'next/link'; + export default function Page() { - return
Add cards
; + return ( +
+ + + + } + > + <> +
+ +
+ + +
+
+ +
+
+ ); } diff --git a/app/(homescreens)/layout.module.css b/app/(homescreens)/layout.module.css new file mode 100644 index 0000000..47f33a3 --- /dev/null +++ b/app/(homescreens)/layout.module.css @@ -0,0 +1,6 @@ +.bottomBarNavHeight { + height: var(--bottom-bar-height); +} +.childrenHeight { + height: calc(100vh - var(--bottom-bar-height)); +} diff --git a/app/(homescreens)/layout.tsx b/app/(homescreens)/layout.tsx index ce975e1..f8960c7 100644 --- a/app/(homescreens)/layout.tsx +++ b/app/(homescreens)/layout.tsx @@ -1,10 +1,17 @@ import BottomNavigationLinks from '@/app/ui/bottom-navigation-links'; +import clsx from 'clsx'; +import styles from './layout.module.css'; export default function Layout({ children }: { children: React.ReactNode }) { return ( -
-
{children}
-
+
+
{children}
+
diff --git a/app/add-card/page.tsx b/app/add-card/page.tsx new file mode 100644 index 0000000..c749c5b --- /dev/null +++ b/app/add-card/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
Scan card page
; +} diff --git a/app/globals.css b/app/globals.css index 13d40b8..26917fb 100644 --- a/app/globals.css +++ b/app/globals.css @@ -5,13 +5,8 @@ :root { --background: #ffffff; --foreground: #171717; -} - -@media (prefers-color-scheme: dark) { - :root { - --background: #0a0a0a; - --foreground: #ededed; - } + --bottom-bar-height: 5rem; + /*--primary: #fc9581;*/ } body { diff --git a/app/lib/shared.ts b/app/lib/shared.ts index 3682617..1ad32c1 100644 --- a/app/lib/shared.ts +++ b/app/lib/shared.ts @@ -3,6 +3,8 @@ export enum Routes { MyCards = '/my-cards', Settings = '/settings', Offline = '/offline', + AddCard = '/add-card', + ScanCard = '/scan-card', } export enum Cookies { @@ -10,3 +12,25 @@ export enum Cookies { } export const ICON_COLOR = '#db924b'; + +export enum PredefinedCompanies { + TESCO = 'Tesco', + DM = 'Dm', + IKEA = 'Ikea', + BILLA = 'Billa', + LIDL = 'Lidl', + TERNO = 'Terno', + PET_CENTER = 'Pet center', + ALBERT = 'Albert', + GLOBUS = 'Globus', + ROSSMANN = 'Rossmann', + AUPARK = 'Aupark', + DATART = 'Datart', + KAUFLAND = 'Kaufland', + MALL = 'Mall', + NOTINO = 'Notino', + O2 = 'O2', + SPORTISIMO = 'Sportisimo', + TETA = 'Teta', + ZOOT = 'Zoot', +} diff --git a/app/scan-card/page.tsx b/app/scan-card/page.tsx new file mode 100644 index 0000000..c749c5b --- /dev/null +++ b/app/scan-card/page.tsx @@ -0,0 +1,3 @@ +export default function Page() { + return
Scan card page
; +} diff --git a/app/ui/bottom-navigation-links.tsx b/app/ui/bottom-navigation-links.tsx index abc514a..8fc1f96 100644 --- a/app/ui/bottom-navigation-links.tsx +++ b/app/ui/bottom-navigation-links.tsx @@ -31,6 +31,7 @@ export default function BottomNavigationLinks() { href={link.href} className={clsx({ active: pathname === link.href, + ['text-primary']: pathname === link.href, })} > diff --git a/app/ui/primary-header.tsx b/app/ui/primary-header.tsx new file mode 100644 index 0000000..56abe93 --- /dev/null +++ b/app/ui/primary-header.tsx @@ -0,0 +1,34 @@ +import Image from 'next/image'; + +export function PrimaryHeader({ + title, + actions, + children, +}: { + title: string; + actions?: React.ReactNode; + children?: React.ReactNode; +}) { + return ( +
+
+
+ Tilda logo +

{title}

+
+ {actions &&
{actions}
} +
+ {children && ( +
+ {children} +
+ )} +
+ ); +} diff --git a/plan.md b/plan.md index 663bb42..5bdcdf4 100644 --- a/plan.md +++ b/plan.md @@ -7,11 +7,11 @@ Features: 3. optional are with normal font - [ ] **Welcome page** - - [ ] **add navigation to my cards page** + - [x] **add navigation to add cards page** - [ ] **add navigation to about page** - [ ] Utils - [ ] add theme switching - - [ ] **implement PWA** + - [x] **implement PWA** - [x] **add homescreen menu** - [ ] **create a general search component** - [ ] **implement primary header** @@ -21,11 +21,11 @@ Features: - [ ] _fe unit tests_ - [ ] e2e tests - [ ] **Add cards page** - - [ ] **display list of predefined companies** + - [x] **display list of predefined companies** - [ ] display grid of predefined companies + switch to grid - [ ] _implement search in predefined companies_ - - [ ] **implement add card button + navigation to scan code page** - - [ ] _implement click on predefined company + navigation to create card page_ + - [x] **implement add card button + navigation to scan code page** + - [x] _implement click on predefined company + navigation to create card page_ - [ ] _Scan code page_ - [ ] _implement barcode scan_ - [ ] _implement navigation to qrcode scan + scan itself_ diff --git a/tailwind.config.ts b/tailwind.config.ts index 144ab8d..c7d495c 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -17,7 +17,7 @@ const config: Config = { }, plugins: [daisyui], daisyui: { - themes: ['coffee', 'sunset', 'acid', 'light', 'dark'], + themes: ['coffee'], }, }; export default config;