Skip to content

Commit 856b94b

Browse files
Release v0.0.6 (#20)
* feat: init base of feature * chore: remove loading only in fail in signin * feat: add i18n * feat: update roadmap docs * feat: update github templates * feat: add i18n in mobile * refactor: create navbar dashboard component and add languague selector in dashboard * chore: update future roadmap * chore: create issue finalized markdown template * fix: add vercel json to use public in static * fix: get locale in production with fetch * chore: remove vercel file * fix: moving locales to src * chore: move location to src * chore: remove useless locale public files * chore: add env.example in project github * Create CI/CD Pipeline for Build and Testing Before Deployment to Vercel enhancement New feature or request (#12) * feat: create pipeline * fix: pull request template * fix: run pipeline in all branches * chore: fix pipeline using env * chore: fix pipeline using env 2 * chore: update ci pipeline * chore: add all supabase vars * chore: update packages * feat: add Multi-Currency Support in Stripe (#14) * Add Localization and Translations (#16) * chore: add sections translations * feat: add ssr locale function * refactor: language selector component * feat: add all home translation * feat: add i18n in terms and privacy page * chore: translate all auth domain * chore: add i18n in payment area * chore: add dashboard translation * feat: add portugues i18n * chore: add currency in client * chore: refactor constants * Refactor and Tax Adaptation (#17) * chore: add sections translations * feat: add ssr locale function * refactor: language selector component * feat: add all home translation * feat: add i18n in terms and privacy page * chore: translate all auth domain * chore: add i18n in payment area * chore: add dashboard translation * feat: add portugues i18n * chore: add currency in client * chore: refactor constants * refactor: create optional tax adapt currency * chore: solving conflits 2 * chore: add translations again * Support for Mailgun (#19) * refactor: console.logs * chore: add support to mailgun transactional email * refactor: mailgun domain * docs: update docs * chore: update readme docs
1 parent a1dfb27 commit 856b94b

File tree

14 files changed

+227
-13
lines changed

14 files changed

+227
-13
lines changed

.env.example

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ NEXT_PUBLIC_DATADOG_APPLICATION_ID=
99
NEXT_PUBLIC_DATADOG_CLIENT_TOKEN=
1010

1111
SUPABASE_SECRET_KEY=
12+
1213
STRIPE_SECRET_KEY=
1314
STRIPE_WEBHOOK_SECRET=
14-
DATADOG_SECRET_KEY=
15+
16+
DATADOG_SECRET_KEY=
17+
18+
MAILGUN_SECRET_KEY=
19+
MAILGUN_SECRET_DOMAIN=

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,9 +88,14 @@ NEXT_PUBLIC_DATADOG_APPLICATION_ID=
8888
NEXT_PUBLIC_DATADOG_CLIENT_TOKEN=
8989
9090
SUPABASE_SECRET_KEY=
91+
9192
STRIPE_SECRET_KEY=
9293
STRIPE_WEBHOOK_SECRET=
94+
9395
DATADOG_SECRET_KEY=
96+
97+
MAILGUN_SECRET_KEY=
98+
MAILGUN_SECRET_DOMAIN=
9499
```
95100

96101
> **Note:** Replace the above values with your own Supabase and Stripe keys.

docs/feature-roadmap.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,8 @@
1818

1919
| **Feature** | **Status** |
2020
|----------------------------------------------------|------------|
21-
| Integration with Transactional Emails | |
21+
| Integration with Transactional Emails | |
2222
| Notification Integration ||
23-
| Custom Webhooks for Notifications ||
2423
| Team Features ||
2524

2625

package-lock.json

Lines changed: 127 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818
"@stripe/stripe-js": "^5.5.0",
1919
"@supabase/ssr": "^0.5.2",
2020
"@supabase/supabase-js": "^2.47.11",
21+
"form-data": "^4.0.1",
2122
"jest": "^29.7.0",
23+
"mailgun.js": "^11.1.0",
2224
"next": "15.1.3",
2325
"react": "^19.0.0",
2426
"react-dom": "^19.0.0",

src/app/(domains)/(auth)/new-password/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ export default function NewPassword() {
100100
dispatch({ type: "SET_ERRORS", payload: { general: translate("new-password-error-general") } });
101101
}
102102
} catch (err) {
103-
console.log("Error", err);
103+
console.error("Error", err);
104104
if (err instanceof Error && err.message !== "Validation Error") {
105105
dispatch({ type: "SET_ERRORS", payload: { general: translate("new-password-error-unexpected") } });
106106
}

src/app/(domains)/(auth)/signin/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ export default function SignIn() {
8181
dispatch({ type: "SET_ERRORS", payload: { general: translate("signIn-invalid-credentials") } });
8282
}
8383
} catch (err) {
84-
console.log("Error", err);
84+
console.error("Error", err);
8585
if (err instanceof Error && err.message !== "Validation Error") {
8686
dispatch({ type: "SET_ERRORS", payload: { general: translate("signIn-general-error") } });
8787
}

src/app/(domains)/(auth)/signup/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ export default function SignUp() {
9999
dispatch({ type: "SET_ERRORS", payload: { general: translate("signUp-general-error") } });
100100
}
101101
} catch (err) {
102-
console.log("Error", err);
102+
console.error("Error", err);
103103
if (err instanceof Error && err.message !== "Validation Error" && err.message !== "Terms not accepted") {
104104
dispatch({ type: "SET_ERRORS", payload: { general: translate("signUp-general-error") } });
105105
}

src/constants/EMAILS.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
export const FINISH_CHECKOUT_EMAIL = `
2+
<div style="font-family: Arial, sans-serif; max-width: 600px; margin: 0 auto; padding: 20px; border: 1px solid #ddd; border-radius: 8px;">
3+
<h2 style="color: #4A90E2; text-align: center;">Welcome to Sassy! 🎉</h2>
4+
<p>Hello,</p>
5+
<p>We are thrilled to have you with us! Your subscription to the <strong style="text-transform: uppercase; font-weight: bold;">{plan}</strong> plan has been successfully activated.</p>
6+
<p>Enjoy all the powerful features Sassy has to offer. If you have any questions, feel free to reach out.</p>
7+
<div style="text-align: center; margin: 20px 0;">
8+
<a href="https://sassy-hazel.vercel.app/dashboard/subscription" style="background-color: #4A90E2; color: #fff; padding: 12px 24px; text-decoration: none; border-radius: 6px; display: inline-block; font-weight: bold;">
9+
Go to Dashboard
10+
</a>
11+
</div>
12+
<p>Thank you for choosing Sassy!</p>
13+
<p style="color: #888;">— The Sassy Team</p>
14+
</div>
15+
`

src/hooks/useCheckout.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ export const useCheckout = () => {
1111

1212
const handleCheckout = async ({ plan, isAnnual, setIsLoading }: { plan: Plan, isAnnual: boolean, setIsLoading: (isLoading: boolean) => void }) => {
1313
if (plan.id === 'free') {
14-
console.log('Free plan selected');
1514
return;
1615
}
1716

0 commit comments

Comments
 (0)