├── components ├── Feature.tsx └── TopBar.tsx ├── src ├── core │ ├── server │ │ ├── actions │ │ │ ├── tasks │ │ │ │ ├── get-label.ts │ │ │ │ ├── get-task.ts │ │ │ │ ├── add-sub-task.ts │ │ │ │ ├── add-task-label.ts │ │ │ │ ├── create-task.ts │ │ │ │ ├── update-sub-task.ts │ │ │ │ ├── remove-task-label.ts │ │ │ │ ├── update-task-due-date.ts │ │ │ │ ├── update-task-priority.ts │ │ │ │ └── update-task-status.ts │ │ │ ├── github │ │ │ │ └── index.ts │ │ │ ├── activity-log │ │ │ │ ├── index.ts │ │ │ │ ├── fetch-activity.ts │ │ │ │ └── log-activity.ts │ │ │ ├── finance │ │ │ │ ├── index.ts │ │ │ │ ├── goals.ts │ │ │ │ ├── budget.ts │ │ │ │ └── transactions.ts │ │ │ ├── user │ │ │ │ ├── index.ts │ │ │ │ ├── action.sign-out.ts │ │ │ │ ├── action.update-user.ts │ │ │ │ └── action.sign-up.ts │ │ │ ├── index.ts │ │ │ ├── update-user-profile.ts │ │ │ ├── save-processed-text │ │ │ │ └── save-processed-text.ts │ │ │ ├── get-visitory-city.ts │ │ │ ├── activities │ │ │ │ └── create-activity.ts │ │ │ └── activity.ts │ │ ├── db │ │ │ ├── schema │ │ │ │ ├── finance │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── goals.ts │ │ │ │ │ ├── budget.ts │ │ │ │ │ └── transactions.ts │ │ │ │ ├── tasks │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── task-label.ts │ │ │ │ │ ├── label.ts │ │ │ │ │ └── task.ts │ │ │ │ ├── processed-text.ts │ │ │ │ ├── index.ts │ │ │ │ ├── parsed-ig.ts │ │ │ │ ├── activity.ts │ │ │ │ └── folders.ts │ │ │ └── index.ts │ │ └── auth │ │ │ └── client-auth-utils.ts │ ├── models │ │ ├── index.ts │ │ ├── activities.ts │ │ └── folders.z.ts │ ├── config │ │ ├── locales │ │ │ ├── locales.ts │ │ │ └── en.ts │ │ ├── fonts │ │ │ ├── geist │ │ │ │ ├── GeistVF.woff │ │ │ │ ├── GeistMonoVF.woff │ │ │ │ └── font.geist.ts │ │ │ ├── font.pt_mono.ts │ │ │ ├── font.bricolage_grotesque.ts │ │ │ └── fonts.ts │ │ ├── menu-items │ │ │ ├── design-system-menu.items.ts │ │ │ └── dashboard-navigation-menu-items.ts │ │ ├── nav.ts │ │ └── metadata │ │ │ └── dashboard.metadata.ts │ ├── constants │ │ ├── cn-tw.ts │ │ ├── animations.ts │ │ └── generate-uuid.ts │ ├── hooks │ │ ├── _hook_helpers │ │ │ ├── use-isomorphic-layout-effect.ts │ │ │ └── use-event-callback.ts │ │ ├── index.ts │ │ ├── use-mouse-hover.ts │ │ ├── use-skeleton-loader.ts │ │ └── use-copy-clipboard.ts │ ├── stores │ │ ├── index.ts │ │ ├── store.sub-sidebar.ts │ │ ├── store.main.sidebar.ts │ │ ├── store.notes.ts │ │ ├── store.dismiss-notification.ts │ │ ├── store.theme.ts │ │ ├── store.toasts.ts │ │ ├── store.site-settings.ts │ │ ├── store.parsed.ts │ │ └── store.file-tree.ts │ └── scripts │ │ └── fix-imports │ │ └── optimize-iu-imports.mdx ├── app │ ├── dashboard │ │ ├── finance │ │ │ ├── _components │ │ │ │ ├── display-goal.tsxpwd │ │ │ │ └── summary-card.tsx │ │ │ ├── layout.tsx │ │ │ └── page.tsx │ │ ├── folders │ │ │ ├── _hooks │ │ │ │ └── use-file-operations.ts │ │ │ └── _components │ │ │ │ └── folder-context-menu.tsx │ │ ├── activity │ │ │ └── page.tsx │ │ ├── ig-follower-parser │ │ │ └── page.tsx │ │ ├── media-recorder │ │ │ └── page.tsx │ │ ├── text-processor │ │ │ ├── page.tsx │ │ │ └── id-username │ │ │ │ └── page.tsx │ │ ├── tasks │ │ │ └── page.tsx │ │ ├── layout.client.tsx │ │ ├── client-wrapper.tsx │ │ ├── layout.tsx │ │ └── profile │ │ │ └── get-user-profile.ts │ ├── (non-dashboard) │ │ ├── (landing) │ │ │ ├── _components │ │ │ │ ├── effects │ │ │ │ │ ├── lights.tsx │ │ │ │ │ └── home-lights.tsx │ │ │ │ ├── horizontal-line.tsx │ │ │ │ ├── footer │ │ │ │ │ └── footer.d.ts │ │ │ │ ├── hero │ │ │ │ │ ├── ZenWealth │ │ │ │ │ │ ├── Description.tsx │ │ │ │ │ │ ├── Header.tsx │ │ │ │ │ │ ├── ZenWealthContainer.tsx │ │ │ │ │ │ └── ZenWealth.tsx │ │ │ │ │ ├── hero.tsx │ │ │ │ │ └── hero.module.scss │ │ │ │ ├── navigation │ │ │ │ │ ├── header.d.ts │ │ │ │ │ └── _components │ │ │ │ │ │ ├── sign-in-button.tsx │ │ │ │ │ │ └── logo.tsx │ │ │ │ ├── powered-by │ │ │ │ │ ├── integration-title.tsx │ │ │ │ │ ├── integration-title.module.scss │ │ │ │ │ ├── Marquee.tsx │ │ │ │ │ └── carousel-brands.ts │ │ │ │ ├── feature │ │ │ │ │ └── _components │ │ │ │ │ │ └── emoji-badges.tsx │ │ │ │ ├── text-marquee │ │ │ │ │ └── MarqueeItems.tsx │ │ │ │ └── logo-section │ │ │ │ │ └── logos.module.scss │ │ │ ├── styles │ │ │ │ └── modules │ │ │ │ │ ├── noise.png │ │ │ │ │ ├── horizontal-line.module.css │ │ │ │ │ ├── noise.module.css │ │ │ │ │ └── lights.module.scss │ │ │ └── layout.tsx │ │ ├── docs │ │ │ └── layout.tsx │ │ ├── (miscellaneous) │ │ │ ├── hooks-showcase │ │ │ │ ├── palette │ │ │ │ │ └── page.tsx │ │ │ │ └── geolocation │ │ │ │ │ └── page.tsx │ │ │ ├── layout.tsx │ │ │ ├── changelog │ │ │ │ └── layout.tsx │ │ │ ├── old-landing │ │ │ │ └── page.tsx │ │ │ └── design-system │ │ │ │ └── _components │ │ │ │ └── DesignSystemWrapper.tsx │ │ ├── layout.tsx │ │ └── (auth) │ │ │ └── layout.tsx │ ├── favicon.ico │ ├── opengraph-image.png │ ├── api │ │ ├── auth │ │ │ ├── session │ │ │ │ └── route.ts │ │ │ └── logout │ │ │ │ └── route.ts │ │ └── account │ │ │ └── route.ts │ ├── loading.tsx │ ├── robots.ts │ ├── layout.tsx │ └── sitemap.ts ├── styles │ ├── themes │ │ └── _theme-selector.scss │ ├── utillities │ │ └── _utillities.scss │ ├── app.scss │ ├── components │ │ ├── _mouse-grid.scss │ │ ├── _scrollar.scss │ │ └── _hover-efffect.scss │ └── core │ │ └── _typography.scss ├── components │ ├── atoms │ │ ├── index.ts │ │ ├── Center.tsx │ │ └── Spacer.tsx │ ├── elements │ │ ├── index.ts │ │ ├── display-code │ │ │ └── code-highlight │ │ │ │ ├── types.code-highlight.ts │ │ │ │ ├── CodeContent.tsx │ │ │ │ └── FileHeader.tsx │ │ └── crud │ │ │ ├── add-note-modal.tsx │ │ │ └── confirmation-modal.tsx │ ├── _old-landing │ │ ├── footer.tsx │ │ └── Hero │ │ │ ├── Maq.tsx │ │ │ └── Gradual-spacing.tsx │ ├── ThemeProvider.tsx │ ├── ui │ │ ├── collapsible.tsx │ │ ├── skeleton.tsx │ │ ├── animations.ts │ │ ├── icon.tsx │ │ ├── label.tsx │ │ ├── progress.tsx │ │ ├── separator.tsx │ │ ├── useFormField.tsx │ │ ├── sonner.tsx │ │ ├── toaster.tsx │ │ ├── textarea.tsx │ │ ├── input.tsx │ │ ├── slider.tsx │ │ ├── index.ts │ │ ├── checkbox.tsx │ │ ├── marquee.tsx │ │ ├── switch.tsx │ │ ├── badge.tsx │ │ ├── tooltip.tsx │ │ ├── hover-card.tsx │ │ ├── popover.tsx │ │ ├── toggle.tsx │ │ ├── avatar.tsx │ │ ├── radio-group.tsx │ │ └── simple-checkbox.tsx │ ├── effects │ │ ├── loaders │ │ │ ├── heartbeat-loader.tsx │ │ │ ├── skeleton.tsx │ │ │ ├── skeleton-loader.tsx │ │ │ └── loading-dots.tsx │ │ ├── fade-in.tsx │ │ ├── card-spotlight │ │ │ ├── use-mouse-position.ts │ │ │ └── useMousePosition.ts │ │ ├── blur-in.tsx │ │ ├── show-hide.tsx │ │ ├── number-ticker.tsx │ │ └── ripple.tsx │ ├── dashboard │ │ ├── features │ │ │ ├── activity │ │ │ │ ├── activities.d.ts │ │ │ │ ├── use-activities.ts │ │ │ │ ├── create-activity-popover.tsx │ │ │ │ ├── activity-list.tsx │ │ │ │ └── mock-activity-api.ts │ │ │ └── intro │ │ │ │ └── current-time.tsx │ │ ├── onboarding-trigger.tsx │ │ └── no-data-state.tsx │ ├── tiptap-editor.tsx │ ├── aside │ │ ├── types.sidear.d.ts │ │ ├── skeleton.sub-sidebar.tsx │ │ └── skeleton.sidebbar.tsx │ ├── features │ │ └── record-peripherals │ │ │ └── peripherals-recorder.tsx │ ├── auth │ │ ├── user-dropdown-menu │ │ │ └── user-dropdown-menu-item.tsx │ │ ├── auth.d.ts │ │ └── sign-out-button.tsx │ ├── Banner.tsx │ ├── base │ │ └── ThemeWrapper.tsx │ └── _development-utils │ │ └── auth-status-indicator.tsx ├── types │ ├── tree-item.types.d.ts │ ├── types.folder.d.ts │ ├── design-system.d.ts │ ├── global.d.ts │ ├── canvas-confetti.d.ts │ ├── types.users.d.ts │ └── tasks.d.ts ├── lib │ ├── utils.ts │ └── env.mjs └── config │ └── nav.ts ├── .prettierignore ├── bun.lockb ├── postcss.config.cjs ├── public ├── card-01.png ├── card-02.png ├── card-03.png ├── favicon.ico ├── menu │ ├── blog1.jpg │ └── blog2.jpeg ├── ellipse-back.webp ├── favicon-16x16.png ├── favicon-32x32.png ├── images │ ├── bridge.jpg │ └── og-image.png ├── landing │ ├── right.png │ ├── usps │ │ ├── 1.webp │ │ ├── 2.webp │ │ └── 3.webp │ ├── gradient-icon.webp │ ├── gradient-icon2.webp │ ├── lights │ │ ├── light-1-webp │ │ ├── light-2.webp │ │ ├── light.webp │ │ ├── light-1 copy.webp │ │ ├── horizontal-light.webp │ │ ├── light-1-srcset-1.png │ │ ├── light-1-srcset-2.png │ │ ├── light-2-srcset-1.png │ │ ├── light-2-srcset-2.png │ │ └── typescript-logo-svgrepo-com.svg │ ├── powered │ │ ├── shape.webp │ │ └── shape2.svg │ ├── right-bottom.webp │ ├── feature │ │ ├── feature1.webp │ │ ├── feature2.webp │ │ ├── feature3.webp │ │ ├── feature4.webp │ │ ├── feature5.webp │ │ ├── feature6.webp │ │ └── feature7.webp │ ├── icon-logos │ │ ├── logo1.webp │ │ ├── logo2.webp │ │ ├── logo3.webp │ │ ├── logo4.webp │ │ ├── logo5.webp │ │ ├── logo6.webp │ │ └── logo7.webp │ └── Record (online-voice-recorder.com).mp3 ├── apple-touch-icon.png ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── site.webmanifest ├── vercel.svg └── next.svg ├── .eslintrc.json ├── drizzle.config.ts ├── components.json ├── .prettierrc ├── next.config.mjs ├── .env.example ├── .gitignore ├── .vscode └── settings.json └── tsconfig.json /components/Feature.tsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /components/TopBar.tsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/get-label.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/get-task.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/add-sub-task.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/add-task-label.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/create-task.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/update-sub-task.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/remove-task-label.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/update-task-due-date.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/update-task-priority.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/server/actions/tasks/update-task-status.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/dashboard/finance/_components/display-goal.tsxpwd: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/app/dashboard/folders/_hooks/use-file-operations.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/models/index.ts: -------------------------------------------------------------------------------- 1 | export * from './folders.z' 2 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/(landing)/_components/effects/lights.tsx: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/core/config/locales/locales.ts: -------------------------------------------------------------------------------- 1 | export * as en from './en' 2 | -------------------------------------------------------------------------------- /src/core/server/actions/github/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fetch-github-stats' 2 | -------------------------------------------------------------------------------- /src/styles/themes/_theme-selector.scss: -------------------------------------------------------------------------------- 1 | @import './default-theme'; // default theme 2 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .next 3 | dist 4 | build 5 | .contentlayer 6 | public 7 | tmp 8 | _templates 9 | -------------------------------------------------------------------------------- /bun.lockb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/bun.lockb -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {} 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /src/core/server/actions/activity-log/index.ts: -------------------------------------------------------------------------------- 1 | export * from './fetch-activity' 2 | export * from './log-activity' 3 | -------------------------------------------------------------------------------- /public/card-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/card-01.png -------------------------------------------------------------------------------- /public/card-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/card-02.png -------------------------------------------------------------------------------- /public/card-03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/card-03.png -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/app/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/src/app/favicon.ico -------------------------------------------------------------------------------- /src/core/server/actions/finance/index.ts: -------------------------------------------------------------------------------- 1 | export * from './budget' 2 | export * from './transactions' 3 | export * from './goals' 4 | -------------------------------------------------------------------------------- /public/menu/blog1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/menu/blog1.jpg -------------------------------------------------------------------------------- /src/core/server/db/schema/finance/index.ts: -------------------------------------------------------------------------------- 1 | export * from './budget' 2 | export * from './goals' 3 | export * from './transactions' 4 | -------------------------------------------------------------------------------- /public/ellipse-back.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/ellipse-back.webp -------------------------------------------------------------------------------- /public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/favicon-16x16.png -------------------------------------------------------------------------------- /public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/favicon-32x32.png -------------------------------------------------------------------------------- /public/images/bridge.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/images/bridge.jpg -------------------------------------------------------------------------------- /public/landing/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/right.png -------------------------------------------------------------------------------- /public/menu/blog2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/menu/blog2.jpeg -------------------------------------------------------------------------------- /src/components/atoms/index.ts: -------------------------------------------------------------------------------- 1 | export * from './Center' 2 | export * from './Flex' 3 | export * from './@@Kbd' 4 | export * from './Spacer' 5 | -------------------------------------------------------------------------------- /public/images/og-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/images/og-image.png -------------------------------------------------------------------------------- /public/landing/usps/1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/usps/1.webp -------------------------------------------------------------------------------- /public/landing/usps/2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/usps/2.webp -------------------------------------------------------------------------------- /public/landing/usps/3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/usps/3.webp -------------------------------------------------------------------------------- /public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/apple-touch-icon.png -------------------------------------------------------------------------------- /src/app/opengraph-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/src/app/opengraph-image.png -------------------------------------------------------------------------------- /public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/landing/gradient-icon.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/gradient-icon.webp -------------------------------------------------------------------------------- /public/landing/gradient-icon2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/gradient-icon2.webp -------------------------------------------------------------------------------- /public/landing/lights/light-1-webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light-1-webp -------------------------------------------------------------------------------- /public/landing/lights/light-2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light-2.webp -------------------------------------------------------------------------------- /public/landing/lights/light.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light.webp -------------------------------------------------------------------------------- /public/landing/powered/shape.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/powered/shape.webp -------------------------------------------------------------------------------- /public/landing/right-bottom.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/right-bottom.webp -------------------------------------------------------------------------------- /src/types/tree-item.types.d.ts: -------------------------------------------------------------------------------- 1 | export type TreeItemType = { 2 | id: string 3 | name: string 4 | type: 'folder' | 'file' 5 | children?: TreeItemType[] 6 | } 7 | -------------------------------------------------------------------------------- /public/landing/feature/feature1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/feature/feature1.webp -------------------------------------------------------------------------------- /public/landing/feature/feature2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/feature/feature2.webp -------------------------------------------------------------------------------- /public/landing/feature/feature3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/feature/feature3.webp -------------------------------------------------------------------------------- /public/landing/feature/feature4.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/feature/feature4.webp -------------------------------------------------------------------------------- /public/landing/feature/feature5.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/feature/feature5.webp -------------------------------------------------------------------------------- /public/landing/feature/feature6.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/feature/feature6.webp -------------------------------------------------------------------------------- /public/landing/feature/feature7.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/feature/feature7.webp -------------------------------------------------------------------------------- /public/landing/icon-logos/logo1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/icon-logos/logo1.webp -------------------------------------------------------------------------------- /public/landing/icon-logos/logo2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/icon-logos/logo2.webp -------------------------------------------------------------------------------- /public/landing/icon-logos/logo3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/icon-logos/logo3.webp -------------------------------------------------------------------------------- /public/landing/icon-logos/logo4.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/icon-logos/logo4.webp -------------------------------------------------------------------------------- /public/landing/icon-logos/logo5.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/icon-logos/logo5.webp -------------------------------------------------------------------------------- /public/landing/icon-logos/logo6.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/icon-logos/logo6.webp -------------------------------------------------------------------------------- /public/landing/icon-logos/logo7.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/icon-logos/logo7.webp -------------------------------------------------------------------------------- /src/components/elements/index.ts: -------------------------------------------------------------------------------- 1 | export * from './display-code/code-highlight/code-highlight' 2 | export * from './custom-dropdown' 3 | export * from './notice-box' 4 | -------------------------------------------------------------------------------- /public/landing/lights/light-1 copy.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light-1 copy.webp -------------------------------------------------------------------------------- /src/core/config/fonts/geist/GeistVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/src/core/config/fonts/geist/GeistVF.woff -------------------------------------------------------------------------------- /public/landing/lights/horizontal-light.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/horizontal-light.webp -------------------------------------------------------------------------------- /public/landing/lights/light-1-srcset-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light-1-srcset-1.png -------------------------------------------------------------------------------- /public/landing/lights/light-1-srcset-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light-1-srcset-2.png -------------------------------------------------------------------------------- /public/landing/lights/light-2-srcset-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light-2-srcset-1.png -------------------------------------------------------------------------------- /public/landing/lights/light-2-srcset-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/lights/light-2-srcset-2.png -------------------------------------------------------------------------------- /src/core/config/fonts/geist/GeistMonoVF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/src/core/config/fonts/geist/GeistMonoVF.woff -------------------------------------------------------------------------------- /src/app/dashboard/finance/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function FinanceLayout({ 2 | children 3 | }: { 4 | children: React.ReactNode 5 | }) { 6 | return
{children}
7 | } 8 | -------------------------------------------------------------------------------- /src/app/dashboard/finance/page.tsx: -------------------------------------------------------------------------------- 1 | import FinanceDashboard from './_components/finance-dashboard' 2 | 3 | export default function DashboardPage() { 4 | return 5 | } 6 | -------------------------------------------------------------------------------- /src/core/server/actions/user/index.ts: -------------------------------------------------------------------------------- 1 | export * from './action.sign-in' 2 | export * from './action.sign-out' 3 | export * from './action.sign-up' 4 | export * from './action.update-user' 5 | -------------------------------------------------------------------------------- /public/landing/Record (online-voice-recorder.com).mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/public/landing/Record (online-voice-recorder.com).mp3 -------------------------------------------------------------------------------- /src/core/config/fonts/font.pt_mono.ts: -------------------------------------------------------------------------------- 1 | import { PT_Mono } from 'next/font/google' 2 | 3 | export const ptMono = PT_Mono({ 4 | weight: ['400'], 5 | subsets: ['latin'], 6 | display: 'swap' 7 | }) 8 | -------------------------------------------------------------------------------- /src/lib/utils.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from 'clsx' 2 | import { twMerge } from 'tailwind-merge' 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /src/types/types.folder.d.ts: -------------------------------------------------------------------------------- 1 | export type FolderType = { 2 | id: string 3 | name: string 4 | description: string | null 5 | color: string 6 | children?: FolderType[] 7 | parentId?: string | null 8 | } 9 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/(landing)/styles/modules/noise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/remcostoeten/nextjs-lucia-neon-postgresql-drizzle-dashboard/HEAD/src/app/(non-dashboard)/(landing)/styles/modules/noise.png -------------------------------------------------------------------------------- /src/core/constants/cn-tw.ts: -------------------------------------------------------------------------------- 1 | import { clsx, type ClassValue } from 'clsx' 2 | import { twMerge } from 'tailwind-merge' 3 | 4 | export function cn(...inputs: ClassValue[]) { 5 | return twMerge(clsx(inputs)) 6 | } 7 | -------------------------------------------------------------------------------- /src/types/design-system.d.ts: -------------------------------------------------------------------------------- 1 | export type DesignSystemWrapperProps = { 2 | title: string 3 | description?: string 4 | actionButtons?: { label: string; onClick: () => void }[] 5 | children: React.ReactNode 6 | } 7 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "next/core-web-vitals", 3 | "rules": { 4 | "react/jsx-no-undef": [ 5 | "error", 6 | { 7 | "ignore": ["spa", "title", "ptitle", "subtitle", "psub"] 8 | } 9 | ] 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /public/landing/powered/shape2.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/(landing)/_components/horizontal-line.tsx: -------------------------------------------------------------------------------- 1 | import styles from '../styles/modules/horizontal-line.module.css' 2 | 3 | export default function HorizontalLine() { 4 | return 5 | } 6 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/docs/layout.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export default function DocsLayout({ 4 | children 5 | }: { 6 | children: React.ReactNode 7 | }) { 8 | return
{children}
9 | } 10 | -------------------------------------------------------------------------------- /src/core/hooks/_hook_helpers/use-isomorphic-layout-effect.ts: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import { useEffect, useLayoutEffect } from 'react' 4 | 5 | export const useIsomorphicLayoutEffect = 6 | typeof window !== 'undefined' ? useLayoutEffect : useEffect 7 | -------------------------------------------------------------------------------- /src/core/config/menu-items/design-system-menu.items.ts: -------------------------------------------------------------------------------- 1 | const prefix = '/design-system' 2 | 3 | export const designSystemItems = [ 4 | { href: '/notice', label: 'Notice block', alias: 'Notice block' } 5 | ].map(item => ({ ...item, href: `${prefix}${item.href}` })) 6 | -------------------------------------------------------------------------------- /src/components/_old-landing/footer.tsx: -------------------------------------------------------------------------------- 1 | import { TextHoverEffect } from '@/components/effects/glow-text-effect' 2 | export function Footer() { 3 | return ( 4 |
5 | 6 |
7 | ) 8 | } 9 | -------------------------------------------------------------------------------- /src/app/api/auth/session/route.ts: -------------------------------------------------------------------------------- 1 | import { getUserAuth } from '@/core/server/auth/utils' 2 | 3 | import { NextResponse } from 'next/server' 4 | 5 | export async function GET() { 6 | const { session } = await getUserAuth() 7 | return NextResponse.json({ user: session?.user || null }) 8 | } 9 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/(miscellaneous)/hooks-showcase/palette/page.tsx: -------------------------------------------------------------------------------- 1 | import { TailwindColorPalette } from '@/components/_development-utils/tailwind-color-palette' 2 | 3 | export default function page() { 4 | return ( 5 |
6 | 7 |
8 | ) 9 | } 10 | -------------------------------------------------------------------------------- /src/app/loading.tsx: -------------------------------------------------------------------------------- 1 | import Center from '@/components/atoms/Center' 2 | import HeartbeatLoader from '@/components/effects/loaders/heartbeat-loader' 3 | 4 | export default function Loading() { 5 | return ( 6 |
7 | 8 |
9 | ) 10 | } 11 | -------------------------------------------------------------------------------- /src/core/config/fonts/font.bricolage_grotesque.ts: -------------------------------------------------------------------------------- 1 | /* Font used in landing page */ 2 | 3 | import { Bricolage_Grotesque } from 'next/font/google' 4 | 5 | export const bricolageGrotesque = Bricolage_Grotesque({ 6 | subsets: ['latin'], 7 | display: 'swap', 8 | weight: ['400', '500'] 9 | }) 10 | -------------------------------------------------------------------------------- /src/core/models/activities.ts: -------------------------------------------------------------------------------- 1 | import { z } from 'zod' 2 | 3 | export const createActivitySchema = z.object({ 4 | name: z.string().min(2, 'Name must be at least 2 characters'), 5 | duration: z.number().min(1, 'Duration must be at least 1 minute'), 6 | icon: z.string(), 7 | color: z.string() 8 | }) 9 | -------------------------------------------------------------------------------- /src/types/global.d.ts: -------------------------------------------------------------------------------- 1 | import { ReactNode } from 'react' 2 | 3 | declare global { 4 | type PageProps = { 5 | children?: ReactNode 6 | } 7 | type ChildrenProps = { 8 | children?: ReactNode 9 | } 10 | } 11 | 12 | // It's important to include this line to make it a module 13 | export {} 14 | -------------------------------------------------------------------------------- /src/app/robots.ts: -------------------------------------------------------------------------------- 1 | import { MetadataRoute } from 'next' 2 | 3 | export default function robots(): MetadataRoute.Robots { 4 | return { 5 | rules: { 6 | userAgent: '*', 7 | allow: '/', 8 | disallow: '' 9 | }, 10 | sitemap: 'https://topbar.remcostoeten.com/sitemap.xml' 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/app/dashboard/activity/page.tsx: -------------------------------------------------------------------------------- 1 | import ActivityFeed from '@/components/dashboard/features/activity/activity-feed' 2 | 3 | export default function ActivityPage() { 4 | return ( 5 | <> 6 |

Your Activity

7 | 8 | 9 | ) 10 | } 11 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/(miscellaneous)/layout.tsx: -------------------------------------------------------------------------------- 1 | export default function ShowcaseLayout({ 2 | children 3 | }: { 4 | children: React.ReactNode 5 | }) { 6 | return ( 7 | <> 8 |
9 | {children} 10 |
11 | 12 | ) 13 | } 14 | -------------------------------------------------------------------------------- /src/core/server/actions/index.ts: -------------------------------------------------------------------------------- 1 | export * from './activities/create-activity' 2 | export * from './activity-log' 3 | export * from './finance' 4 | export * from './get-visitory-city' 5 | export * from './github' 6 | export * from './save-processed-text/save-processed-text' 7 | export * from './tasks' 8 | export * from './user' 9 | -------------------------------------------------------------------------------- /src/core/stores/index.ts: -------------------------------------------------------------------------------- 1 | export * from './store.dismiss-notification' 2 | export * from './store.file-tree' 3 | export * from './store.main.sidebar' 4 | export * from './store.notes' 5 | export * from './store.site-settings' 6 | export * from './store.sub-sidebar' 7 | export * from './store.theme' 8 | export * from './store.toasts' 9 | -------------------------------------------------------------------------------- /src/core/stores/store.sub-sidebar.ts: -------------------------------------------------------------------------------- 1 | import { create } from 'zustand' 2 | 3 | type SubSidebarStore = { 4 | isOpen: boolean 5 | toggle: () => void 6 | } 7 | 8 | export const useSubSidebarStore = create(set => ({ 9 | isOpen: true, 10 | toggle: () => set(state => ({ isOpen: !state.isOpen })) 11 | })) 12 | -------------------------------------------------------------------------------- /drizzle.config.ts: -------------------------------------------------------------------------------- 1 | import { env } from '@/lib/env.mjs' 2 | import type { Config } from 'drizzle-kit' 3 | 4 | export default { 5 | schema: './src/lib/db/schema/index.ts', 6 | out: './src/core/server/db/migrations', 7 | driver: 'pg', 8 | dbCredentials: { 9 | connectionString: env.DATABASE_URL 10 | } 11 | } satisfies Config 12 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/(landing)/styles/modules/horizontal-line.module.css: -------------------------------------------------------------------------------- 1 | .horizontalLine { 2 | z-index: 0; 3 | background-color: var(--neutral--800); 4 | pointer-events: none; 5 | width: 100vw; 6 | height: 1px; 7 | position: absolute; 8 | top: auto; 9 | bottom: 0%; 10 | left: 50%; 11 | transform: translateX(-50%); 12 | } 13 | -------------------------------------------------------------------------------- /src/app/dashboard/ig-follower-parser/page.tsx: -------------------------------------------------------------------------------- 1 | import CsvModifier from './_components/csv-ig-parser' 2 | 3 | export default function Home() { 4 | return ( 5 |
6 |

7 | CSV Text Modifier 8 |

9 | 10 |
11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /src/types/canvas-confetti.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'canvas-confetti' { 2 | function confetti(options?: any): Promise 3 | 4 | namespace confetti { 5 | function create( 6 | canvas: HTMLCanvasElement, 7 | options?: any 8 | ): { 9 | confetti: typeof confetti 10 | reset: () => void 11 | } 12 | } 13 | 14 | export = confetti 15 | } 16 | -------------------------------------------------------------------------------- /src/core/stores/store.main.sidebar.ts: -------------------------------------------------------------------------------- 1 | import { create } from 'zustand' 2 | 3 | type MainSidebarStore = { 4 | isCollapsed: boolean 5 | toggleCollapse: () => void 6 | } 7 | 8 | export const useMainSidebarStore = create(set => ({ 9 | isCollapsed: false, 10 | toggleCollapse: () => set(state => ({ isCollapsed: !state.isCollapsed })) 11 | })) 12 | -------------------------------------------------------------------------------- /src/core/stores/store.notes.ts: -------------------------------------------------------------------------------- 1 | import { create } from 'zustand' 2 | 3 | interface NotesState { 4 | selectedFolderId: string | null 5 | setSelectedFolderId: (id: string | null) => void 6 | } 7 | 8 | export const useNotesStore = create(set => ({ 9 | selectedFolderId: null, 10 | setSelectedFolderId: id => set({ selectedFolderId: id }) 11 | })) 12 | -------------------------------------------------------------------------------- /src/core/stores/store.dismiss-notification.ts: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import { create } from 'zustand' 4 | 5 | type DismissState = { 6 | isDismissed: boolean 7 | setIsDismissed: (value: boolean) => void 8 | } 9 | 10 | export const useDismissStore = create(set => ({ 11 | isDismissed: false, 12 | setIsDismissed: value => set({ isDismissed: value }) 13 | })) 14 | -------------------------------------------------------------------------------- /src/core/config/fonts/geist/font.geist.ts: -------------------------------------------------------------------------------- 1 | // @ts-nocheck 2 | import localFont from 'next/font/local' 3 | 4 | export const geistSans = localFont({ 5 | src: './GeistVF.woff', 6 | variable: '--font-geist-sans', 7 | weight: '100 900' 8 | }) 9 | 10 | export const geistMono = localFont({ 11 | src: './GeistMonoVF.woff', 12 | variable: '--font-geist-mono', 13 | weight: '100 900' 14 | }) 15 | -------------------------------------------------------------------------------- /src/core/constants/animations.ts: -------------------------------------------------------------------------------- 1 | import { cubicBezier, Variants } from 'framer-motion' 2 | 3 | export const fadeInUp = (delay: number = 0): Variants => ({ 4 | hidden: { opacity: 0, y: 20 }, 5 | visible: { 6 | opacity: 1, 7 | y: 0, 8 | transition: { duration: 0.3, delay, ease: 'easeOut' } 9 | } 10 | }) 11 | 12 | export const customEasing = cubicBezier(0.35, 0.9, 0.13, 0.6) 13 | -------------------------------------------------------------------------------- /components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "default", 4 | "rsc": true, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "tailwind.config.ts", 8 | "css": "src/app/globals.css", 9 | "baseColor": "neutral", 10 | "cssVariables": true 11 | }, 12 | "aliases": { 13 | "components": "@/components", 14 | "utils": "@/lib/utils" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/app/dashboard/media-recorder/page.tsx: -------------------------------------------------------------------------------- 1 | import MediaRecorder from '@/components/features/record-peripherals/peripherals-recorder' 2 | 3 | export default function RecordingPage() { 4 | return ( 5 |
6 |

7 | Media Recorder 8 |

9 | 10 |
11 | ) 12 | } 13 | -------------------------------------------------------------------------------- /src/components/ThemeProvider.tsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import * as React from 'react' 4 | import { ThemeProvider as NextThemesProvider } from 'next-themes' 5 | import { type ThemeProviderProps } from 'next-themes/dist/types' 6 | 7 | export function ThemeProvider({ children, ...props }: ThemeProviderProps) { 8 | return {children} 9 | } 10 | -------------------------------------------------------------------------------- /src/components/ui/collapsible.tsx: -------------------------------------------------------------------------------- 1 | 'use client' 2 | 3 | import * as CollapsiblePrimitive from '@radix-ui/react-collapsible' 4 | 5 | const Collapsible = CollapsiblePrimitive.Root 6 | 7 | const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger 8 | 9 | const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent 10 | 11 | export { Collapsible, CollapsibleTrigger, CollapsibleContent } 12 | -------------------------------------------------------------------------------- /src/core/hooks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './_hook_helpers/use-isomorphic-layout-effect' 2 | export * from './use-copy-clipboard' 3 | export * from './use-dev-mode' 4 | export * from './use-geo-location' 5 | export * from './use-keyboard-shortcuts' 6 | export * from './use-local-storage' 7 | export * from './use-mouse-hover' 8 | export * from './use-skeleton-loader' 9 | export * from './use-user-info' 10 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "tabWidth": 4, 4 | "singleQuote": true, 5 | "semi": false, 6 | "trailingComma": "none", 7 | "overrides": [ 8 | { 9 | "files": ["*.tsx", "*.ts", "*.scss", "*.css", "*.mdx"], 10 | "options": { 11 | "useTabs": true, 12 | "tabWidth": 4, 13 | "singleQuote": true, 14 | "semi": false, 15 | "trailingComma": "none" 16 | } 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /src/core/config/fonts/fonts.ts: -------------------------------------------------------------------------------- 1 | import { bricolageGrotesque } from './font.bricolage_grotesque' 2 | import { bricolage } from './fonts' 3 | 4 | export { ptMono } from './font.pt_mono' 5 | export { geistMono } from './geist/font.geist' 6 | export { geistSans } from './geist/font.geist' 7 | export { 8 | bricolageGrotesque as bricolage, 9 | bricolageGrotesque as landing 10 | } from './font.bricolage_grotesque' 11 | -------------------------------------------------------------------------------- /src/core/server/db/schema/tasks/index.ts: -------------------------------------------------------------------------------- 1 | export * from './label' 2 | export * from './task' 3 | export * from './task-label' 4 | 5 | import { relations } from 'drizzle-orm' 6 | import { users } from '../auth' 7 | import { labels } from './label' 8 | import { tasks } from './task' 9 | 10 | export const taskUsersRelations = relations(users, ({ many }) => ({ 11 | tasks: many(tasks), 12 | labels: many(labels) 13 | })) 14 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/(miscellaneous)/changelog/layout.tsx: -------------------------------------------------------------------------------- 1 | import Particles from '@/components/effects/particles' 2 | import Container from '../../(landing)/_components/page-container' 3 | 4 | export default function RootLayout({ children }: PageProps) { 5 | return ( 6 | <> 7 | {children} 8 | 9 | 10 | ) 11 | } 12 | -------------------------------------------------------------------------------- /public/site.webmanifest: -------------------------------------------------------------------------------- 1 | { 2 | "name": "", 3 | "short_name": "", 4 | "icons": [ 5 | { 6 | "src": "/android-chrome-192x192.png", 7 | "sizes": "192x192", 8 | "type": "image/png" 9 | }, 10 | { 11 | "src": "/android-chrome-512x512.png", 12 | "sizes": "512x512", 13 | "type": "image/png" 14 | } 15 | ], 16 | "theme_color": "#ffffff", 17 | "background_color": "#ffffff", 18 | "display": "standalone" 19 | } 20 | -------------------------------------------------------------------------------- /src/components/ui/skeleton.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from 'cn' 2 | 3 | function Skeleton({ 4 | className, 5 | noPulse = false, 6 | ...props 7 | }: React.HTMLAttributes & { noPulse?: boolean }) { 8 | return ( 9 |
17 | ) 18 | } 19 | 20 | export { Skeleton } 21 | -------------------------------------------------------------------------------- /src/app/(non-dashboard)/layout.tsx: -------------------------------------------------------------------------------- 1 | import ThemeWrapper from '@/components/base/ThemeWrapper' 2 | import Footer from './(landing)/_components/footer/footer' 3 | import Header from './(landing)/_components/navigation/header' 4 | 5 | export default function RootLayout({ children }: PageProps) { 6 | return ( 7 | 8 |
9 |
{children}
10 | 11 |