chore: add token revocation, caching, concurrency, and WebDAV lock modules
This commit is contained in:
@@ -2,97 +2,98 @@
|
||||
|
||||
{% block title %}Features - MyWebdav Cloud Storage{% endblock %}
|
||||
|
||||
{% block description %}Discover MyWebdav's powerful features: secure storage, WebDAV support, file sharing, and more.{% endblock %}
|
||||
{% block description %}Discover MyWebdav's powerful features: secure storage, WebDAV support, file sharing, and more.{%
|
||||
endblock %}
|
||||
|
||||
{% block extra_css %}
|
||||
<style>
|
||||
.content-section {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 4rem 2rem;
|
||||
}
|
||||
.content-section {
|
||||
max-width: 1200px;
|
||||
margin: 0 auto;
|
||||
padding: 4rem 2rem;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
font-size: 3rem;
|
||||
font-weight: 700;
|
||||
color: #1565c0;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.page-subtitle {
|
||||
font-size: 1.25rem;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.features-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||
gap: 2rem;
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
background: white;
|
||||
border-radius: 8px;
|
||||
padding: 2rem;
|
||||
border: 2px solid #e0e0e0;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.feature-card:hover {
|
||||
border-color: #1976d2;
|
||||
box-shadow: 0 4px 12px rgba(25, 118, 210, 0.1);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.feature-icon {
|
||||
font-size: 2.5rem;
|
||||
color: #d32f2f;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.feature-title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.feature-description {
|
||||
color: #666;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.feature-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.feature-list li {
|
||||
padding: 0.5rem 0;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.feature-list li:before {
|
||||
content: "✓ ";
|
||||
color: #d32f2f;
|
||||
font-weight: bold;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.page-title {
|
||||
font-size: 2rem;
|
||||
font-size: 3rem;
|
||||
font-weight: 700;
|
||||
color: #1565c0;
|
||||
text-align: center;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.page-subtitle {
|
||||
font-size: 1.25rem;
|
||||
color: #666;
|
||||
text-align: center;
|
||||
margin-bottom: 3rem;
|
||||
}
|
||||
|
||||
.features-grid {
|
||||
grid-template-columns: 1fr;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
|
||||
gap: 2rem;
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
.feature-card {
|
||||
background: white;
|
||||
border-radius: 8px;
|
||||
padding: 2rem;
|
||||
border: 2px solid #e0e0e0;
|
||||
transition: all 0.3s;
|
||||
}
|
||||
|
||||
.feature-card:hover {
|
||||
border-color: #1976d2;
|
||||
box-shadow: 0 4px 12px rgba(25, 118, 210, 0.1);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.feature-icon {
|
||||
font-size: 2.5rem;
|
||||
color: #d32f2f;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.feature-title {
|
||||
font-size: 1.5rem;
|
||||
font-weight: 600;
|
||||
color: #333;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.feature-description {
|
||||
color: #666;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
.feature-list {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin-top: 1rem;
|
||||
}
|
||||
|
||||
.feature-list li {
|
||||
padding: 0.5rem 0;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.feature-list li:before {
|
||||
content: "✓ ";
|
||||
color: #d32f2f;
|
||||
font-weight: bold;
|
||||
margin-right: 0.5rem;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.page-title {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.features-grid {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
{% endblock %}
|
||||
|
||||
@@ -107,7 +108,7 @@
|
||||
<h2 class="feature-title">Enterprise-Grade Security</h2>
|
||||
<p class="feature-description">Your data is protected with industry-leading security measures.</p>
|
||||
<ul class="feature-list">
|
||||
<li>AES-256 encryption at rest</li>
|
||||
<li>Secure file storage</li>
|
||||
<li>TLS 1.3 encryption in transit</li>
|
||||
<li>Two-factor authentication (TOTP)</li>
|
||||
<li>Regular security audits</li>
|
||||
@@ -157,9 +158,9 @@
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon">⚡</div>
|
||||
<h2 class="feature-title">High Performance</h2>
|
||||
<p class="feature-description">Fast upload and download speeds with global CDN.</p>
|
||||
<p class="feature-description">Fast upload and download speeds.</p>
|
||||
<ul class="feature-list">
|
||||
<li>Global edge network</li>
|
||||
<li>High-speed transfer</li>
|
||||
<li>Parallel upload/download</li>
|
||||
<li>Resume interrupted transfers</li>
|
||||
<li>Optimized for large files</li>
|
||||
@@ -169,10 +170,10 @@
|
||||
|
||||
<div class="feature-card">
|
||||
<div class="feature-icon">🔍</div>
|
||||
<h2 class="feature-title">Full-Text Search</h2>
|
||||
<h2 class="feature-title">Instant File Search</h2>
|
||||
<p class="feature-description">Find your files instantly with powerful search capabilities.</p>
|
||||
<ul class="feature-list">
|
||||
<li>Search file names and content</li>
|
||||
<li>Search file names</li>
|
||||
<li>Filter by type and date</li>
|
||||
<li>Advanced query syntax</li>
|
||||
<li>Instant results</li>
|
||||
@@ -263,4 +264,4 @@
|
||||
<a href="/app" class="btn btn-primary" style="font-size: 1.125rem; padding: 1rem 3rem;">Get Started Today</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user