diff --git a/mywebdav/legal.py b/mywebdav/legal.py index 1eda6cb..2abea29 100644 --- a/mywebdav/legal.py +++ b/mywebdav/legal.py @@ -941,7 +941,7 @@ def get_all_legal_documents() -> Dict[str, LegalDocument]: } -def generate_legal_documents(template_dir: str = "templates/legal"): +def generate_legal_documents(template_dir: str = "mywebdav/templates/legal"): """Generate all legal documents as Jinja2 templates.""" import os diff --git a/mywebdav/main.py b/mywebdav/main.py index fda3e17..8eabd31 100644 --- a/mywebdav/main.py +++ b/mywebdav/main.py @@ -102,7 +102,7 @@ app = FastAPI( lifespan=lifespan, ) -templates = Jinja2Templates(directory="templates") +templates = Jinja2Templates(directory="mywebdav/templates") app.include_router(auth.router) app.include_router(users.router) diff --git a/mywebdav/templates/base.html b/mywebdav/templates/base.html new file mode 100644 index 0000000..517b751 --- /dev/null +++ b/mywebdav/templates/base.html @@ -0,0 +1,52 @@ + + + + + + {% block title %}MyWebdav - Cloud Storage{% endblock %} + + + + {% block extra_css %}{% endblock %} + + + +
+ +
+ +
+ {% block content %}{% endblock %} +
+ + + + {% block extra_js %}{% endblock %} + + diff --git a/mywebdav/templates/features.html b/mywebdav/templates/features.html new file mode 100644 index 0000000..dc9eb30 --- /dev/null +++ b/mywebdav/templates/features.html @@ -0,0 +1,266 @@ +{% extends "base.html" %} + +{% block title %}Features - MyWebdav Cloud Storage{% endblock %} + +{% block description %}Discover MyWebdav's powerful features: secure storage, WebDAV support, file sharing, and more.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
+

POWERFUL FEATURES

+

Everything you need for secure, reliable cloud storage

+ +
+
+
🔒
+

Enterprise-Grade Security

+

Your data is protected with industry-leading security measures.

+
    +
  • AES-256 encryption at rest
  • +
  • TLS 1.3 encryption in transit
  • +
  • Two-factor authentication (TOTP)
  • +
  • Regular security audits
  • +
  • GDPR compliant
  • +
+
+ +
+
📁
+

WebDAV Protocol Support

+

Mount your storage as a network drive on any device.

+
    +
  • Windows, macOS, Linux support
  • +
  • Standard WebDAV protocol
  • +
  • Works with native file explorers
  • +
  • No additional software needed
  • +
  • Full file system operations
  • +
+
+ +
+
🔄
+

File Versioning

+

Never lose important data with automatic version history.

+
    +
  • Automatic version tracking
  • +
  • Restore previous versions
  • +
  • Version comparison
  • +
  • Configurable retention
  • +
  • No additional cost
  • +
+
+ +
+
🤝
+

Sharing & Collaboration

+

Share files securely with team members or external partners.

+
    +
  • Shareable links with expiration
  • +
  • Password protection
  • +
  • Access control management
  • +
  • Share tracking and analytics
  • +
  • Public and private sharing
  • +
+
+ +
+
+

High Performance

+

Fast upload and download speeds with global CDN.

+
    +
  • Global edge network
  • +
  • Parallel upload/download
  • +
  • Resume interrupted transfers
  • +
  • Optimized for large files
  • +
  • Sub-second file access
  • +
+
+ +
+
🔍
+

Full-Text Search

+

Find your files instantly with powerful search capabilities.

+
    +
  • Search file names and content
  • +
  • Filter by type and date
  • +
  • Advanced query syntax
  • +
  • Instant results
  • +
  • Search in shared folders
  • +
+
+ +
+
🖼️
+

Media Thumbnails

+

Preview images and videos without downloading.

+
    +
  • Automatic thumbnail generation
  • +
  • Image preview
  • +
  • Video thumbnails
  • +
  • Multiple size options
  • +
  • Fast loading
  • +
+
+ +
+
💰
+

Pay-As-You-Go Pricing

+

Only pay for what you use with transparent billing.

+
    +
  • No minimum commitment
  • +
  • $5 per TB per month
  • +
  • 15GB free tier
  • +
  • Detailed usage tracking
  • +
  • Monthly invoicing
  • +
+
+ +
+
🛡️
+

Data Residency

+

Your data stays in the EU with full GDPR compliance.

