Skip to content

Commit 772a721

Browse files
committed
Update all fix bundle
1 parent 71554ee commit 772a721

19 files changed

Lines changed: 978 additions & 450 deletions

.env.example

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,29 @@
1-
# Copyright (C) 2025 Dimitrios S. Sfyris
2-
# SPDX-License-Identifier: GPL-3.0-or-later
3-
1+
# ─────────────────────────────────────────────────────────────
42
# Brand / UI
3+
# ─────────────────────────────────────────────────────────────
54
REACT_APP_APP_NAME="AspectReact Store"
65
REACT_APP_DEFAULT_LOCALE=en-US
76
REACT_APP_CURRENCY=USD
87

9-
# Feature flags
8+
# Who appears in the footer © line (client-visible)
9+
REACT_APP_COPYRIGHT_HOLDER="AspectReact Store"
10+
11+
# ─────────────────────────────────────────────────────────────
12+
# Feature flags (client-visible)
13+
# ─────────────────────────────────────────────────────────────
14+
# Show toast notifications for key actions
1015
REACT_APP_ENABLE_TOASTS=true
1116

17+
# ─────────────────────────────────────────────────────────────
18+
# Brand signals (client-visible)
19+
# ─────────────────────────────────────────────────────────────
20+
# Footer credit shown in the UI: “Built with AspectReact”
21+
# Keep these defaults unless your distribution policy requires edits.
22+
REACT_APP_SHOW_POWERED_BY=true
23+
24+
# Add a <meta name="generator" content="AspectReact"> tag to <head>
25+
REACT_APP_META_GENERATOR=true
26+
1227
# ─────────────────────────────────────────────────────────────
1328
# Authentication Mode
1429
# ─────────────────────────────────────────────────────────────
@@ -17,7 +32,7 @@ REACT_APP_ENABLE_TOASTS=true
1732
# api = Custom backend via REACT_APP_API_BASE_URL
1833
# auth0 = Hosted Auth0 Universal Login
1934
#
20-
# NOTE: Your code expects one of: local | api | auth0
35+
# Default is "local". Pick one of: local | api | auth0
2136
REACT_APP_AUTH_MODE=local
2237

2338
# API backend (used only in "api" mode)
@@ -39,34 +54,50 @@ REACT_APP_AUTH0_CLIENT_ID=your-auth0-client-id
3954
REACT_APP_SUPPORT_EMAIL=support@yourdomain.com
4055

4156
# ─────────────────────────────────────────────────────────────
42-
# Optional integrations (placeholders for future real checkout, analytics, etc.)
57+
# Optional integrations (placeholders for future checkout/analytics)
4358
# ─────────────────────────────────────────────────────────────
44-
4559
# Stripe (future)
4660
REACT_APP_STRIPE_PUBLISHABLE_KEY=pk_test_yourPublishableKeyHere
4761

4862
# Analytics (future)
4963
REACT_APP_ANALYTICS_WRITE_KEY=your-analytics-key
5064
REACT_APP_ENABLE_ANALYTICS=false
5165

66+
# ──────────────────────────────────────────────────────────────
67+
# Forks / SPDX headers (Node-only; NOT exposed to browser)
68+
# ──────────────────────────────────────────────────────────────
69+
# Read by: tools/copyright-headers.mjs and CI.
70+
# Precedence used by the tool:
71+
# CLI flags > env vars (.env.local / CI) > package.json "config" > git user.name
72+
#
73+
# Set these to your own details when forking (do not remove upstream notices).
74+
COPYRIGHT_OWNER="Your Name or Org"
75+
COPYRIGHT_START=2025
76+
# Keep this in sync with your root LICENSE file.
77+
SPDX_ID=GPL-3.0-or-later
78+
79+
# Tips:
80+
# - Single year (no ranges):
81+
# node tools/copyright-headers.mjs --no-range
82+
# - Force year (overrides detection for this run):
83+
# node tools/copyright-headers.mjs --year 2025
84+
# - CI example (fails if headers are missing/outdated):
85+
# node tools/copyright-headers.mjs --check
86+
5287
# ─────────────────────────────────────────────────────────────
5388
# Dev server / CRA runtime toggles (NOT exposed to browser)
5489
# ─────────────────────────────────────────────────────────────
55-
5690
# Change dev port if 3000 is busy
5791
PORT=3000
58-
59-
# Open HTTPS locally (requires a cert/key; leave false if unsure)
92+
# Open HTTPS locally (requires a cert/key)
6093
HTTPS=false
6194
HOST=localhost
62-
63-
# Public URL base path (usually leave empty in dev)
6495
# PUBLIC_URL=/
6596

