diff --git a/.env.ci b/.env.ci
new file mode 100644
index 00000000..d040cedf
--- /dev/null
+++ b/.env.ci
@@ -0,0 +1,2 @@
+APP_ENV=testing
+APP_KEY=base64:Zfo+2dkSaHvem5LCiZS/baYHv2Pv1vrSc0F2NaF29Ec=
diff --git a/README.md b/README.md
index 03a4799f..b1519da5 100644
--- a/README.md
+++ b/README.md
@@ -2,8 +2,6 @@
The open-source social media scheduling platform
diff --git a/app/Http/Controllers/WorkspaceController.php b/app/Http/Controllers/WorkspaceController.php index 9a2aef7b..d9b699cd 100644 --- a/app/Http/Controllers/WorkspaceController.php +++ b/app/Http/Controllers/WorkspaceController.php @@ -59,7 +59,10 @@ public function store(StoreWorkspaceRequest $request): RedirectResponse ->with('message', 'Subscribe to create more workspaces.'); } - $workspace = $user->workspaces()->create($request->validated()); + $workspace = $user->workspaces()->create([ + ...$request->validated(), + 'timezone' => config('app.timezone', 'UTC'), + ]); // Set as current workspace $user->switchWorkspace($workspace); @@ -156,7 +159,7 @@ public function destroy(Request $request, Workspace $workspace): RedirectRespons $user->decrementWorkspaceQuantity(); } - return redirect()->route('dashboard') + return redirect()->route('workspaces.index') ->with('success', 'Workspace deleted successfully!'); } } diff --git a/config/mail.php b/config/mail.php index 9ee0d369..0db38742 100644 --- a/config/mail.php +++ b/config/mail.php @@ -111,8 +111,8 @@ */ 'from' => [ - 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), - 'name' => env('MAIL_FROM_NAME', 'Example'), + 'address' => env('MAIL_FROM_ADDRESS', 'no-reply@trypost.it'), + 'name' => env('MAIL_FROM_NAME', 'TryPost'), ], ]; diff --git a/database/factories/WorkspaceInviteFactory.php b/database/factories/WorkspaceInviteFactory.php index e39c3b10..c685aa6e 100644 --- a/database/factories/WorkspaceInviteFactory.php +++ b/database/factories/WorkspaceInviteFactory.php @@ -28,18 +28,9 @@ public function definition(): array 'token' => Str::random(64), 'role' => Role::Member, 'status' => InviteStatus::Pending, - 'expires_at' => now()->addDays(7), ]; } - public function expired(): static - { - return $this->state(fn (array $attributes) => [ - 'expires_at' => now()->subDay(), - 'status' => InviteStatus::Expired, - ]); - } - public function accepted(): static { return $this->state(fn (array $attributes) => [ @@ -47,11 +38,4 @@ public function accepted(): static 'accepted_at' => now(), ]); } - - public function cancelled(): static - { - return $this->state(fn (array $attributes) => [ - 'status' => InviteStatus::Cancelled, - ]); - } } diff --git a/database/migrations/2026_01_14_233835_create_workspace_invites_table.php b/database/migrations/2026_01_14_233835_create_workspace_invites_table.php index 7fa92a15..d9ea1463 100644 --- a/database/migrations/2026_01_14_233835_create_workspace_invites_table.php +++ b/database/migrations/2026_01_14_233835_create_workspace_invites_table.php @@ -19,7 +19,6 @@ public function up(): void $table->string('token', 64)->unique(); $table->string('role')->default('member'); $table->string('status')->default('pending'); - $table->timestamp('expires_at'); $table->timestamp('accepted_at')->nullable(); $table->timestamps(); diff --git a/resources/js/layouts/GuestLayout.vue b/resources/js/layouts/GuestLayout.vue index 283de67c..c20c675f 100644 --- a/resources/js/layouts/GuestLayout.vue +++ b/resources/js/layouts/GuestLayout.vue @@ -1,7 +1,4 @@ - - - - - - -
-
- - Plan, schedule, and publish your content across all major social platforms from one place. - Save time and grow your audience. -
-- Publish to all your favorite platforms -
-{{ feature.description }}
-$20
-per workspace / month
- - - -- Join thousands of creators and businesses who trust TryPost. -
- - - -Last updated: January 15, 2025
- -- Welcome to TryPost ("we," "our," or "us"). We are committed to protecting your personal information - and your right to privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard - your information when you use our social media scheduling service. -
- -We collect personal information that you voluntarily provide to us when you:
-This information may include:
-- When you connect your social media accounts (Facebook, Instagram, LinkedIn, X/Twitter, TikTok, YouTube, Threads), - we access certain information as permitted by each platform's API, including: -
-We automatically collect certain information when you visit our platform, including:
-We use the information we collect to:
-We may share your information in the following situations:
-We do not sell your personal information to third parties.
- -- We implement appropriate technical and organizational security measures to protect your personal information. - This includes encryption of sensitive data, secure HTTPS connections, and regular security audits. - However, no method of transmission over the Internet is 100% secure, and we cannot guarantee absolute security. -
- -- We retain your personal information for as long as your account is active or as needed to provide you services. - You may request deletion of your account and associated data at any time by contacting us. -
- -Depending on your location, you may have the right to:
-To exercise these rights, please contact us at the email address provided below.
- -- Our service integrates with third-party social media platforms. Each platform has its own privacy policy, - and we encourage you to review them: -
-- Our service is not intended for individuals under the age of 18. We do not knowingly collect personal - information from children. If you believe we have collected information from a child, please contact us immediately. -
- -- Your information may be transferred to and processed in countries other than your country of residence. - These countries may have different data protection laws. We ensure appropriate safeguards are in place - for such transfers. -
- -- We may update this Privacy Policy from time to time. We will notify you of any changes by posting the - new Privacy Policy on this page and updating the "Last updated" date. We encourage you to review this - Privacy Policy periodically. -
- -If you have questions or concerns about this Privacy Policy, please contact us at:
-
- Email: privacy@trypost.com
- Website: https://trypost.com
-
Last updated: January 15, 2025
- -- By accessing or using TryPost ("Service"), you agree to be bound by these Terms of Service ("Terms"). - If you disagree with any part of these terms, you may not access the Service. -
- -- TryPost is a social media scheduling platform that allows you to create, schedule, and publish content - to multiple social media platforms including Facebook, Instagram, LinkedIn, X (Twitter), TikTok, YouTube, and Threads. -
- -To use our Service, you must:
-- You are responsible for all activities that occur under your account. We reserve the right to suspend - or terminate accounts that violate these Terms. -
- -- TryPost operates on a subscription model. Pricing is based on the number of workspaces you maintain. - Current pricing and features are available on our website. -
- -- Subscriptions are billed in advance on a recurring basis (monthly or annually, depending on your plan). - Payment is processed securely through Stripe. By providing payment information, you authorize us to - charge your payment method for the applicable fees. -
- -- Subscription fees are generally non-refundable except where required by law. You may cancel your - subscription at any time, and you will continue to have access until the end of your billing period. -
- -- You retain all rights to the content you create and schedule through our Service. By using TryPost, - you grant us a limited license to store, process, and transmit your content solely for the purpose - of providing the Service. -
- -You are solely responsible for the content you publish through our Service. You agree not to post content that:
-- We reserve the right to remove any content that violates these Terms or applicable laws. - We may also remove content in response to valid legal requests or DMCA takedown notices. -
- -- When using TryPost to connect to third-party social media platforms, you agree to comply with each - platform's terms of service and community guidelines. We are not responsible for any actions taken - by social media platforms against your accounts. -
- -You agree not to use the Service to:
-- The Service, including its original content, features, and functionality, is owned by TryPost and - is protected by international copyright, trademark, and other intellectual property laws. Our - trademarks may not be used without prior written consent. -
- -- THE SERVICE IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS - OR IMPLIED. WE DO NOT WARRANT THAT THE SERVICE WILL BE UNINTERRUPTED, SECURE, OR ERROR-FREE. -
-- We do not guarantee that posts will be published successfully, as this depends on third-party - platform availability and their API functionality. -
- -- TO THE MAXIMUM EXTENT PERMITTED BY LAW, TRYPOST SHALL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, - SPECIAL, CONSEQUENTIAL, OR PUNITIVE DAMAGES, INCLUDING BUT NOT LIMITED TO LOSS OF PROFITS, DATA, - OR BUSINESS OPPORTUNITIES, ARISING FROM YOUR USE OF THE SERVICE. -
-- Our total liability for any claims arising from these Terms or your use of the Service shall not - exceed the amount you paid us in the twelve (12) months preceding the claim. -
- -- You agree to indemnify and hold harmless TryPost, its officers, directors, employees, and agents - from any claims, damages, losses, or expenses (including reasonable attorney fees) arising from - your use of the Service or violation of these Terms. -
- -- We may terminate or suspend your account immediately, without prior notice, for any breach of - these Terms. Upon termination, your right to use the Service will cease immediately. -
-- You may terminate your account at any time by contacting us or through your account settings. - Upon termination, we will delete your data in accordance with our Privacy Policy. -
- -- We reserve the right to modify these Terms at any time. We will notify you of significant changes - by posting the new Terms on this page and updating the "Last updated" date. Your continued use - of the Service after changes constitute acceptance of the new Terms. -
- -- These Terms shall be governed by and construed in accordance with applicable laws, without regard - to conflict of law principles. -
- -- Any disputes arising from these Terms or your use of the Service shall first be attempted to be - resolved through good faith negotiation. If negotiation fails, disputes shall be resolved through - binding arbitration or in the courts of competent jurisdiction. -
- -- If any provision of these Terms is found to be unenforceable, the remaining provisions will - continue in full force and effect. -
- -For questions about these Terms, please contact us at:
-
- Email: legal@trypost.com
- Website: https://trypost.com
-