• Mahmoud Aglan's avatar
    Replace emoji with icons; scope schedule builder by branch and sport · 9454aa03
    Mahmoud Aglan authored
    Icons
    - No emoji anywhere in the UI. Extracted the sidebar's inline SVG map into
      a single <x-ui.icon name="..."> component and added the icons the pricing
      work needed, so there is one source instead of a per-view copy. Discount
      recipes now carry icon NAMES, not glyphs.
    
    Schedule builder
    - Facilities are scoped to the selected branch. The screen listed every
      branch's facilities, which is how someone books the wrong building. A
      ?facility_id= carried over from another branch (bookmark, back button) is
      now dropped instead of silently overriding the branch scope.
    - Groups are scoped to the facility's branch AND to the sports that facility
      hosts, so a football court no longer offers swimming groups. That link did
      not exist, so this adds a facility_activities pivot. A facility that
      declares no activities still hosts anything, so nothing breaks for academies
      that have not filled it in.
    
    Facility grid
    - Removed the arbitrary ceilings (rows/columns capped at 10, lanes at 20).
      Physical space is not limited to a number we picked.
    - New facilities never got a layout, which is why the grid silently failed to
      appear on them. FacilityService::create now seeds one, the migration
      backfills every existing facility that has none, and the default is a 1x1
      grid — "one whole space, not subdivided yet" — rather than inventing a
      subdivision nobody asked for.
    - Grid size is editable straight from facility settings, with a live preview
      of the cells being described. Shrinking onto a segment that holds a
      confirmed future reservation is refused rather than silently dropping
      someone's booking.
    - Sports and starting grid are both settable at creation time too.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    9454aa03
Name
Last commit
Last update
.claude Loading commit data...
Screenshots Loading commit data...
app Loading commit data...
bootstrap Loading commit data...
config Loading commit data...
database Loading commit data...
docker Loading commit data...
docs Loading commit data...
docs-site Loading commit data...
gap-filling-plans Loading commit data...
marketing-site Loading commit data...
plans Loading commit data...
public Loading commit data...
resources Loading commit data...
routes Loading commit data...
scripts Loading commit data...
storage Loading commit data...
tests Loading commit data...
.dockerignore Loading commit data...
.editorconfig Loading commit data...
.env.example Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.npmrc Loading commit data...
Beanding Guide.txt Loading commit data...
CLAUDE.md Loading commit data...
Dockerfile Loading commit data...
README.md Loading commit data...
artisan Loading commit data...
captain-definition Loading commit data...
composer.json Loading commit data...
composer.lock Loading commit data...
deploy.sh Loading commit data...
elcaptain-sportsonly-db.md Loading commit data...
one-click-app.yml Loading commit data...
package-lock.json Loading commit data...
package.json Loading commit data...
phpunit.xml Loading commit data...
system info.txt Loading commit data...
vite.config.js Loading commit data...
نادى الشيخ زايد كشف بيانات اللاعبين (2).html Loading commit data...