6697
# ─────────────────────────────────────────────────────────────
6798
# Notes
68-
# - Variables that should be readable in the browser must start with REACT_APP_.
99+
# - Only variables starting with REACT_APP_ are exposed to the client by CRA.
69100
# - After editing .env, stop and restart `npm start` to apply changes.
70-
# - For different environments, you can also create:
101+
# - You can also create:
71102
# .env.development, .env.production, .env.local (ignored by git), etc.
72103
# ─────────────────────────────────────────────────────────────

.eslintignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Copyright (C) 2025 Dimitrios S. Sfyris
22
# SPDX-License-Identifier: GPL-3.0-or-later
3-
node_modules
3+
snode_modules
44
build
55
dist

.github/workflows/ci.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
# Copyright (C) 2025 Dimitrios S. Sfyris
2-
# SPDX-License-Identifier: GPL-3.0-or-later
31
name: CI
42

53
on:
@@ -12,6 +10,7 @@ on:
1210
- "LICENSE"
1311
- ".gitignore"
1412
- ".husky/**"
13+
workflow_dispatch:
1514

1615
permissions:
1716
contents: read
@@ -25,8 +24,10 @@ jobs:
2524
runs-on: ubuntu-latest
2625

2726
steps:
28-
- name: Checkout
27+
- name: Checkout (full history for SPDX year ranges)
2928
uses: actions/checkout@v4
29+
with:
30+
fetch-depth: 0
3031

3132
- name: Setup Node
3233
uses: actions/setup-node@v4
@@ -37,8 +38,10 @@ jobs:
3738
- name: Install dependencies
3839
run: npm ci || npm i
3940

41+
# If you prefer hardcoding owner/start, keep your old command.
42+
# Here we rely on package.json "config" or env vars (COPYRIGHT_OWNER, COPYRIGHT_START, SPDX_ID)
4043
- name: Check SPDX headers
41-
run: node tools/copyright-headers.mjs --owner "Dimitrios S. Sfyris" --default-start 2025 --check
44+
run: node tools/copyright-headers.mjs --check
4245

4346
- name: Lint
4447
run: npm run lint -- --ext .js,.jsx

.gitignore

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
# Copyright (C) 2025 Dimitrios S. Sfyris
22
# SPDX-License-Identifier: GPL-3.0-or-later
3-
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
4-
53
# dependencies
64
/node_modules
75
/.pnp
@@ -43,3 +41,6 @@ pnpm-debug.log*
4341
# package-lock.json
4442
# yarn.lock
4543
# pnpm-lock.yaml
44+
45+
# local maintenance scripts
46+
tools/local/

.husky/pre-commit

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
#!/usr/bin/env sh
2-
# Copyright (C) 2025 Dimitrios S. Sfyris
3-
# SPDX-License-Identifier: GPL-3.0-or-later
42
. "$(dirname -- "$0")/_/husky.sh"
53

64
echo "→ Adding/refreshing SPDX headers…"

