-
Loading…
+
+
+
Effortless Scheduling for Modern Teams
+
Shiftly Scheduler helps you create, manage, and update shift schedules with ease, giving your team the power to view and manage their work from anywhere.
+
-
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" }}
-
-
+
+
+
+
+
+
Create Schedules Fast
+
Use templates and our intuitive calendar to build and publish schedules in minutes, not hours.
+
+
+
Empower Your Team
+
Employees can view their shifts, request swaps, and submit time-off requests directly from their phones.
+
+
+
Stay in Sync
+
Automated notifications keep everyone updated on schedule changes, approvals, and requests.
+
+
+
+
-{% endblock %}
\ No newline at end of file
+
+
+{% endblock %}
diff --git a/static/css/custom.css b/static/css/custom.css
index 925f6ed..6b7465d 100644
--- a/static/css/custom.css
+++ b/static/css/custom.css
@@ -1,4 +1,117 @@
-/* Custom styles for the application */
-body {
- font-family: system-ui, -apple-system, sans-serif;
+/* Custom styles for Shiftly Scheduler */
+
+:root {
+ --primary-color: #4A90E2;
+ --secondary-color: #F5A623;
+ --text-color: #333333;
+ --bg-color: #FFFFFF;
+ --hero-gradient-start: #4A90E2;
+ --hero-gradient-end: #7AC9E3;
}
+
+body {
+ font-family: 'Lato', sans-serif;
+ color: var(--text-color);
+ background-color: var(--bg-color);
+ margin: 0;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: 'Poppins', sans-serif;
+ font-weight: 700;
+}
+
+.hero {
+ background: linear-gradient(135deg, var(--hero-gradient-start), var(--hero-gradient-end));
+ color: white;
+ padding: 100px 20px;
+ text-align: center;
+ position: relative;
+ overflow: hidden;
+}
+
+.hero h1 {
+ font-size: 3.5rem;
+ margin-bottom: 0.5rem;
+}
+
+.hero p {
+ font-size: 1.25rem;
+ max-width: 600px;
+ margin: 0 auto 2rem auto;
+}
+
+.btn {
+ border-radius: 50px;
+ padding: 12px 30px;
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ transition: all 0.3s ease;
+}
+
+.btn-primary-custom {
+ background-color: var(--primary-color);
+ border-color: var(--primary-color);
+ color: white;
+}
+
+.btn-primary-custom:hover {
+ background-color: #357ABD;
+ border-color: #357ABD;
+ transform: translateY(-2px);
+ box-shadow: 0 4px 10px rgba(0,0,0,0.1);
+}
+
+.btn-secondary-custom {
+ background-color: var(--secondary-color);
+ border-color: var(--secondary-color);
+ color: white;
+}
+
+.btn-secondary-custom:hover {
+ background-color: #D98E1F;
+ border-color: #D98E1F;
+ transform: translateY(-2px);
+ box-shadow: 0 4px 10px rgba(0,0,0,0.1);
+}
+
+.btn-group .btn {
+ margin: 0 10px;
+}
+
+/* Decorative shapes */
+.hero::before, .hero::after {
+ content: '';
+ position: absolute;
+ border-radius: 50%;
+ background: rgba(255, 255, 255, 0.1);
+ z-index: 1;
+}
+
+.hero::before {
+ width: 150px;
+ height: 150px;
+ top: -50px;
+ left: -50px;
+}
+
+.hero::after {
+ width: 200px;
+ height: 200px;
+ bottom: -100px;
+ right: -80px;
+}
+
+.container {
+ position: relative;
+ z-index: 2;
+}
+
+footer {
+ text-align: center;
+ padding: 2rem 0;
+ margin-top: 4rem;
+ background-color: #f8f9fa;
+ border-top: 1px solid #e7e7e7;
+}
\ No newline at end of file
diff --git a/staticfiles/css/custom.css b/staticfiles/css/custom.css
index 108056f..6b7465d 100644
--- a/staticfiles/css/custom.css
+++ b/staticfiles/css/custom.css
@@ -1,21 +1,117 @@
+/* Custom styles for Shiftly Scheduler */
: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);
+ --primary-color: #4A90E2;
+ --secondary-color: #F5A623;
+ --text-color: #333333;
+ --bg-color: #FFFFFF;
+ --hero-gradient-start: #4A90E2;
+ --hero-gradient-end: #7AC9E3;
}
+
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: 'Lato', sans-serif;
+ color: var(--text-color);
+ background-color: var(--bg-color);
+ margin: 0;
}
+
+h1, h2, h3, h4, h5, h6 {
+ font-family: 'Poppins', sans-serif;
+ font-weight: 700;
+}
+
+.hero {
+ background: linear-gradient(135deg, var(--hero-gradient-start), var(--hero-gradient-end));
+ color: white;
+ padding: 100px 20px;
+ text-align: center;
+ position: relative;
+ overflow: hidden;
+}
+
+.hero h1 {
+ font-size: 3.5rem;
+ margin-bottom: 0.5rem;
+}
+
+.hero p {
+ font-size: 1.25rem;
+ max-width: 600px;
+ margin: 0 auto 2rem auto;
+}
+
+.btn {
+ border-radius: 50px;
+ padding: 12px 30px;
+ font-weight: 700;
+ text-transform: uppercase;
+ letter-spacing: 1px;
+ transition: all 0.3s ease;
+}
+
+.btn-primary-custom {
+ background-color: var(--primary-color);
+ border-color: var(--primary-color);
+ color: white;
+}
+
+.btn-primary-custom:hover {
+ background-color: #357ABD;
+ border-color: #357ABD;
+ transform: translateY(-2px);
+ box-shadow: 0 4px 10px rgba(0,0,0,0.1);
+}
+
+.btn-secondary-custom {
+ background-color: var(--secondary-color);
+ border-color: var(--secondary-color);
+ color: white;
+}
+
+.btn-secondary-custom:hover {
+ background-color: #D98E1F;
+ border-color: #D98E1F;
+ transform: translateY(-2px);
+ box-shadow: 0 4px 10px rgba(0,0,0,0.1);
+}
+
+.btn-group .btn {
+ margin: 0 10px;
+}
+
+/* Decorative shapes */
+.hero::before, .hero::after {
+ content: '';
+ position: absolute;
+ border-radius: 50%;
+ background: rgba(255, 255, 255, 0.1);
+ z-index: 1;
+}
+
+.hero::before {
+ width: 150px;
+ height: 150px;
+ top: -50px;
+ left: -50px;
+}
+
+.hero::after {
+ width: 200px;
+ height: 200px;
+ bottom: -100px;
+ right: -80px;
+}
+
+.container {
+ position: relative;
+ z-index: 2;
+}
+
+footer {
+ text-align: center;
+ padding: 2rem 0;
+ margin-top: 4rem;
+ background-color: #f8f9fa;
+ border-top: 1px solid #e7e7e7;
+}
\ No newline at end of file