feat: onboarding trial flow, Google sign-in, dark mode hotspot fixes
- Move trial creation from auth hook to dedicated /subscriptions/trial endpoint with eligibility checks (3-day Full Paket trial) - Add animated onboarding progress (Remotion) with confetti on completion - Register redirects to subscription page with welcome flow - Add Google social login/signup support with config injection - Improve hotspot overlay visibility in dark mode - Show "Panele Git" on landing page when authenticated - Turkish translations for API error messages - Add toast utility wrapper, UUID generation for auth IDs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -29,7 +29,7 @@ export class PartsService {
|
||||
.where(eq(categories.id, categoryId))
|
||||
.limit(1);
|
||||
|
||||
if (!category) throw new NotFoundException("Category not found");
|
||||
if (!category) throw new NotFoundException("Kategori bulunamadı");
|
||||
|
||||
const [vehicle] = await this.db
|
||||
.select()
|
||||
@@ -37,7 +37,7 @@ export class PartsService {
|
||||
.where(eq(vehicles.id, category.vehicleId))
|
||||
.limit(1);
|
||||
|
||||
if (!vehicle) throw new NotFoundException("Vehicle not found");
|
||||
if (!vehicle) throw new NotFoundException("Araç bulunamadı");
|
||||
|
||||
const rawData = vehicle.rawData as any;
|
||||
const catalogInfo = rawData?.catalogInfo;
|
||||
@@ -132,7 +132,7 @@ export class PartsService {
|
||||
|
||||
async getById(id: string) {
|
||||
const [part] = await this.db.select().from(parts).where(eq(parts.id, id)).limit(1);
|
||||
if (!part) throw new NotFoundException("Part not found");
|
||||
if (!part) throw new NotFoundException("Parça bulunamadı");
|
||||
return part;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user