diff --git a/backend/urls.py b/backend/urls.py index 9891c2f8..a702f28d 100644 --- a/backend/urls.py +++ b/backend/urls.py @@ -13,7 +13,7 @@ from backend.views.core import receipts from backend.views.core.invoices.single.view import view_invoice_with_uuid_endpoint from backend.views.core.other.index import dashboard -from backend.views.core.other.index import index +from backend.views.core.other.index import index, pricing from backend.views.core.quotas.view import quotas_list from backend.views.core.quotas.view import quotas_page from backend.views.core.quotas.view import view_quota_increase_requests @@ -29,6 +29,7 @@ path("api/", include("backend.api.urls")), path("webhooks/", include("backend.webhooks.urls")), path("", index, name="index"), + path("pricing", pricing, name="pricing"), path("dashboard/", dashboard, name="dashboard"), path("dashboard/settings/", include("backend.views.core.settings.urls")), path("dashboard/teams/", include("backend.views.core.teams.urls")), diff --git a/backend/views/core/other/index.py b/backend/views/core/other/index.py index d2c965da..859696fc 100644 --- a/backend/views/core/other/index.py +++ b/backend/views/core/other/index.py @@ -1,9 +1,16 @@ from django.http import HttpRequest from django.shortcuts import render +from login_required import login_not_required +@login_not_required def index(request: HttpRequest): - return render(request, "pages/index.html") + return render(request, "pages/landing/index.html") + + +@login_not_required +def pricing(request: HttpRequest): + return render(request, "pages/landing/pricing.html") def dashboard(request: HttpRequest): diff --git a/frontend/static/img/brainstorming_finance.png b/frontend/static/img/brainstorming_finance.png new file mode 100644 index 00000000..d1e17eee Binary files /dev/null and b/frontend/static/img/brainstorming_finance.png differ diff --git a/frontend/static/img/invoices.svg b/frontend/static/img/invoices.svg new file mode 100644 index 00000000..ad40a5f8 --- /dev/null +++ b/frontend/static/img/invoices.svg @@ -0,0 +1 @@ + diff --git a/frontend/static/img/receipt.svg b/frontend/static/img/receipt.svg new file mode 100644 index 00000000..3ea90e55 --- /dev/null +++ b/frontend/static/img/receipt.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/frontend/static/img/software.svg b/frontend/static/img/software.svg new file mode 100644 index 00000000..eb172ad1 --- /dev/null +++ b/frontend/static/img/software.svg @@ -0,0 +1 @@ + diff --git a/frontend/static/img/team_done.svg b/frontend/static/img/team_done.svg new file mode 100644 index 00000000..bf94de47 --- /dev/null +++ b/frontend/static/img/team_done.svg @@ -0,0 +1 @@ + diff --git a/frontend/templates/base/topbar/_topbar.html b/frontend/templates/base/topbar/_topbar.html index 25b2ff17..590327b3 100644 --- a/frontend/templates/base/topbar/_topbar.html +++ b/frontend/templates/base/topbar/_topbar.html @@ -24,8 +24,7 @@ - My Finances + My Finances + -
diff --git a/frontend/templates/pages/landing/pricing.html b/frontend/templates/pages/landing/pricing.html new file mode 100644 index 00000000..0a54b7f4 --- /dev/null +++ b/frontend/templates/pages/landing/pricing.html @@ -0,0 +1,22 @@ +{% extends "pages/landing/landing_base.html" %} +{% block content %} + {% load static %} + +
+
+
+

Pricing for MyFinances

+

Choose the pricing that best fits your business

