chore: deploy to Cloudflare Pages and update branding

- Add Cloudflare Pages deployment for landing page (snapotter.com) and
  docs (docs.snapotter.com)
- Create deploy-landing.yml and update deploy-docs.yml workflows
- Update CI to ignore apps/landing/** paths
- Fix logo transparency (remove white background) across all apps
- Recreate social-preview.png with SnapOtter branding
- Update all docs URLs from GitHub Pages to docs.snapotter.com
- Update VitePress config: light theme default, fix llms.txt paths
- Add .vitepress/cache/ and .env.* to gitignore
This commit is contained in:
SnapOtter
2026-04-24 18:06:29 +08:00
parent fbaa603d03
commit 0309e0f680
174 changed files with 970 additions and 926 deletions
+5 -5
View File
@@ -1447,7 +1447,7 @@ describe("useSettingsStore", () => {
// FeaturesStore
// ==========================================================================
vi.mock("@ashim/shared", async (importOriginal) => {
vi.mock("@snapotter/shared", async (importOriginal) => {
const actual: Record<string, unknown> = await importOriginal();
return {
...actual,
@@ -1753,7 +1753,7 @@ describe("useAnalyticsStore", () => {
await useAnalyticsStore.getState().acceptAnalytics();
expect(localStorage.setItem).toHaveBeenCalledWith("ashim-analytics-consent", "true");
expect(localStorage.setItem).toHaveBeenCalledWith("snapotter-analytics-consent", "true");
expect(useAnalyticsStore.getState().consent.analyticsEnabled).toBe(true);
});
@@ -1773,7 +1773,7 @@ describe("useAnalyticsStore", () => {
await useAnalyticsStore.getState().declineAnalytics();
expect(localStorage.setItem).toHaveBeenCalledWith("ashim-analytics-consent", "false");
expect(localStorage.setItem).toHaveBeenCalledWith("snapotter-analytics-consent", "false");
});
it("remindLater calls API and sets remind-at 7 days in the future", async () => {
@@ -1798,7 +1798,7 @@ describe("useAnalyticsStore", () => {
await useAnalyticsStore.getState().remindLater();
expect(localStorage.setItem).toHaveBeenCalledWith("ashim-analytics-consent", "remind");
expect(localStorage.setItem).toHaveBeenCalledWith("snapotter-analytics-consent", "remind");
});
it("toggleAnalytics enables analytics", async () => {
@@ -1824,7 +1824,7 @@ describe("useAnalyticsStore", () => {
await useAnalyticsStore.getState().toggleAnalytics(true);
expect(localStorage.setItem).toHaveBeenCalledWith("ashim-analytics-consent", "true");
expect(localStorage.setItem).toHaveBeenCalledWith("snapotter-analytics-consent", "true");
expect(useAnalyticsStore.getState().consent.analyticsEnabled).toBe(true);
});
});