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
@@ -1,4 +1,4 @@
import type { AnalyticsConfig, ConsentState } from "@ashim/shared";
import type { AnalyticsConfig, ConsentState } from "@snapotter/shared";
import { create } from "zustand";
import { setAnalyticsConsent } from "@/lib/analytics";
import { apiPut } from "@/lib/api";
@@ -44,7 +44,7 @@ export const useAnalyticsStore = create<AnalyticsState>((set, get) => ({
try {
await apiPut("/v1/user/analytics", { enabled: true });
} catch {
localStorage.setItem("ashim-analytics-consent", "true");
localStorage.setItem("snapotter-analytics-consent", "true");
}
const now = Date.now();
const consent: ConsentState = {
@@ -60,7 +60,7 @@ export const useAnalyticsStore = create<AnalyticsState>((set, get) => ({
try {
await apiPut("/v1/user/analytics", { enabled: false });
} catch {
localStorage.setItem("ashim-analytics-consent", "false");
localStorage.setItem("snapotter-analytics-consent", "false");
}
const now = Date.now();
const consent: ConsentState = {
@@ -76,7 +76,7 @@ export const useAnalyticsStore = create<AnalyticsState>((set, get) => ({
try {
await apiPut("/v1/user/analytics", { remindLater: true });
} catch {
localStorage.setItem("ashim-analytics-consent", "remind");
localStorage.setItem("snapotter-analytics-consent", "remind");
}
const now = Date.now();
const consent: ConsentState = {
@@ -92,7 +92,7 @@ export const useAnalyticsStore = create<AnalyticsState>((set, get) => ({
try {
await apiPut("/v1/user/analytics", { enabled });
} catch {
localStorage.setItem("ashim-analytics-consent", enabled ? "true" : "false");
localStorage.setItem("snapotter-analytics-consent", enabled ? "true" : "false");
}
set((state) => ({
consent: { ...state.consent, analyticsEnabled: enabled },
+2 -2
View File
@@ -1,5 +1,5 @@
import type { FeatureBundleState } from "@ashim/shared";
import { TOOL_BUNDLE_MAP } from "@ashim/shared";
import type { FeatureBundleState } from "@snapotter/shared";
import { TOOL_BUNDLE_MAP } from "@snapotter/shared";
import { create } from "zustand";
import { apiGet, apiPost } from "@/lib/api";
+1 -1
View File
@@ -25,6 +25,6 @@ export const useThemeStore = create<ThemeStore>()(
set({ theme, resolvedTheme: resolved });
},
}),
{ name: "ashim-theme" },
{ name: "snapotter-theme" },
),
);