+
+ {% include 'pages/landing/pricing_cards.html' %} + {# Addons #} +
+ {% include "pages/landing/addons.html" %} +
+ {# End Addons #} +
+
+ +{% endblock content %} diff --git a/frontend/templates/pages/landing/pricing_cards.html b/frontend/templates/pages/landing/pricing_cards.html new file mode 100644 index 00000000..1b4d27b2 --- /dev/null +++ b/frontend/templates/pages/landing/pricing_cards.html @@ -0,0 +1,98 @@ +
+ {# Free #} + {# #} + {#

Free

#} + {#

#} + {# Give us a go before purchasing a plan#} + {#

#} + {#
#} + {# £0#} + {# for 1 month#} + {#
#} + {# #} + {#
#} + {# Starter #} +
+

Starter

+

For startups or small businesses looking to accelerate invoicing

+
+ £5 + per month +
+ + Sign up +
+ {# Growth #} +
+

Growth

+

For growing businesses looking to spend less time with manual invoices

+
+ £15 + per month +
+ + + Sign up +
+ {# Enterprise #} +
+

Enterprise

+

+ For larger businesses that want more + customisation +

+
+ Enquire +
+ + + Contact us +
+ diff --git a/frontend/templates/pages/landing/pricing_feature.html b/frontend/templates/pages/landing/pricing_feature.html new file mode 100644 index 00000000..618b1c3a --- /dev/null +++ b/frontend/templates/pages/landing/pricing_feature.html @@ -0,0 +1,4 @@ +
  • + + {{ feature }} +
  • diff --git a/tailwind.config.js b/tailwind.config.js index 808dbc8f..7ccb5a97 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -29,47 +29,41 @@ module.exports = { { light: { "color-scheme": "dark", - "primary": "#8B45BA", - "secondary": "#6a74ec", - "secondary-content": "#c5c5c5", - "error": "#e6949e", - "accent": "#5B62E1", + "primary": "#8620a2", + "primary-content": "#faebf2", + "secondary": "#e983a0", + "secondary-content": "#1a0c1d", + "error": "#f58493", + "accent": "#b7c2be", + "accent-content": "#1a0c1d", "neutral": "#2B3440", "neutral-content": "#D7DDE4", - "base-100": "oklch(100% 0 0)", - "base-200": "#F2F2F2", - "base-300": "#E5E6E6", - "base-content": "#1f2937", + "base-100": "#faf5fa", + "base-200": "#eeeaee", + "base-300": "#d7d4d7", + "base-content": "#1a0c1d", "placeholderColor": "#0051ff", }, dark: { - "color-scheme": - "dark", - "primary": - "#9376e1", - "secondary": - "#9498E6", - "error": - "#e6949e", + "color-scheme": "dark", + "primary": "#9376e1", + "primary-content": "#0a050a", + "secondary": "#5eb7b7", + "secondary-content": "#1f1f1f", + "error": "#e6949e", "success": "#94e6a4", "success-content": "#2a323c", - "accent": - "#5B62E1", - "neutral": - "#2a323c", - "neutral-content": - "#A6ADBB", - "base-100": - "#2b343d", - "base-200": - "#1D232A", - "base-300": - "#191d25", - "base-content": - "#BFBFBF", - "placeholderColor": - "#0051ff", + "info": "#57c7aa", + "accent": "#3d4844", + "accent-content": "#f0e2f3", + "neutral": "#2a323c", + "neutral-content": "#A6ADBB", + "base-100": "#1e2328", + "base-200": "#191e23", + "base-300": "#0f1215", + "base-content": "#f0e2f3", + "placeholderColor": "#0051ff", } } ], @@ -91,9 +85,19 @@ module.exports = { '60': '60' }, animation: { - // 'pulse-slow': 'pulse 4s linear infinite', - } - , + 'infinite-scroll': 'infinite-scroll 40s linear infinite', + 'infinite-scroll-replay': 'infinite-scroll-replay 40s linear infinite' + }, + keyframes: { + 'infinite-scroll': { + '0%': {transform: 'translateX(0)'}, + '100%': {transform: 'translateX(-100%)'}, + }, + 'infinite-scroll-replay': { + '0%': {transform: 'translateX(100%)'}, + '100%': {transform: 'translateX(0)'}, + } + }, dropShadow: { glow: [ "0 0px 20px rgba(255,255, 255, 0.35)",