BRANDING.md

Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
# Branding & Attribution Guidelines
2+
3+
These guidelines explain how to present **AspectReact** when you build, deploy, or talk about projects based on this codebase. They’re written to be practical for day‑to‑day use by developers, agencies, and integrators.
4+
5+
> Short version: please credit the project clearly and avoid branding your distribution as “AspectReact” in a way that could confuse people about where it came from.
6+
7+
---
8+
9+
## 1) Names & how to refer to the project
10+
11+
- **Project name:** **AspectReact**
12+
- **Repository name:** **AspectReact Store** (this particular demo implementation)
13+
14+
Use **“AspectReact”** when you refer to the underlying framework/template. If you ship a tailored product to clients, give it **your own brand name**, and acknowledge that it’s built with AspectReact (see §3).
15+
16+
**Please avoid** naming your product simply “AspectReact” or something that could be mistaken for the original project.
17+
18+
---
19+
20+
## 2) Recommended credits (gentle, familiar pattern)
21+
22+
Consistent credit helps users and other developers find the source project and updates. A familiar, unobtrusive pattern is a small footer line:
23+
24+
```html
25+
<a href="https://github.com/dmsfiris/aspectreact-store" rel="noreferrer" target="_blank">
26+
Built with AspectReact
27+
</a>
28+
```
29+
30+
If you prefer a badge, here’s a tiny **SVG** you can drop in as-is:
31+
32+
```html
33+
<a href="https://github.com/dmsfiris/aspectreact-store" target="_blank" rel="noreferrer" aria-label="Built with AspectReact">
34+
<svg xmlns="http://www.w3.org/2000/svg" width="156" height="24" viewBox="0 0 156 24" role="img">
35+
<rect width="156" height="24" rx="4" fill="#111827"/>
36+
<text x="12" y="16" font-family="system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif"
37+
font-size="12" fill="#F9FAFB">Built with AspectReact</text>
38+
</svg>
39+
</a>
40+
```
41+
42+
Or a simple **text link** with minimal Tailwind styling:
43+
44+
```html
45+
<a class="text-neutral-600 hover:text-ink transition-colors"
46+
href="https://github.com/dmsfiris/aspectreact-store" target="_blank" rel="noreferrer">
47+
Built with AspectReact
48+
</a>
49+
```
50+
51+
**SPA meta generator (optional):** add a meta tag so analytics and audits can detect the stack:
52+
53+
```html
54+
<meta name="generator" content="AspectReact" />
55+
```
56+
57+
---
58+
59+
## 3) Where to place the credit
60+
61+
Choose one or more locations appropriate for your project:
62+
63+
- **Site footer** (recommended): “Built with AspectReact”
64+
- **About / Credits** page: short sentence like _“This site is built with AspectReact.”_
65+
- **Repository docs:** mention in `README` and/or `CHANGELOG`
66+
- **Marketing materials / case studies:** “Powered by AspectReact” works well
67+
68+
If visual constraints prevent a footer line, keep a mention in your **/about** page and/or repository README.
69+
70+
---
71+
72+
## 4) Using the name alongside your brand
73+
74+
Suggested formats when you ship to clients:
75+
76+
- **YourBrand**, _built with AspectReact_
77+
- **YourBrand for AspectReact** (if you publish a theme or extension)
78+
- **YourBrand — based on AspectReact**
79+
80+
Avoid implying official partnership or endorsement. If you contribute upstream or maintain an official integration, feel free to say so in your docs, linking to the relevant pull requests or repositories.
81+
82+
---
83+
84+
## 5) Sample snippets for this repo
85+
86+
This repository already includes an env toggle for a footer credit. If you use the provided config, you can show the credit like this:
87+
88+
```jsx
89+
// Footer.jsx (excerpt)
90+
{SHOW_POWERED_BY && (
91+
<a
92+
href="https://github.com/dmsfiris/aspectreact-store"
93+
target="_blank"
94+
rel="noreferrer"
95+
className="transition-colors text-neutral-600 hover:text-ink"
96+
>
97+
{POWERED_BY_TEXT /* default: "Built with AspectReact" */}
98+
</a>
99+
)}
100+
```
101+
102+
And in your environment config:
103+
104+
```env
105+
REACT_APP_SHOW_POWERED_BY=true
106+
REACT_APP_POWERED_BY_TEXT="Built with AspectReact"
107+
```
108+
109+
---
110+
111+
## 6) Logos & visual identity
112+
113+
There’s no official logo package yet. Until one exists, use plain text **AspectReact** with your standard body font. If you design a logo or badge for your deployment, please present it as your own brand element and use the text credit formats above to reference the project.
114+
115+
---
116+
117+
## 7) What’s allowed / encouraged
118+
119+
- Build commercial or non‑commercial projects on top of AspectReact.
120+
- Rebrand your shipped solution with your own product name.
121+
- Credit AspectReact prominently so users and developers can find the source.
122+
- Publish articles, tutorials, or showcases referencing AspectReact—link back to the repo.
123+
124+
## 8) What to avoid
125+
126+
- Branding your product **as if it were** the original “AspectReact”.
127+
- Suggesting official affiliation or endorsement where none exists.
128+
- Removing all mention of AspectReact in contexts where a short credit fits naturally (footer, about, README).
129+
130+
---
131+
132+
## 9) License notes (very short)
133+
134+
The code is licensed **GPL‑3.0‑or‑later**. When you redistribute the software (in source or compiled form), keep the license text and copyright notices, and provide the corresponding source to your recipients as required by the GPL. See `LICENSE` for the full terms.
135+
136+
For questions about branding or licensing in specific situations, involve your organization’s legal or compliance team.
137+
138+
---
139+
140+
## 10) Contact
141+
142+
Project repo: <https://github.com/dmsfiris/aspectreact-store>
143+
Maintainer contact: **dmsfiris@otenet.gr**

0 commit comments

Comments
 (0)