+
    +
  • EU-based data centers
  • +
  • No data transfers outside EU
  • +
  • GDPR and NIS2 compliant
  • +
  • ISO 27001 certified
  • +
  • Full data sovereignty
  • +
+
+ +
+
📊
+

Activity Logging

+

Complete audit trail of all file operations.

+
    +
  • Detailed activity logs
  • +
  • File access tracking
  • +
  • User action history
  • +
  • Compliance reporting
  • +
  • Export capabilities
  • +
+
+ +
+
🔌
+

API Access

+

Integrate MyWebdav with your applications.

+
    +
  • RESTful API
  • +
  • OAuth2 authentication
  • +
  • Comprehensive documentation
  • +
  • WebDAV protocol support
  • +
  • Developer-friendly
  • +
+
+ +
+
+

Favorites & Organization

+

Organize files your way with folders and favorites.

+
    +
  • Unlimited folder hierarchy
  • +
  • Star important files
  • +
  • Quick access favorites
  • +
  • Drag and drop organization
  • +
  • Bulk operations
  • +
+
+
+ +
+ Get Started Today +
+
+{% endblock %} diff --git a/mywebdav/templates/legal/compliance_statement.html b/mywebdav/templates/legal/compliance_statement.html new file mode 100644 index 0000000..f6fab4b --- /dev/null +++ b/mywebdav/templates/legal/compliance_statement.html @@ -0,0 +1,164 @@ +{% extends "base.html" %} + +{% block title %}Compliance Statement - MyWebdav{% endblock %} + +{% block description %}Compliance Statement for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/legal/contact_complaint_mechanism.html b/mywebdav/templates/legal/contact_complaint_mechanism.html new file mode 100644 index 0000000..1b80a81 --- /dev/null +++ b/mywebdav/templates/legal/contact_complaint_mechanism.html @@ -0,0 +1,196 @@ +{% extends "base.html" %} + +{% block title %}Contact and Complaint Mechanism - MyWebdav{% endblock %} + +{% block description %}Contact and Complaint Mechanism for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/legal/cookie_policy.html b/mywebdav/templates/legal/cookie_policy.html new file mode 100644 index 0000000..2da98e8 --- /dev/null +++ b/mywebdav/templates/legal/cookie_policy.html @@ -0,0 +1,171 @@ +{% extends "base.html" %} + +{% block title %}Cookie Policy - MyWebdav{% endblock %} + +{% block description %}Cookie Policy for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/legal/data_portability_deletion_policy.html b/mywebdav/templates/legal/data_portability_deletion_policy.html new file mode 100644 index 0000000..9f685bc --- /dev/null +++ b/mywebdav/templates/legal/data_portability_deletion_policy.html @@ -0,0 +1,182 @@ +{% extends "base.html" %} + +{% block title %}Data Portability and Deletion Policy - MyWebdav{% endblock %} + +{% block description %}Data Portability and Deletion Policy for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/legal/data_processing_agreement.html b/mywebdav/templates/legal/data_processing_agreement.html new file mode 100644 index 0000000..e4c30c4 --- /dev/null +++ b/mywebdav/templates/legal/data_processing_agreement.html @@ -0,0 +1,163 @@ +{% extends "base.html" %} + +{% block title %}Data Processing Agreement - MyWebdav{% endblock %} + +{% block description %}Data Processing Agreement for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/legal/privacy_policy.html b/mywebdav/templates/legal/privacy_policy.html new file mode 100644 index 0000000..ef91029 --- /dev/null +++ b/mywebdav/templates/legal/privacy_policy.html @@ -0,0 +1,259 @@ +{% extends "base.html" %} + +{% block title %}Privacy Policy - MyWebdav{% endblock %} + +{% block description %}Privacy Policy for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/legal/security_policy.html b/mywebdav/templates/legal/security_policy.html new file mode 100644 index 0000000..928452e --- /dev/null +++ b/mywebdav/templates/legal/security_policy.html @@ -0,0 +1,210 @@ +{% extends "base.html" %} + +{% block title %}Security Policy - MyWebdav{% endblock %} + +{% block description %}Security Policy for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/legal/terms_of_service.html b/mywebdav/templates/legal/terms_of_service.html new file mode 100644 index 0000000..5db2d6b --- /dev/null +++ b/mywebdav/templates/legal/terms_of_service.html @@ -0,0 +1,218 @@ +{% extends "base.html" %} + +{% block title %}Terms of Service - MyWebdav{% endblock %} + +{% block description %}Terms of Service for MyWebdav cloud storage service.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} + +{% endblock %} diff --git a/mywebdav/templates/pricing.html b/mywebdav/templates/pricing.html new file mode 100644 index 0000000..4b2784e --- /dev/null +++ b/mywebdav/templates/pricing.html @@ -0,0 +1,377 @@ +{% extends "base.html" %} + +{% block title %}Pricing - MyWebdav Cloud Storage{% endblock %} + +{% block description %}Simple, transparent pay-as-you-go pricing. Only pay for what you use with no hidden fees.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
+

