Update location tracking to record when tenant views a location rather than just whether they've seen it. This provides better audit trail and enables future features like viewing history. Changes: - Convert seenByTenant (boolean) to seenByTenantAt (Date) in database schema - Update setSeenByTenantAt action to store timestamp instead of boolean flag - Modify LocationCard UI to display when location was seen by tenant - Update all references across locationActions, monthActions, and view components - Remove unused imports from ViewLocationCard 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { ViewLocationCard } from '@/app/ui/ViewLocationCard';
|
|
import { fetchLocationById, setSeenByTenantAt } from '@/app/lib/actions/locationActions';
|
|
import { getUserSettingsByUserId } from '@/app/lib/actions/userSettingsActions';
|
|
import { notFound } from 'next/navigation';
|
|
import { myAuth } from '@/app/lib/auth';
|
|
|
|
export default async function LocationViewPage({ locationId }: { locationId:string }) {
|
|
const location = await fetchLocationById(locationId);
|
|
|
|
if (!location) {
|
|
return(notFound());
|
|
}
|
|
|
|
// Fetch user settings for the location owner
|
|
const userSettings = await getUserSettingsByUserId(location.userId);
|
|
|
|
// Check if the page was accessed by an authenticated user who is the owner
|
|
const session = await myAuth();
|
|
const isOwner = session?.user?.id === location.userId;
|
|
|
|
// If the page is not visited by the owner, mark it as seen by tenant
|
|
if (!isOwner) {
|
|
await setSeenByTenantAt(locationId);
|
|
}
|
|
|
|
return (<ViewLocationCard location={location} userSettings={userSettings} />);
|
|
} |