Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions backend/pkg/billing/hooks.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,14 +173,14 @@ func CheckUploadAllowed(ctx context.Context, userID string, fileSize int64) (boo
func GetUserStorageLimit(ctx context.Context, userID string) int64 {
provider := GetProvider()
if provider == nil {
// Limite par défaut: 5 Go
return 5 * 1024 * 1024 * 1024
// Limite par défaut: 20 Go
return 20 * 1024 * 1024 * 1024
}

plan, err := provider.GetUserPlan(ctx, userID)
if err != nil {
log.Printf("[Billing] Error getting user plan: %v", err)
return 5 * 1024 * 1024 * 1024
return 20 * 1024 * 1024 * 1024
}

return plan.StorageLimitGB * 1024 * 1024 * 1024
Expand Down
4 changes: 2 additions & 2 deletions backend/pkg/billing/mock_provider.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ func (m *MockProvider) getPlans() []Plan {
return []Plan{
{
Code: "free", Name: "Gratuit",
Description: "5 Go de stockage, 5 partages P2P actifs",
StorageLimitGB: 5, P2PSharesLimit: 5,
Description: "20 Go de stockage, 5 partages P2P actifs",
StorageLimitGB: 20, P2PSharesLimit: 5,
PriceMonthly: 0, PriceYearly: 0, Currency: "EUR",
Features: map[string]interface{}{"p2p_enabled": true},
},
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ const route = useRoute()

// Check if current route is a landing page
const isLandingPage = computed(() => {
return ['LandingHome', 'Pricing', 'Transfer'].includes(route.name)
return ['LandingHome', 'Pricing', 'Transfer', 'Compare'].includes(route.name)
})

// Connect Supabase Realtime and fetch billing status when authenticated.
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/billing/BillingDashboard.vue
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
<svg class="check-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<polyline points="20 6 9 17 4 12"></polyline>
</svg>
<span>5 Go de stockage</span>
<span>20 Go de stockage</span>
</div>
<div class="feature-item" v-if="currentPlan?.code === 'pro'">
<svg class="check-icon" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
Expand Down
2 changes: 2 additions & 0 deletions frontend/src/components/landing/LandingNav.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<div class="nav-links">
<router-link to="/" class="nav-link">Accueil</router-link>
<router-link to="/transfer" class="nav-link">Transfert P2P</router-link>
<router-link to="/compare" class="nav-link">Comparatif</router-link>
<router-link to="/login" class="nav-btn">Connexion</router-link>
</div>

Expand All @@ -33,6 +34,7 @@
<div class="mobile-menu" :class="{ open: isMenuOpen }">
<router-link to="/" class="mobile-link" @click="closeMenu">Accueil</router-link>
<router-link to="/transfer" class="mobile-link" @click="closeMenu">Transfert P2P</router-link>
<router-link to="/compare" class="mobile-link" @click="closeMenu">Comparatif</router-link>
<router-link to="/login" class="mobile-btn" @click="closeMenu">Connexion</router-link>
</div>
</nav>
Expand Down
5 changes: 5 additions & 0 deletions frontend/src/router/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,11 @@ const routes = [
name: 'Transfer',
component: LandingTransfer,
},
{
path: '/compare',
name: 'Compare',
component: () => import('../views/landing/CompareView.vue'),
},
{
path: '/login',
name: 'Login',
Expand Down
5 changes: 3 additions & 2 deletions frontend/src/views/PrivacyPolicy.vue
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

<section>
<h2>2. Responsable de traitement</h2>
<p>Le responsable du traitement des données est [NOM DU RESPONSABLE OU DE L'ENTREPRISE], joignable à l'adresse suivante : [ADRESSE] ou par email à [EMAIL DE CONTACT].</p>
<p>Le responsable du traitement des données est Buuuntyyy, joignable à l'adresse suivante par email : contact@kagibi.cloud.</p>
</section>

<section>
Expand Down Expand Up @@ -63,7 +63,7 @@
<li><strong>Droit d'opposition :</strong> Vous pouvez vous opposer au traitement de vos données pour des motifs légitimes.</li>
<li><strong>Sort des données après la mort :</strong> Conformément à la loi "Informatique et Libertés", vous pouvez définir des directives relatives à la conservation, à l'effacement et à la communication de vos données après votre décès.</li>
</ul>
<p>Pour exercer ces droits, vous pouvez nous contacter à l'adresse : [EMAIL DE CONTACT].</p>
<p>Pour exercer ces droits, vous pouvez nous contacter à l'adresse : contact@kagibi.cloud.</p>
<p>Si vous estimez, après nous avoir contactés, que vos droits "Informatique et Libertés" ne sont pas respectés, vous pouvez adresser une réclamation à la CNIL.</p>
</section>

Expand All @@ -86,6 +86,7 @@
.legal-container {
display: flex;
justify-content: center;
align-items: flex-start;
padding: 40px 20px;
background-color: var(--background-color, #f5f7fa);
min-height: 100vh;
Expand Down
9 changes: 5 additions & 4 deletions frontend/src/views/TermsOfService.vue
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@

<section>
<h2>2. Mentions Légales</h2>
<p>L'édition du site Kagibi est assurée par [NOM DE L'ENTREPRISE OU DE L'INDIVIDU], dont le siège social est situé à [ADRESSE COMPLETE].</p>
<p>Adresse e-mail de contact : [EMAIL DE CONTACT]</p>
<p>L'hébergeur du Service est : [NOM DE L'HEBERGEUR, ex: AWS, OVH, Google Cloud], situé à [ADRESSE DE L'HEBERGEUR].</p>
<p>L'édition du site Kagibi est assurée par Buuuntyyy.</p>
<p>Adresse e-mail de contact : contact@kagibi.cloud</p>
<p>L'hébergeur du Service est : OVH France.</p>
</section>

<section>
<h2>3. Accès au Service</h2>
<p>Le Service permet à l'Utilisateur un accès gratuit ou payant aux services suivants :</p>
<p>Le Service permet à l'Utilisateur un accès gratuit aux services suivants :</p>
<ul>
<li>Stockage de fichiers en ligne (Cloud) ;</li>
<li>Partage de fichiers et de dossiers via des liens sécurisés ;</li>
Expand Down Expand Up @@ -77,6 +77,7 @@
.legal-container {
display: flex;
justify-content: center;
align-items: flex-start;
padding: 40px 20px;
background-color: var(--background-color, #f5f7fa);
min-height: 100vh;
Expand Down
19 changes: 18 additions & 1 deletion frontend/src/views/account.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,15 @@
<template>
<div class="account-page">
<div class="page-header">
<h1>{{ t('account.title') }}</h1>
<div class="header-content">
<button class="btn-back" @click="router.push('/dashboard')">
<svg viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M19 12H5M12 19l-7-7 7-7"/>
</svg>
Retour
</button>
<h1>{{ t('account.title') }}</h1>
</div>
<p class="subtitle">{{ t('account.subtitle') }}</p>
</div>

Expand Down Expand Up @@ -818,6 +826,15 @@ const executeDeleteAccount = async () => {
margin-bottom: 2rem;
}

.header-content { display: flex; align-items: center; gap: 16px; margin-bottom: 8px; }

.btn-back {
background: none; border: none; display: flex; align-items: center; justify-content: center;
gap: 6px; color: var(--secondary-text-color); cursor: pointer; font-size: 0.9rem;
padding: 6px 12px; border-radius: 8px; transition: all 0.2s;
}
.btn-back:hover { background-color: var(--hover-background-color); color: var(--primary-color); }

.page-header h1 {
font-size: 2rem;
margin: 0;
Expand Down
Loading
Loading