From 82cd023d5e36f1f039c3c0cfde92f71ae1d73c91 Mon Sep 17 00:00:00 2001 From: Flatlogic Bot Date: Tue, 2 Dec 2025 15:53:31 +0000 Subject: [PATCH] Auto commit: 2025-12-02T15:53:31.748Z --- config/__pycache__/urls.cpython-311.pyc | Bin 1557 -> 1660 bytes config/urls.py | 1 + core/__pycache__/forms.cpython-311.pyc | Bin 0 -> 1190 bytes core/__pycache__/urls.cpython-311.pyc | Bin 347 -> 444 bytes core/__pycache__/views.cpython-311.pyc | Bin 1364 -> 2129 bytes core/forms.py | 10 ++ core/templates/base.html | 4 + core/templates/core/index.html | 155 ++---------------------- core/templates/registration/signup.html | 10 ++ core/urls.py | 5 +- core/views.py | 17 ++- static/css/custom.css | 24 +++- staticfiles/css/custom.css | 41 ++++--- 13 files changed, 100 insertions(+), 167 deletions(-) create mode 100644 core/__pycache__/forms.cpython-311.pyc create mode 100644 core/forms.py create mode 100644 core/templates/registration/signup.html diff --git a/config/__pycache__/urls.cpython-311.pyc b/config/__pycache__/urls.cpython-311.pyc index 28817aa35512298e6df4bc5c0b678c917f71e36c..7da66f35b90ec48a687d0aa936cc33398f30100a 100644 GIT binary patch delta 258 zcmbQr^M^-$IWI340}#yN($CCfVPJR+;=lk0l=0bUqIy3M6GJL%3MY_cN#U9}OIDXT ziYJvlix;N2$Rrh{gfoR3D9Q&DP2s8HW?)#uJMoFJJnu3l28Pu@3;|U@tx-HFe8CJL ztjWLGjB!7cY87WDcDS!>LsC!|kEzaVFEQOxp+nB_$lt1B#4H&{3tTsnk0!aKqzL|^1pyuzz^kwxhW Ui_!;n7JjA%?hibZx3VSx0Gp~lP5=M^ delta 132 zcmeyvGnGeuIWI340}#kssATG}Ffcp@abSQQ%J|GRQN5ojooV6&aZ%1x_AEY_f)uVQ zZU%-m+>;#`MJ6jS$}@skqMSUz3@JdY$-6m@aX-^$Cl)nErjHDhvsh~;v59c7GV?Pv MaDU*MEW?%n0I~HLR{#J2 diff --git a/config/urls.py b/config/urls.py index bcfc074..417476b 100644 --- a/config/urls.py +++ b/config/urls.py @@ -21,6 +21,7 @@ from django.conf.urls.static import static urlpatterns = [ path("admin/", admin.site.urls), + path("accounts/", include("django.contrib.auth.urls")), path("", include("core.urls")), ] diff --git a/core/__pycache__/forms.cpython-311.pyc b/core/__pycache__/forms.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ea4a46cf17813a05ff70cec50f195b80a88d84a6 GIT binary patch literal 1190 zcma)4&rcIU6rR~%u7z5Vn20fg2_j9Ty_sl?G116LF2H3EPL|y%Y}t0p%x*x_112W+ zAjXTqKfs`di+@T@dT93Q$y-S|7*4)7OADw6XJ+5LH*ep3?|t(==kqxN<5jL4EK@>$ zpfMQciPFCh${z8FPeW3p4yCATp;pr!of3^K5MO^ye1p?{osa|gvf&uMxkQTAPc(}( z9b1uHJQm!IgQ)&A5;Zt8E3ixNBtmUN+$UhZ0c1`b>Jvv(NEDDXu2+pg$e)-kQlXHK z?U*gHO&tp|Fw)#ouvTAbAm}+Ps9BBvW!O%UeCp`F29f%4;WV=JjK^+KOYH>esJk_u zn!M%);UWOojNu7mX^yd4BOql|4PZg}FcDgh6D`IYn$^LW0z9@Tg`SxxG3Qs&#- zOX5hBw<5728?ML8UL<%~@l$HNNDV|6Hbf#pastH8aCXOMTNX|+2Im5+@dmYlu0jg1 z_d^gL=pMXUe8wMZ_)|8TWFM@9;YoF z1@>6cOih_IxDXat$X8GgV#dTJWeUET1cLiOr6GA(Nex%5$<*4|Qu{^5ywH`BF^Sht zPfzcNaZtn+5HBarywTuZBuZlE{@Nj3dv4dxbe7m{^~D4x*=1O1tE4`~2#XtL^ivXIK<+ R|68=jZyw_D(La0&|2OD$3-JH| literal 0 HcmV?d00001 diff --git a/core/__pycache__/urls.cpython-311.pyc b/core/__pycache__/urls.cpython-311.pyc index 1f807fae1897c89361c99c5e868a26d00799b73f..d62225f97d5d681a6bb336f8d693b0f43ff03f7c 100644 GIT binary patch delta 318 zcmcc3w1-)JIWI340}xE(($Aa+q#uJgFu(?7e9oGvu3DeP0uxVRUBkAFnSo(75JLbH zLn>nmdn$7lD@-JX16@rzQxsbYXE1{%*GrHhO~zX+1&JjYFBu^m*0Rjh^5R3O9E`nPo1AS^#k_FLR3S&4b+`Ff>AImJaFM-+jaS_HDZh#f?5 zPFx?r#SdhG3@=Wa%*iO@Cwzec1$|&+VC8IZ=@9A&?TMO^c7a9pB8%!37S$Up96(XY h39eIo7F1kdF}TQLaD~O-11mE>Qv){$7V!cN1ps55NdW)= delta 243 zcmdnPe49yqIWI340}vcY|CNyiq#uJgFu)3Be72dWu9}>}x`u5TGXukFAclZ+#weB) z_Fx80j+Y<-O~zX+1&JjYFBzenjQrfxTMR`YV?c6wiMgqMnyk0DQ?e5C()0C7i*kyK zK!)97Ez3+TFD_!8_#+^O4=4aKpx6sYd|+l|WW2#3a{(1SU=Y86iaxM0uyQuIbO?2X d%wW5~B7c!Z{tAoy2WBRIrUq^hEaCwg2LKTCI@ACF diff --git a/core/__pycache__/views.cpython-311.pyc b/core/__pycache__/views.cpython-311.pyc index 6867ddf286a519cf1754ac97038f9f1e4605fbf2..455ad961c5e46c5595ed03fce9a5438ff77cd81e 100644 GIT binary patch delta 1042 zcmZuvO=}ZD7@o;)Hkg=RqNt+yc zXr-XBLUT~?AQdTy-aP8nQzAKpEdhT*K)i?t-`VtoKxb#4ecsP`_hDMTW+e0>81x}n z8@_RMkFSMdc)pgHn$W#jFGezw-I`DLXZ;Qrw16JW27!ClP&OosfMFSDP|{n|Vv}yo zET~4(Ws5|SRifmnEfB?!6_UiZNL5`~HVp;1FQXQWdy8q4=wG(qx~_ZRe48`Or(}RJ zaZ$_BM-U`~%ygNSEff^07)wL|N78M3i1MVQSd^Rqn?x84Z9U^|x+S3gtsmT{2YC$i zV6id|-rs}Z-9}}!a1cQI7;N`&I8fVt z%jWOg&fFyuq%X&aQcyvQ992zY+yZG!i>V^jHJfK5CPiD&60LI4i`>;*P`|InDSO%jHX!LM(Q^BuQkHxrE*+Bnbvfw5kAA)b@ndR_iB! zdPWQQ9rUdR~*ld$1?cPrZSr1GXgi8`Okm1xoVdplCu4_QT%(0qwn zM|#+S{aA^rnnj%Z>dTu%Nil`3p0E--geme7Ig>b2{S`0krd-mLD`Wyf>>63`0lFN< zxQ)D3=V_yGHN5qYkFB0-puXKk7aGUyHagSj-@p1zh<5o1p6a4Q81v#AxQmWQXXO8m C)dP6| delta 350 zcmca8aD|I+IWI340}$*?|CM3GJdsa=(P5&xIUgfK3Tq2P6lV%!FoP!B#6AgOwxZO$ zl++?k##!Qx7gBC zOH%X7idcXGnyk0ji&6_qQ;SQA1cCe_UJxNRc@MJ>t1OVoIhmJbUA-n(kpxIw97x<^ zOUX*iOV2N228n>}5P*p26=&oZl_Zyz6oZYv#RC;CEy>I&E&{o$2xR0+h9Wr-TLwt{ z;;_lhPbtkwwJTBvav6cRI1NaAU}j`wyurZP0EUydvCBFrUtmB%Hy9KzprQ|K0*vM# J7%&O2eE{EfTx9?N diff --git a/core/forms.py b/core/forms.py new file mode 100644 index 0000000..1037e18 --- /dev/null +++ b/core/forms.py @@ -0,0 +1,10 @@ +from django.contrib.auth.forms import UserCreationForm +from django import forms + +class SignUpForm(UserCreationForm): + class Meta(UserCreationForm.Meta): + fields = ("username", "email") + + def __init__(self, *args, **kwargs): + super(SignUpForm, self).__init__(*args, **kwargs) + self.fields['email'].required = True diff --git a/core/templates/base.html b/core/templates/base.html index 1e7e5fb..7bcaa84 100644 --- a/core/templates/base.html +++ b/core/templates/base.html @@ -14,6 +14,10 @@ {% endif %} {% load static %} + + + + {% block head %}{% endblock %} diff --git a/core/templates/core/index.html b/core/templates/core/index.html index faec813..c8f3132 100644 --- a/core/templates/core/index.html +++ b/core/templates/core/index.html @@ -1,145 +1,16 @@ -{% extends "base.html" %} - -{% block title %}{{ project_name }}{% endblock %} - -{% block head %} - - - - -{% endblock %} +{% extends 'base.html' %} +{% load static %} {% block content %} -
-
-

