chore: align migrations, docs, and frontends with crewli.app setup
- Replace dated migrations with ordered 2026_04_07_* chain; fold users update into base migration - Update OrganisationScope, AppServiceProvider, seeders, api routes, and .env.example - Refresh Cursor rules, CLAUDE.md, Makefile, README, and docs (API, SCHEMA, SETUP) - Adjust admin/app/portal HTML, packages, api-client, events types, and theme config - Update docker-compose and VS Code settings; remove stray Office lock files from resources Made-with: Cursor
This commit is contained in:
@@ -20,7 +20,7 @@ pnpm install
|
||||
|
||||
```env
|
||||
VITE_API_URL=http://localhost:8000/api/v1
|
||||
VITE_APP_NAME="Event Crew Admin"
|
||||
VITE_APP_NAME="Crewli Admin"
|
||||
```
|
||||
|
||||
4. Start development:
|
||||
@@ -31,4 +31,6 @@ pnpm dev
|
||||
|
||||
## Port
|
||||
|
||||
Runs on http://localhost:5173 (Vite default)
|
||||
Runs on http://localhost:5173 (Vite default).
|
||||
|
||||
**Production:** point `VITE_API_URL` at your API, e.g. `https://api.crewli.app/api/v1`, with DNS/TLS for `admin.crewli.app` (and matching Laravel `FRONTEND_ADMIN_URL` / CORS / Sanctum settings — see repo `README.md` and `api/.env.example`).
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Event Crew Admin</title>
|
||||
<title>Crewli Admin</title>
|
||||
<link rel="stylesheet" type="text/css" href="/loader.css" />
|
||||
</head>
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"name": "eventcrew-admin",
|
||||
"name": "crewli-admin",
|
||||
"version": "9.5.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
|
||||
@@ -5,7 +5,7 @@ import type { AxiosInstance, InternalAxiosRequestConfig } from 'axios'
|
||||
/**
|
||||
* Single axios instance for the real Laravel API (VITE_API_URL).
|
||||
* Auth: Bearer token from cookie 'accessToken' (set by login).
|
||||
* Use this for all event-crew API calls; useApi (composables/useApi) stays for Vuexy demo/mock endpoints.
|
||||
* Use this for all Crewli API calls; useApi (composables/useApi) stays for Vuexy demo/mock endpoints.
|
||||
*/
|
||||
const apiClient: AxiosInstance = axios.create({
|
||||
baseURL: import.meta.env.VITE_API_URL,
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { useEvents } from '@/composables/useEvents'
|
||||
import { useRoute, useRouter } from 'vue-router'
|
||||
import type { EventCrewEventStatus, UpdateEventData } from '@/types/events'
|
||||
import type { CrewliEventStatus, UpdateEventData } from '@/types/events'
|
||||
|
||||
definePage({
|
||||
meta: {
|
||||
@@ -17,7 +17,7 @@ const eventId = computed(() => route.params.id as string)
|
||||
|
||||
const formData = ref<UpdateEventData>({})
|
||||
|
||||
const statusOptions: { title: string; value: EventCrewEventStatus }[] = [
|
||||
const statusOptions: { title: string; value: CrewliEventStatus }[] = [
|
||||
{ title: 'Draft', value: 'draft' },
|
||||
{ title: 'Published', value: 'published' },
|
||||
{ title: 'Registration open', value: 'registration_open' },
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<script setup lang="ts">
|
||||
import { useEvents } from '@/composables/useEvents'
|
||||
import { useRouter } from 'vue-router'
|
||||
import type { CreateEventData, EventCrewEventStatus } from '@/types/events'
|
||||
import type { CreateEventData, CrewliEventStatus } from '@/types/events'
|
||||
|
||||
definePage({
|
||||
meta: {
|
||||
@@ -21,7 +21,7 @@ const formData = ref<CreateEventData>({
|
||||
status: 'draft',
|
||||
})
|
||||
|
||||
const statusOptions: { title: string; value: EventCrewEventStatus }[] = [
|
||||
const statusOptions: { title: string; value: CrewliEventStatus }[] = [
|
||||
{ title: 'Draft', value: 'draft' },
|
||||
{ title: 'Published', value: 'published' },
|
||||
{ title: 'Registration open', value: 'registration_open' },
|
||||
|
||||
@@ -17,8 +17,8 @@ export interface Pagination {
|
||||
to: number | null
|
||||
}
|
||||
|
||||
/** EventCrew festival / multi-day event (API resource). */
|
||||
export type EventCrewEventStatus =
|
||||
/** Crewli festival / multi-day event (API resource). */
|
||||
export type CrewliEventStatus =
|
||||
| 'draft'
|
||||
| 'published'
|
||||
| 'registration_open'
|
||||
@@ -41,7 +41,7 @@ export interface Event {
|
||||
start_date: string
|
||||
end_date: string
|
||||
timezone: string
|
||||
status: EventCrewEventStatus
|
||||
status: CrewliEventStatus
|
||||
created_at: string
|
||||
updated_at: string
|
||||
organisation?: OrganisationSummary
|
||||
@@ -53,7 +53,7 @@ export interface CreateEventData {
|
||||
start_date: string
|
||||
end_date: string
|
||||
timezone?: string
|
||||
status?: EventCrewEventStatus
|
||||
status?: CrewliEventStatus
|
||||
}
|
||||
|
||||
export interface UpdateEventData extends Partial<CreateEventData> {}
|
||||
|
||||
Reference in New Issue
Block a user