Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,12 @@

All notable changes to this project will be documented in this file.

## [1.6.0] - 2026-03-07

### Changed
- Replaced franchise card suit icons with the official Cards Forge brand icon across the site and admin panel
- Removed webtech-solutions and unreality1 domain templates, routes, and assets no longer used in this application

## [1.5.0] - 2026-02-22

### Added
Expand Down
8 changes: 6 additions & 2 deletions app/Http/Controllers/ChangelogController.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,14 @@ public function index()
// Parse changelog into versions
$versions = $this->parseChangelog($content);

$rawVersion = config('app_version.version', '');
// Normalize: strip leading 'v' and trailing status suffix (e.g. v1.6.0-stable → 1.6.0)
$currentVersion = preg_replace('/^v/', '', preg_replace('/-\w+$/', '', $rawVersion));

return view('changelog', [
'versions' => $versions,
'currentVersion' => config('app_config.version'),
'versionDate' => config('app_config.version_date'),
'currentVersion' => $currentVersion,
'versionDate' => config('app_version.release_date'),
]);
}

Expand Down
44 changes: 0 additions & 44 deletions app/Http/Controllers/WebtechController.php

This file was deleted.

5 changes: 2 additions & 3 deletions app/Providers/Filament/AdminPanelProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,11 @@ public function panel(Panel $panel): Panel
->passwordReset(RequestPasswordReset::class, ResetPassword::class)
->emailVerification()
->brandName('Cards Forge')
->brandLogo(asset('images/logo.svg'))
->brandLogoHeight('2rem')
->colors([
'primary' => Color::Amber,
])
->icons([
'suit' => resource_path('svg'),
])
->discoverResources(in: app_path('Filament/Resources'), for: 'App\\Filament\\Resources')
->discoverPages(in: app_path('Filament/Pages'), for: 'App\\Filament\\Pages')
->pages([
Expand Down
4 changes: 2 additions & 2 deletions config/app_version.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
|
*/

'version' => env('APP_VERSION', 'v1.1.0-stable'),
'version' => env('APP_VERSION', 'v1.6.0-stable'),

'release_date' => '2025-12-24',
'release_date' => '2026-03-07',

'status' => 'stable', // alpha, beta, stable

Expand Down
77 changes: 77 additions & 0 deletions dps/plans/integrate-site-icon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Plan: Integrate Cards Forge Site Icon

## Context
A custom SVG icon (card shape with crescent moon and underline, orange `#EA580C`) has been provided to replace all placeholder logos, favicons, and the old franchise suit icons across the app.

## SVG Source
```svg
<svg viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="5" y="4" width="22" height="24" rx="3" stroke="#EA580C" stroke-width="2.5"/>
<path d="M19 10C19 13.3137 16.3137 16 13 16C12.35 16 11.73 15.89 11.15 15.70C12.8 17.15 14.95 18 17.3 18C21.05 18 24.1 14.95 24.1 11.2C24.1 9.8 23.65 8.5 22.9 7.45C23.6 8.2 24 9.15 24 10.15" fill="#EA580C"/>
<line x1="10" y1="22" x2="22" y2="22" stroke="#EA580C" stroke-width="2" stroke-linecap="round"/>
</svg>
```

## What to do

### 1. Save the SVG
- Create `public/images/logo.svg` with the SVG source above

### 2. Generate PNG sizes (via Bash/ImageMagick or inline — done manually if tools unavailable)
Required sizes for favicons and touch icons:
- `public/favicon-16x16.png` (16×16)
- `public/favicon-32x32.png` (32×32)
- `public/apple-touch-icon.png` (180×180)
- Replace `public/favicon.ico` with an ICO derived from the SVG

> Use `rsvg-convert` or `convert` (ImageMagick) inside the docker container to generate PNGs from the SVG.

### 3. Create `public/site.webmanifest`
```json
{
"name": "Cards Forge",
"short_name": "Cards Forge",
"icons": [
{ "src": "/favicon-16x16.png", "sizes": "16x16", "type": "image/png" },
{ "src": "/favicon-32x32.png", "sizes": "32x32", "type": "image/png" },
{ "src": "/apple-touch-icon.png", "sizes": "180x180", "type": "image/png" }
],
"theme_color": "#EA580C",
"background_color": "#1e293b",
"display": "standalone"
}
```

### 4. Filament admin panel — add brand logo
In `app/Providers/Filament/AdminPanelProvider.php`, add `->brandLogo(asset('images/logo.svg'))` and `->brandLogoHeight('2rem')` after `->brandName('Cards Forge')`.

### 5. Remove old suit SVGs from Filament icon registration
In `AdminPanelProvider.php`, remove the `->icons([...])` block that registers `resources/svg/` (clubs, diamonds, spades, hearts). Delete the 4 SVG files under `resources/svg/`.

### 6. welcome.blade.php — replace text logo with SVG inline
In the navbar (line ~139), replace plain text `Cards Forge` with the SVG inline (small size, ~24px) + text.

### 7. welcome.blade.php — footer brand
Same treatment for the footer `<h3>Cards Forge</h3>` — prepend the inline SVG.

## Files modified
| File | Action |
|------|--------|
| `public/images/logo.svg` | Create |
| `public/favicon-16x16.png` | Generate |
| `public/favicon-32x32.png` | Generate |
| `public/apple-touch-icon.png` | Generate |
| `public/favicon.ico` | Regenerate |
| `public/site.webmanifest` | Create |
| `app/Providers/Filament/AdminPanelProvider.php` | Add brandLogo, remove icons() |
| `resources/svg/clubs.svg` | Delete |
| `resources/svg/diamonds.svg` | Delete |
| `resources/svg/spades.svg` | Delete |
| `resources/svg/hearts.svg` | Delete |
| `resources/views/welcome.blade.php` | Inline SVG in navbar + footer |

## Verification
- Visit `/` — navbar and footer show the icon
- Visit `/admin` — Filament sidebar shows brand logo
- Browser tab shows the favicon
- No references to old suit SVGs remain
34 changes: 34 additions & 0 deletions dps/plans/remove-webtech-unreality-templates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Plan: Remove webtech-solutions and unreality1 domain templates

## Context
The webtech-solutions and unreality1 domains have moved to a separate application. All views, routes, and the controller serving those domains should be removed from this codebase. Copyright text in footer/welcome is kept as-is per user request.

## Files to DELETE

| File | Reason |
|------|--------|
| `resources/views/webtech-solutions.blade.php` | webtech domain homepage view |
| `resources/views/webtech-ai-solutions.blade.php` | webtech AI solutions page view |
| `resources/views/webtech-terms.blade.php` | webtech terms view |
| `resources/views/webtech-privacy.blade.php` | webtech privacy view |
| `resources/views/unreality1.blade.php` | unreality1 domain view |
| `resources/views/layouts/webtech.blade.php` | webtech layout template |
| `app/Http/Controllers/WebtechController.php` | controller for webtech routes |

## Files to EDIT

### `routes/web.php`
Remove the two domain route groups (lines 73–86):
- The `DOMAIN_WEBTECH` group (webtech.home, webtech.ai, webtech.terms, webtech.privacy)
- The `DOMAIN_UNREALITY` group

## What is NOT changed
- All PHP copyright header comments in source files — kept
- `CLAUDE.md` copyright header instruction — kept
- Legal pages under `resources/views/legal/` — these serve the main domain, not webtech domain
- Filament legal pages (`PrivacyPolicy.php`, `TermsAndConditions.php`) — unrelated

## Verification
- Run `grep -r "webtech-solutions.blade\|webtech-ai-solutions\|webtech-terms\|webtech-privacy\|unreality1.blade\|WebtechController\|DOMAIN_WEBTECH\|DOMAIN_UNREALITY" resources/ routes/ app/` — should return no results
- Confirm `routes/web.php` only contains the main `DOMAIN_MAIN` group
- Load the main app — no broken routes
Loading
Loading