Analyzing your requirements and generating your app…

-
- Loading… +
+
+
+
+

Reflect and Grow

+

Your personal AI-powered self-reflection companion. Understand your year, set your goals, and unlock your potential.

+ Get Started +
+
-

AppWizzy AI is collecting your requirements and applying the first changes.

-

This page will refresh automatically as the plan is implemented.

-

- Runtime: Django {{ django_version }} · Python {{ python_version }} - — UTC {{ current_time|date:"Y-m-d H:i:s" }} -

-
-
-
- Page updated: {{ current_time|date:"Y-m-d H:i:s" }} (UTC) -
-{% endblock %} \ No newline at end of file + +{% endblock %} diff --git a/core/templates/registration/signup.html b/core/templates/registration/signup.html new file mode 100644 index 0000000..b858ff6 --- /dev/null +++ b/core/templates/registration/signup.html @@ -0,0 +1,10 @@ +{% extends 'base.html' %} + +{% block content %} +

Sign up

+
+ {% csrf_token %} + {{ form.as_p }} + +
+{% endblock %} diff --git a/core/urls.py b/core/urls.py index 6299e3d..46aedb3 100644 --- a/core/urls.py +++ b/core/urls.py @@ -1,7 +1,8 @@ from django.urls import path -from .views import home +from . import views urlpatterns = [ - path("", home, name="home"), + path("", views.home, name="home"), + path('signup/', views.signup, name='signup'), ] diff --git a/core/views.py b/core/views.py index c9aed12..33eef23 100644 --- a/core/views.py +++ b/core/views.py @@ -2,12 +2,14 @@ import os import platform from django import get_version as django_version -from django.shortcuts import render +from django.contrib.auth import login +from django.shortcuts import redirect, render from django.utils import timezone +from core.forms import SignUpForm def home(request): - """Render the landing screen with loader and environment details.""" + """Render the landing screen with loader and environment details.""" host_name = request.get_host().lower() agent_brand = "AppWizzy" if host_name == "appwizzy.com" else "Flatlogic" now = timezone.now() @@ -23,3 +25,14 @@ def home(request): "project_image_url": os.getenv("PROJECT_IMAGE_URL", ""), } return render(request, "core/index.html", context) + +def signup(request): + if request.method == 'POST': + form = SignUpForm(request.POST) + if form.is_valid(): + user = form.save() + login(request, user) + return redirect('home') + else: + form = SignUpForm() + return render(request, 'registration/signup.html', {'form': form}) diff --git a/static/css/custom.css b/static/css/custom.css index 925f6ed..de52d89 100644 --- a/static/css/custom.css +++ b/static/css/custom.css @@ -1,4 +1,24 @@ -/* Custom styles for the application */ body { - font-family: system-ui, -apple-system, sans-serif; + font-family: 'Roboto', sans-serif; + background-color: #f0f0f0; } + +h1, h2, h3, h4, h5, h6 { + font-family: 'Poppins', sans-serif; +} + +.hero-section { + background: linear-gradient(45deg, #1a1a2e, #16213e); + color: #ffffff; + padding: 100px 0; +} + +.btn-primary { + background-color: #e94560; + border-color: #e94560; +} + +.btn-primary:hover { + background-color: #d43d51; + border-color: #d43d51; +} \ No newline at end of file diff --git a/staticfiles/css/custom.css b/staticfiles/css/custom.css index 108056f..de52d89 100644 --- a/staticfiles/css/custom.css +++ b/staticfiles/css/custom.css @@ -1,21 +1,24 @@ - -:root { - --bg-color-start: #6a11cb; - --bg-color-end: #2575fc; - --text-color: #ffffff; - --card-bg-color: rgba(255, 255, 255, 0.01); - --card-border-color: rgba(255, 255, 255, 0.1); -} body { - margin: 0; - font-family: 'Inter', sans-serif; - background: linear-gradient(45deg, var(--bg-color-start), var(--bg-color-end)); - color: var(--text-color); - display: flex; - justify-content: center; - align-items: center; - min-height: 100vh; - text-align: center; - overflow: hidden; - position: relative; + font-family: 'Roboto', sans-serif; + background-color: #f0f0f0; } + +h1, h2, h3, h4, h5, h6 { + font-family: 'Poppins', sans-serif; +} + +.hero-section { + background: linear-gradient(45deg, #1a1a2e, #16213e); + color: #ffffff; + padding: 100px 0; +} + +.btn-primary { + background-color: #e94560; + border-color: #e94560; +} + +.btn-primary:hover { + background-color: #d43d51; + border-color: #d43d51; +} \ No newline at end of file