-
Analyzing your requirements and generating your app…
-
-
Loading…
+
+
+
Witaj w webFirma
+
Kompleksowe zarządzanie firmą w jednym miejscu.
- 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" }}
-
-
-
-
-{% endblock %}
\ No newline at end of file
+
+
+
+
+
+
Projekty
+
Dodaj projekt
+
+
+
+
+ {% if projects %}
+
+
+
+
+ | Nazwa projektu |
+ Kontrahent |
+ Data rozpoczęcia |
+ Data zakończenia |
+ Status |
+
+
+
+ {% for project in projects %}
+
+ | {{ project.name }} |
+ {{ project.client }} |
+ {{ project.start_date|date:"Y-m-d" }} |
+ {{ project.end_date|date:"Y-m-d" }} |
+ {{ project.get_status_display }} |
+
+ {% endfor %}
+
+
+
+ {% else %}
+
+
Brak projektów do wyświetlenia.
+
Utwórz swój pierwszy projekt, aby zacząć zarządzać pracą.
+
+ {% endif %}
+
+
+
+
+{% endblock %}
diff --git a/core/urls.py b/core/urls.py
index 6299e3d..ffbdf8e 100644
--- a/core/urls.py
+++ b/core/urls.py
@@ -1,7 +1,7 @@
from django.urls import path
-
-from .views import home
+from .views import index, add_project
urlpatterns = [
- path("", home, name="home"),
-]
+ path('', index, name='index'),
+ path('add-project/', add_project, name='add_project'),
+]
\ No newline at end of file
diff --git a/core/views.py b/core/views.py
index c9aed12..0bb211f 100644
--- a/core/views.py
+++ b/core/views.py
@@ -1,25 +1,17 @@
-import os
-import platform
+from django.shortcuts import render, redirect
+from .models import Project
+from .forms import ProjectForm
-from django import get_version as django_version
-from django.shortcuts import render
-from django.utils import timezone
+def index(request):
+ projects = Project.objects.all().order_by('-start_date')
+ return render(request, 'core/index.html', {'projects': projects})
-
-def home(request):
- """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()
-
- context = {
- "project_name": "New Style",
- "agent_brand": agent_brand,
- "django_version": django_version(),
- "python_version": platform.python_version(),
- "current_time": now,
- "host_name": host_name,
- "project_description": os.getenv("PROJECT_DESCRIPTION", ""),
- "project_image_url": os.getenv("PROJECT_IMAGE_URL", ""),
- }
- return render(request, "core/index.html", context)
+def add_project(request):
+ if request.method == 'POST':
+ form = ProjectForm(request.POST)
+ if form.is_valid():
+ form.save()
+ return redirect('index')
+ else:
+ form = ProjectForm()
+ return render(request, 'core/add_project.html', {'form': form})
\ No newline at end of file
diff --git a/static/css/custom.css b/static/css/custom.css
index 925f6ed..5846dab 100644
--- a/static/css/custom.css
+++ b/static/css/custom.css
@@ -1,4 +1,66 @@
-/* Custom styles for the application */
-body {
- font-family: system-ui, -apple-system, sans-serif;
+:root {
+ --bs-primary: #1A237E;
+ --bs-secondary: #6c757d;
+ --bs-success: #198754;
+ --bs-info: #0dcaf0;
+ --bs-warning: #ffc107;
+ --bs-danger: #dc3545;
+ --bs-light: #F5F5F5;
+ --bs-dark: #212121;
+ --bs-primary-rgb: 26, 35, 126;
+ --bs-font-sans-serif: 'Lato', sans-serif;
}
+
+h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
+ font-family: 'Poppins', sans-serif;
+ font-weight: 600;
+}
+
+body {
+ background-color: var(--bs-light);
+ color: var(--bs-dark);
+}
+
+.hero-section {
+ background: linear-gradient(to right, #1A237E, #2962FF);
+ padding: 4rem 0;
+ margin-bottom: -1px; /* Overlap to avoid gap */
+}
+
+.section-title {
+ color: var(--bs-primary);
+ font-weight: 700;
+}
+
+.btn-primary {
+ background-color: #2962FF;
+ border-color: #2962FF;
+ transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
+}
+
+.btn-primary:hover {
+ background-color: #1A237E;
+ border-color: #1A237E;
+}
+
+.card {
+ border: none;
+}
+
+.card-header.bg-primary {
+ background-color: var(--bs-primary) !important;
+}
+
+.table {
+ margin-bottom: 0;
+}
+
+.table th {
+ font-weight: 600;
+ color: var(--bs-dark);
+}
+
+.badge.bg-primary-soft {
+ color: var(--bs-primary);
+ background-color: rgba(var(--bs-primary-rgb), 0.1);
+}
\ No newline at end of file
diff --git a/staticfiles/css/custom.css b/staticfiles/css/custom.css
index 108056f..5846dab 100644
--- a/staticfiles/css/custom.css
+++ b/staticfiles/css/custom.css
@@ -1,21 +1,66 @@
-
: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);
+ --bs-primary: #1A237E;
+ --bs-secondary: #6c757d;
+ --bs-success: #198754;
+ --bs-info: #0dcaf0;
+ --bs-warning: #ffc107;
+ --bs-danger: #dc3545;
+ --bs-light: #F5F5F5;
+ --bs-dark: #212121;
+ --bs-primary-rgb: 26, 35, 126;
+ --bs-font-sans-serif: 'Lato', sans-serif;
}
+
+h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
+ font-family: 'Poppins', sans-serif;
+ font-weight: 600;
+}
+
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;
+ background-color: var(--bs-light);
+ color: var(--bs-dark);
}
+
+.hero-section {
+ background: linear-gradient(to right, #1A237E, #2962FF);
+ padding: 4rem 0;
+ margin-bottom: -1px; /* Overlap to avoid gap */
+}
+
+.section-title {
+ color: var(--bs-primary);
+ font-weight: 700;
+}
+
+.btn-primary {
+ background-color: #2962FF;
+ border-color: #2962FF;
+ transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
+}
+
+.btn-primary:hover {
+ background-color: #1A237E;
+ border-color: #1A237E;
+}
+
+.card {
+ border: none;
+}
+
+.card-header.bg-primary {
+ background-color: var(--bs-primary) !important;
+}
+
+.table {
+ margin-bottom: 0;
+}
+
+.table th {
+ font-weight: 600;
+ color: var(--bs-dark);
+}
+
+.badge.bg-primary-soft {
+ color: var(--bs-primary);
+ background-color: rgba(var(--bs-primary-rgb), 0.1);
+}
\ No newline at end of file