mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
feat: rebrand user-facing strings from ashim to SnapOtter
This commit is contained in:
+2
-2
@@ -3,12 +3,12 @@
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>ashim</title>
|
||||
<title>SnapOtter</title>
|
||||
<meta name="description" content="Open-source, self-hosted image processing platform" />
|
||||
<meta name="theme-color" content="#3b82f6" />
|
||||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
|
||||
<link rel="manifest" href="/manifest.json" />
|
||||
<meta property="og:title" content="ashim" />
|
||||
<meta property="og:title" content="SnapOtter" />
|
||||
<meta property="og:description" content="Open-source, self-hosted image processing platform" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:image" content="/og-image.png" />
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "ashim",
|
||||
"short_name": "ashim",
|
||||
"name": "SnapOtter",
|
||||
"short_name": "SnapOtter",
|
||||
"icons": [
|
||||
{ "src": "/logo-192.png", "sizes": "192x192", "type": "image/png" },
|
||||
{ "src": "/logo-512.png", "sizes": "512x512", "type": "image/png" }
|
||||
|
||||
@@ -78,7 +78,7 @@ export function Dropzone({
|
||||
>
|
||||
<div className={cn("flex flex-col items-center", compact ? "gap-2 p-4" : "gap-4 p-8")}>
|
||||
<div className="text-3xl font-bold text-muted-foreground/30">
|
||||
<span className="text-primary/30">ashim</span>
|
||||
<span className="text-primary/30">SnapOtter</span>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
|
||||
@@ -139,7 +139,7 @@ export function HelpDialog({ open, onClose }: HelpDialogProps) {
|
||||
|
||||
{/* Version */}
|
||||
<div className="text-xs text-muted-foreground pt-2 border-t border-border">
|
||||
ashim v{APP_VERSION}
|
||||
SnapOtter v{APP_VERSION}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -70,7 +70,7 @@ export function AppLayout({ children, showToolPanel = true, onFiles }: AppLayout
|
||||
<div className="flex items-center gap-2">
|
||||
<OtterLogo className="h-5 w-5 text-primary" />
|
||||
<span className="text-sm font-bold text-foreground">
|
||||
<span className="text-primary">ashim</span>
|
||||
<span className="text-primary">SnapOtter</span>
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
@@ -123,7 +123,7 @@ export function AppLayout({ children, showToolPanel = true, onFiles }: AppLayout
|
||||
<div className="flex items-center gap-2">
|
||||
<OtterLogo className="h-5 w-5 text-primary" />
|
||||
<span className="text-sm font-bold text-foreground">
|
||||
<span className="text-primary">ashim</span>
|
||||
<span className="text-primary">SnapOtter</span>
|
||||
</span>
|
||||
</div>
|
||||
)}
|
||||
|
||||
@@ -303,7 +303,7 @@ function GeneralSection() {
|
||||
</SettingRow>
|
||||
|
||||
{/* Version */}
|
||||
<SettingRow label="App Version" description="Current version of ashim">
|
||||
<SettingRow label="App Version" description="Current version of SnapOtter">
|
||||
<span className="text-sm font-mono text-muted-foreground">{APP_VERSION}</span>
|
||||
</SettingRow>
|
||||
|
||||
@@ -348,7 +348,7 @@ function SystemSection() {
|
||||
.catch(() => {
|
||||
// Fallback defaults if endpoint not ready
|
||||
setSettings({
|
||||
appName: "ashim",
|
||||
appName: "SnapOtter",
|
||||
fileUploadLimitMb: "100",
|
||||
defaultTheme: "system",
|
||||
defaultLocale: "en",
|
||||
@@ -1314,7 +1314,7 @@ function ApiKeysSection() {
|
||||
<div>
|
||||
<h3 className="text-lg font-semibold text-foreground">API Keys</h3>
|
||||
<p className="text-sm text-muted-foreground mt-1">
|
||||
Manage API keys for programmatic access to ashim.
|
||||
Manage API keys for programmatic access to SnapOtter.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -2456,7 +2456,7 @@ function AnalyticsSection() {
|
||||
<div>
|
||||
<h3 className="text-sm font-medium text-foreground">Product Analytics</h3>
|
||||
<p className="text-xs text-muted-foreground mt-1">
|
||||
Share anonymous usage data to help improve ashim.
|
||||
Share anonymous usage data to help improve SnapOtter.
|
||||
</p>
|
||||
<p className="text-xs text-muted-foreground">Your images never leave your machine.</p>
|
||||
</div>
|
||||
@@ -2513,7 +2513,7 @@ function AboutSection() {
|
||||
<div className="flex items-center gap-3">
|
||||
<OtterLogo className="h-8 w-8 text-primary" />
|
||||
<div className="text-2xl font-bold text-foreground">
|
||||
<span className="text-primary">ashim</span>
|
||||
<span className="text-primary">SnapOtter</span>
|
||||
</div>
|
||||
</div>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
|
||||
@@ -129,7 +129,7 @@ function UploadArea() {
|
||||
>
|
||||
<div className="flex flex-col items-center gap-4 p-8">
|
||||
<div className="text-3xl font-bold text-muted-foreground/30">
|
||||
<span className="text-primary/30">ashim</span>
|
||||
<span className="text-primary/30">SnapOtter</span>
|
||||
</div>
|
||||
<button
|
||||
type="button"
|
||||
|
||||
@@ -115,7 +115,7 @@ export function ChangePasswordPage() {
|
||||
<div className="w-full max-w-md space-y-8">
|
||||
<div>
|
||||
<h1 className="text-3xl font-bold text-foreground">
|
||||
<span className="text-primary">ashim</span>
|
||||
<span className="text-primary">SnapOtter</span>
|
||||
</h1>
|
||||
<h2 className="text-2xl font-bold mt-4 text-foreground">Change your password</h2>
|
||||
<p className="text-sm text-muted-foreground mt-2">
|
||||
|
||||
@@ -85,7 +85,7 @@ export function FullscreenGridPage() {
|
||||
className="flex items-center gap-2 text-lg font-bold text-foreground shrink-0"
|
||||
>
|
||||
<OtterLogo className="h-6 w-6 text-primary" />
|
||||
<span className="text-primary">ashim</span>
|
||||
<span className="text-primary">SnapOtter</span>
|
||||
</Link>
|
||||
|
||||
{/* Search */}
|
||||
|
||||
@@ -45,7 +45,7 @@ export function LoginPage() {
|
||||
<div className="w-full max-w-md space-y-8">
|
||||
<div>
|
||||
<h1 className="text-3xl font-bold text-foreground">
|
||||
<span className="text-primary">ashim</span>
|
||||
<span className="text-primary">SnapOtter</span>
|
||||
</h1>
|
||||
<h2 className="text-2xl font-bold mt-4 text-foreground">Login</h2>
|
||||
</div>
|
||||
|
||||
@@ -20,7 +20,7 @@ export function PrivacyPolicyPage() {
|
||||
<section>
|
||||
<h2 className="text-lg font-semibold text-foreground mb-2">Overview</h2>
|
||||
<p>
|
||||
ashim is a self-hosted, open-source image processing application. Your instance is
|
||||
SnapOtter is a self-hosted, open-source image processing application. Your instance is
|
||||
operated and controlled entirely by whoever deployed it. This policy describes how the
|
||||
software itself handles your data.
|
||||
</p>
|
||||
@@ -29,7 +29,7 @@ export function PrivacyPolicyPage() {
|
||||
<section>
|
||||
<h2 className="text-lg font-semibold text-foreground mb-2">Local Processing</h2>
|
||||
<p>
|
||||
All image processing happens entirely on the server where ashim is deployed. Your
|
||||
All image processing happens entirely on the server where SnapOtter is deployed. Your
|
||||
images are never sent to external services or third-party APIs. When you upload an
|
||||
image for processing, it is handled in memory or in temporary storage on the host
|
||||
machine and is not retained after the operation completes.
|
||||
@@ -39,8 +39,8 @@ export function PrivacyPolicyPage() {
|
||||
<section>
|
||||
<h2 className="text-lg font-semibold text-foreground mb-2">Product Analytics</h2>
|
||||
<p>
|
||||
ashim includes optional, anonymous product analytics. When you choose to participate,
|
||||
the following is collected:
|
||||
SnapOtter includes optional, anonymous product analytics. When you choose to
|
||||
participate, the following is collected:
|
||||
</p>
|
||||
<ul className="list-disc pl-5 mt-2 space-y-1">
|
||||
<li>Which tools you use (e.g., "crop tool used")</li>
|
||||
@@ -109,17 +109,17 @@ export function PrivacyPolicyPage() {
|
||||
<section>
|
||||
<h2 className="text-lg font-semibold text-foreground mb-2">Open Source</h2>
|
||||
<p>
|
||||
ashim is fully open source. You can audit the source code to verify these claims at
|
||||
any time. Transparency is a core principle of this project.
|
||||
SnapOtter is fully open source. You can audit the source code to verify these claims
|
||||
at any time. Transparency is a core principle of this project.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h2 className="text-lg font-semibold text-foreground mb-2">Your Control</h2>
|
||||
<p>
|
||||
Because ashim is self-hosted, the instance operator has full control over all data.
|
||||
You can delete your data at any time by removing files from the server or deleting the
|
||||
database. No data exists outside of your infrastructure.
|
||||
Because SnapOtter is self-hosted, the instance operator has full control over all
|
||||
data. You can delete your data at any time by removing files from the server or
|
||||
deleting the database. No data exists outside of your infrastructure.
|
||||
</p>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user