Skip to content

Conversation

@beni-f
Copy link
Contributor

@beni-f beni-f commented Oct 3, 2025

fix(ui): migrate from Django templates to Next.js frontend and improved the user interface.

Closes #16

@pythonbrad
Copy link
Member

@beni-f

Thanks for the pr, but I don't succeed to build.
Both docker build and docker compose up fail.

=> ERROR [builder 6/6] RUN npm run build                                                           31.2s
------                                                                                                    
 > [builder 6/6] RUN npm run build:                                                                       
4.987                                                                                                     
4.987 > lewa-frontend@0.1.0 build                                                                         
4.987 > next build --turbopack                                                                            
4.987                                                                                                     
8.215 Attention: Next.js now collects completely anonymous telemetry regarding usage.
8.216 This information is used to shape Next.js' roadmap and prioritize features.
8.216 You can learn more, including how to opt-out if you'd not like to participate in this anonymous program, by visiting the following URL:
8.216 https://nextjs.org/telemetry
8.216 
8.276     Next.js 15.5.4 (Turbopack)
8.276 
8.372    Creating an optimized production build ...
30.97   Finished writing to disk in 15ms
31.03 
31.03 > Build error occurred
31.04 Error: Turbopack build failed with 32 errors:
31.04 ./src/components/blocks/cards-stack.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { motion } from "motion/react";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const ContainerScroll = React.forwardRef(({ children, className, ...props }, ref) => {
31.04   8 |   return (
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/blocks/cards-stack.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { motion } from "motion/react";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const ContainerScroll = React.forwardRef(({ children, className, ...props }, ref) => {
31.04   8 |   return (
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/blocks/cards-stack.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { motion } from "motion/react";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const ContainerScroll = React.forwardRef(({ children, className, ...props }, ref) => {
31.04   8 |   return (
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/blocks/cards-stack.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { motion } from "motion/react";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const ContainerScroll = React.forwardRef(({ children, className, ...props }, ref) => {
31.04   8 |   return (
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/badge.jsx:4:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   2 | import { cva } from "class-variance-authority";
31.04   3 |
31.04 > 4 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   5 |
31.04   6 | const badgeVariants = cva(
31.04   7 |   "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/badge.jsx:4:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   2 | import { cva } from "class-variance-authority";
31.04   3 |
31.04 > 4 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   5 |
31.04   6 | const badgeVariants = cva(
31.04   7 |   "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/bento-grid.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import { ArrowRightIcon } from "@radix-ui/react-icons";
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils";
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 | import { Button } from "@/components/ui/button";
31.04   5 |
31.04   6 | const BentoGrid = ({ children, className }) => {
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/bento-grid.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import { ArrowRightIcon } from "@radix-ui/react-icons";
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils";
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 | import { Button } from "@/components/ui/button";
31.04   5 |
31.04   6 | const BentoGrid = ({ children, className }) => {
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/button.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { cva } from "class-variance-authority";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const buttonVariants = cva(
31.04   8 |   "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/button.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { cva } from "class-variance-authority";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const buttonVariants = cva(
31.04   8 |   "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/button.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { cva } from "class-variance-authority";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const buttonVariants = cva(
31.04   8 |   "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/button.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { cva } from "class-variance-authority";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const buttonVariants = cva(
31.04   8 |   "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/button.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { cva } from "class-variance-authority";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const buttonVariants = cva(
31.04   8 |   "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/button.jsx:5:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   3 | import { cva } from "class-variance-authority";
31.04   4 |
31.04 > 5 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   6 |
31.04   7 | const buttonVariants = cva(
31.04   8 |   "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card-1.jsx:6:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   4 | import { motion } from "framer-motion";
31.04   5 | import { ArrowUpRight } from "lucide-react";
31.04 > 6 | import { cn } from "@/lib/utils"; // Your utility for merging Tailwind classes
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   7 |
31.04   8 | /**
31.04   9 |  * A responsive, theme-adaptive card component to display cashback partners.
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card-1.jsx:6:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   4 | import { motion } from "framer-motion";
31.04   5 | import { ArrowUpRight } from "lucide-react";
31.04 > 6 | import { cn } from "@/lib/utils"; // Your utility for merging Tailwind classes
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   7 |
31.04   8 | /**
31.04   9 |  * A responsive, theme-adaptive card component to display cashback partners.
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card-1.jsx:6:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   4 | import { motion } from "framer-motion";
31.04   5 | import { ArrowUpRight } from "lucide-react";
31.04 > 6 | import { cn } from "@/lib/utils"; // Your utility for merging Tailwind classes
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   7 |
31.04   8 | /**
31.04   9 |  * A responsive, theme-adaptive card component to display cashback partners.
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card-1.jsx:6:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   4 | import { motion } from "framer-motion";
31.04   5 | import { ArrowUpRight } from "lucide-react";
31.04 > 6 | import { cn } from "@/lib/utils"; // Your utility for merging Tailwind classes
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   7 |
31.04   8 | /**
31.04   9 |  * A responsive, theme-adaptive card component to display cashback partners.
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import * as React from "react"
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | function Card({
31.04   6 |   className,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import * as React from "react"
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | function Card({
31.04   6 |   className,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import * as React from "react"
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | function Card({
31.04   6 |   className,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import * as React from "react"
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | function Card({
31.04   6 |   className,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import * as React from "react"
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | function Card({
31.04   6 |   className,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/card.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | import * as React from "react"
31.04   2 |
31.04 > 3 | import { cn } from "@/lib/utils"
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | function Card({
31.04   6 |   className,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/menu-toggle.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | 'use client';;
31.04   2 | import React from 'react';
31.04 > 3 | import { cn } from '@/lib/utils';
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | export function MenuToggle({
31.04   6 |     open,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/menu-toggle.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | 'use client';;
31.04   2 | import React from 'react';
31.04 > 3 | import { cn } from '@/lib/utils';
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | export function MenuToggle({
31.04   6 |     open,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/menu-toggle.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | 'use client';;
31.04   2 | import React from 'react';
31.04 > 3 | import { cn } from '@/lib/utils';
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | export function MenuToggle({
31.04   6 |     open,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/menu-toggle.jsx:3:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04   1 | 'use client';;
31.04   2 | import React from 'react';
31.04 > 3 | import { cn } from '@/lib/utils';
31.04     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04   4 |
31.04   5 | export function MenuToggle({
31.04   6 |     open,
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/sheet.jsx:7:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04    5 | import { XIcon } from 'lucide-react';
31.04    6 |
31.04 >  7 | import { cn } from '@/lib/utils';
31.04      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04    8 |
31.04    9 | function Sheet({
31.04   10 |     ...props
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/sheet.jsx:7:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04    5 | import { XIcon } from 'lucide-react';
31.04    6 |
31.04 >  7 | import { cn } from '@/lib/utils';
31.04      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04    8 |
31.04    9 | function Sheet({
31.04   10 |     ...props
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/sheet.jsx:7:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04    5 | import { XIcon } from 'lucide-react';
31.04    6 |
31.04 >  7 | import { cn } from '@/lib/utils';
31.04      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04    8 |
31.04    9 | function Sheet({
31.04   10 |     ...props
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04 ./src/components/ui/sheet.jsx:7:1
31.04 Module not found: Can't resolve '@/lib/utils'
31.04    5 | import { XIcon } from 'lucide-react';
31.04    6 |
31.04 >  7 | import { cn } from '@/lib/utils';
31.04      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31.04    8 |
31.04    9 | function Sheet({
31.04   10 |     ...props
31.04 
31.04 Import map: aliased to relative './src/lib/utils' inside of [project]/
31.04 
31.04 
31.04 https://nextjs.org/docs/messages/module-not-found
31.04 
31.04 
31.04     at <unknown> (./src/components/blocks/cards-stack.jsx:5:1)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve the UX interface

2 participants