SIMPLE, TRANSPARENT PRICING

+

Pay only for what you use. No hidden fees, no surprises.

+ +
+

Pay-As-You-Go Storage

+
$5/TB
+

Plus 15GB free tier included

+
+ +
+
+
Free Tier
+
$0
+
First 15GB included
+
    +
  • 15GB storage included
  • +
  • 15GB bandwidth per month
  • +
  • All core features
  • +
  • WebDAV support
  • +
  • File versioning
  • +
  • Two-factor authentication
  • +
  • EU data residency
  • +
+ +
+ + + +
+
Enterprise
+
Custom
+
Contact us for pricing
+
    +
  • Volume discounts available
  • +
  • Dedicated account manager
  • +
  • Custom SLA options
  • +
  • Priority support 24/7
  • +
  • Custom integrations
  • +
  • Training and onboarding
  • +
  • Compliance assistance
  • +
  • Dedicated infrastructure
  • +
+ +
+
+ +
+

Pricing Calculator

+
+
+ + +
+
+ + +
+
+
+
Estimated Monthly Cost
+
$0.00
+
+
+ +
+

Frequently Asked Questions

+ +
+
How is storage calculated?
+
Storage is calculated based on your average daily usage throughout the month. You're charged $0.0045 per GB per month ($5 per TB). The first 15GB is always free.
+
+ +
+
What is bandwidth egress?
+
Bandwidth egress is data transferred out of MyWebdav (downloads). You're charged $0.009 per GB. The first 15GB per month is free. Uploads (ingress) are always free.
+
+ +
+
Are there any hidden fees?
+
No. We believe in transparent pricing. You only pay for storage and egress bandwidth as shown. There are no setup fees, minimum charges, or surprise costs.
+
+ +
+
Can I cancel anytime?
+
Yes. There are no long-term contracts or commitments. You can delete your account at any time and will only be charged for usage up to that point.
+
+ +
+
What payment methods do you accept?
+
We accept all major credit cards (Visa, Mastercard, American Express) and SEPA direct debit through our payment processor Stripe.
+
+ +
+
Do you offer volume discounts?
+
Yes. For storage over 10TB or bandwidth over 5TB per month, please contact our sales team for custom pricing.
+
+
+
+ + +{% endblock %} diff --git a/mywebdav/templates/splash.html b/mywebdav/templates/splash.html new file mode 100644 index 0000000..aa158ac --- /dev/null +++ b/mywebdav/templates/splash.html @@ -0,0 +1,35 @@ +{% extends "base.html" %} + +{% block title %}MyWebdav - Pay-As-You-Go Cloud Storage{% endblock %} + +{% block description %}Store what you need, only pay for what you use. $5/TB cloud storage with MyWebdav.{% endblock %} + +{% block content %} +
+
+

PAY-AS-YOU-GO
CLOUD STORAGE

+
$5/TB
+

Store what you need, only pay for what you use

+
+ Login + Sign Up +
+
+
+ + + + + + + + + + +
+
+{% endblock %} diff --git a/mywebdav/templates/support.html b/mywebdav/templates/support.html new file mode 100644 index 0000000..cff6385 --- /dev/null +++ b/mywebdav/templates/support.html @@ -0,0 +1,432 @@ +{% extends "base.html" %} + +{% block title %}Support - MyWebdav Cloud Storage{% endblock %} + +{% block description %}Get help with MyWebdav. Contact our support team or find answers in our knowledge base.{% endblock %} + +{% block extra_css %} + +{% endblock %} + +{% block content %} +
+

WE'RE HERE TO HELP

+

Get the support you need, when you need it

+ +
+
+
📧
+

Email Support

+

Send us an email and we'll respond within 24 hours.

+ Email Us +
+ +
+
📚
+

Documentation

+

Browse our comprehensive guides and API documentation.

+ View Docs +
+ +
+
💬
+

Community Forum

+

Connect with other users and share knowledge.

+ Join Forum +
+
+ +
+

Service Status

+
+ + All Systems Operational +
+

99.9% uptime over the last 30 days

+
+ +
+

Contact Information

+
+
+
📧
+
General Support
+ +
+ +
+
🔧
+
Technical Support
+ +
+ +
+
💰
+
Billing Inquiries
+ +
+ +
+
🔒
+
Data Protection
+ +
+ +
+
⚖️
+
Legal Matters
+ +
+ +
+
🏢
+
Sales & Enterprise
+ +
+
+
+ +
+

Knowledge Base

+ +
+ +
+

Response Times

+
+
+
24 hours
+
General Inquiries
+
+
+
4 hours
+
Technical Issues
+
+
+
5 days
+
Complaint Response
+
+
+
30 days
+
GDPR Requests
+
+
+
+
+{% endblock %} diff --git a/static/css/splash.css b/static/css/splash.css new file mode 100644 index 0000000..2e67a37 --- /dev/null +++ b/static/css/splash.css @@ -0,0 +1,218 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; + background: #f5f5f5; + color: #333; + min-height: 100vh; + display: flex; + flex-direction: column; +} + +.header { + background: white; + border-bottom: 2px solid #e0e0e0; + padding: 1rem 0; +} + +.nav-container { + max-width: 1200px; + margin: 0 auto; + padding: 0 2rem; + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + display: flex; + align-items: center; + gap: 0.5rem; + font-size: 1.5rem; + font-weight: 600; +} + +.logo-icon { + color: #1976d2; + font-size: 1.8rem; +} + +.logo-text { + color: #333; +} + +.logo-webdav { + color: #d32f2f; +} + +.nav-menu { + display: flex; + gap: 2rem; + list-style: none; +} + +.nav-menu a { + color: #1976d2; + text-decoration: none; + font-weight: 500; + transition: color 0.2s; +} + +.nav-menu a:hover { + color: #1565c0; +} + +.hero-section { + flex: 1; + display: flex; + align-items: center; + justify-content: space-between; + max-width: 1200px; + margin: 0 auto; + padding: 4rem 2rem; + gap: 4rem; +} + +.hero-content { + flex: 1; + max-width: 600px; +} + +.hero-title { + font-size: 3rem; + font-weight: 700; + color: #1565c0; + line-height: 1.2; + margin-bottom: 1rem; +} + +.hero-price { + font-size: 4rem; + font-weight: 700; + color: #d32f2f; + margin-bottom: 1rem; +} + +.hero-subtitle { + font-size: 1.125rem; + color: #555; + margin-bottom: 2rem; +} + +.hero-actions { + display: flex; + gap: 1rem; +} + +.btn { + padding: 0.875rem 2rem; + border-radius: 4px; + text-decoration: none; + font-weight: 600; + font-size: 1rem; + transition: all 0.2s; + display: inline-block; + border: none; + cursor: pointer; +} + +.btn-primary { + background: #d32f2f; + color: white; +} + +.btn-primary:hover { + background: #c62828; + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(211, 47, 47, 0.3); +} + +.btn-secondary { + background: transparent; + color: #1976d2; + border: 2px solid #1976d2; +} + +.btn-secondary:hover { + background: #1976d2; + color: white; +} + +.hero-image { + flex: 1; + display: flex; + align-items: center; + justify-content: center; +} + +.cloud-icon { + width: 100%; + max-width: 400px; + height: auto; +} + +.footer { + background: white; + border-top: 2px solid #e0e0e0; + padding: 2rem; + text-align: center; +} + +.footer-links { + display: flex; + justify-content: center; + gap: 1.5rem; + margin-bottom: 1rem; + flex-wrap: wrap; + max-width: 1200px; + margin-left: auto; + margin-right: auto; +} + +.footer-links a { + color: #1976d2; + text-decoration: none; + font-size: 0.875rem; +} + +.footer-links a:hover { + text-decoration: underline; +} + +.footer-copyright { + color: #666; + font-size: 0.875rem; +} + +@media (max-width: 768px) { + .hero-section { + flex-direction: column; + text-align: center; + } + + .hero-title { + font-size: 2rem; + } + + .hero-price { + font-size: 3rem; + } + + .hero-actions { + justify-content: center; + flex-wrap: wrap; + } + + .nav-menu { + gap: 1rem; + } + + .footer-links { + flex-direction: column; + gap: 0.5rem; + } +}