mirror of
https://github.com/Hestia-Homes/assessment-model.git
synced 2026-07-22 08:48:34 +00:00
Design references and critique snapshot for the portfolio home redesign; impeccable design skill added to devcontainer postCreateCommand on trial. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
540 lines
22 KiB
HTML
540 lines
22 KiB
HTML
<!doctype html>
|
|
<html class="light" lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta content="width=device-width, initial-scale=1.0" name="viewport" />
|
|
<title>Domna | Property Portfolios</title>
|
|
<link href="https://fonts.googleapis.com" rel="preconnect" />
|
|
<link crossorigin="" href="https://fonts.gstatic.com" rel="preconnect" />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Manrope:wght@700;800;900&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght,FILL@100..700,0..1&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
<script src="https://cdn.tailwindcss.com?plugins=forms,container-queries"></script>
|
|
<script id="tailwind-config">
|
|
tailwind.config = {
|
|
darkMode: "class",
|
|
theme: {
|
|
extend: {
|
|
colors: {
|
|
"on-background": "#151d21",
|
|
tertiary: "#000000",
|
|
"surface-container-highest": "#dce3e9",
|
|
"inverse-primary": "#c1c2f3",
|
|
"error-container": "#ffdad6",
|
|
primary: "#000000",
|
|
"inverse-on-surface": "#ebf2f8",
|
|
"inverse-surface": "#2a3136",
|
|
"surface-container-low": "#edf4fa",
|
|
"surface-dim": "#d4dbe1",
|
|
"on-surface-variant": "#46464e",
|
|
"tertiary-fixed": "#ffddb4",
|
|
"secondary-fixed-dim": "#bec2ff",
|
|
"outline-variant": "#c7c5cf",
|
|
"on-secondary-container": "#29308b",
|
|
"on-primary-fixed-variant": "#41436c",
|
|
"primary-fixed": "#e1e0ff",
|
|
"secondary-fixed": "#e0e0ff",
|
|
"on-tertiary-container": "#9c7f5a",
|
|
"surface-container-lowest": "#ffffff",
|
|
"on-primary": "#ffffff",
|
|
"surface-tint": "#595b85",
|
|
"on-tertiary-fixed": "#291800",
|
|
secondary: "#4e55b0",
|
|
"on-secondary-fixed": "#00036b",
|
|
"on-error": "#ffffff",
|
|
"on-tertiary-fixed-variant": "#5a4222",
|
|
"surface-variant": "#dce3e9",
|
|
"on-tertiary": "#ffffff",
|
|
"primary-container": "#15173e",
|
|
"secondary-container": "#969efe",
|
|
"on-secondary": "#ffffff",
|
|
"on-primary-container": "#7e80ad",
|
|
surface: "#f5faff",
|
|
"tertiary-container": "#291800",
|
|
"primary-fixed-dim": "#c1c2f3",
|
|
error: "#ba1a1a",
|
|
"on-error-container": "#93000a",
|
|
"on-secondary-fixed-variant": "#353c97",
|
|
outline: "#77767f",
|
|
"surface-container": "#e8eff5",
|
|
"surface-container-high": "#e2e9ef",
|
|
"on-primary-fixed": "#15173e",
|
|
"surface-bright": "#f5faff",
|
|
"tertiary-fixed-dim": "#e3c197",
|
|
"on-surface": "#151d21",
|
|
background: "#f5faff",
|
|
},
|
|
borderRadius: {
|
|
DEFAULT: "0.25rem",
|
|
lg: "0.5rem",
|
|
xl: "0.75rem",
|
|
full: "9999px",
|
|
},
|
|
fontFamily: {
|
|
headline: ["Manrope"],
|
|
body: ["Inter"],
|
|
label: ["Inter"],
|
|
},
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style>
|
|
body {
|
|
font-family: "Inter", sans-serif;
|
|
}
|
|
.font-headline {
|
|
font-family: "Manrope", sans-serif;
|
|
}
|
|
.material-symbols-outlined {
|
|
font-variation-settings:
|
|
"FILL" 0,
|
|
"wght" 400,
|
|
"GRAD" 0,
|
|
"opsz" 24;
|
|
display: inline-block;
|
|
vertical-align: middle;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body class="bg-surface text-on-surface min-h-screen">
|
|
<header
|
|
class="bg-[#f5faff]/80 dark:bg-[#14163d]/80 backdrop-blur-3xl shadow-[0_40px_60px_rgba(21,29,33,0.04)] docked full-width top-0 sticky z-50"
|
|
>
|
|
<div
|
|
class="flex justify-between items-center w-full px-8 py-4 max-w-[1440px] mx-auto"
|
|
>
|
|
<div class="flex items-center gap-8">
|
|
<span
|
|
class="text-2xl font-black text-[#14163d] dark:text-white tracking-tighter font-headline"
|
|
>Domna</span
|
|
>
|
|
<nav class="hidden md:flex items-center gap-6">
|
|
<a
|
|
class="text-[#14163d] dark:text-white border-b-2 border-[#14163d] dark:border-white pb-1 font-headline font-bold tracking-tight"
|
|
href="#"
|
|
>Portfolio</a
|
|
>
|
|
<a
|
|
class="text-[#14163d]/60 dark:text-[#f5faff]/60 hover:text-[#14163d] dark:hover:text-white transition-colors font-headline font-bold tracking-tight"
|
|
href="#"
|
|
>Reporting</a
|
|
>
|
|
<a
|
|
class="text-[#14163d]/60 dark:text-[#f5faff]/60 hover:text-[#14163d] dark:hover:text-white transition-colors font-headline font-bold tracking-tight"
|
|
href="#"
|
|
>Decent Homes</a
|
|
>
|
|
<a
|
|
class="text-[#14163d]/60 dark:text-[#f5faff]/60 hover:text-[#14163d] dark:hover:text-white transition-colors font-headline font-bold tracking-tight"
|
|
href="#"
|
|
>Projects</a
|
|
>
|
|
</nav>
|
|
</div>
|
|
<div class="flex items-center gap-4">
|
|
<div class="relative group">
|
|
<span
|
|
class="material-symbols-outlined absolute left-3 top-1/2 -translate-y-1/2 text-on-surface-variant"
|
|
>search</span
|
|
>
|
|
<input
|
|
class="pl-10 pr-4 py-2 bg-surface-container-highest rounded-lg border-none focus:ring-2 focus:ring-secondary/40 text-sm w-64 transition-all"
|
|
placeholder="Search portfolios..."
|
|
type="text"
|
|
/>
|
|
</div>
|
|
<button
|
|
class="p-2 hover:bg-[#edf4fa] dark:hover:bg-[#1c1f4a] rounded-lg transition-all scale-95 active:opacity-80"
|
|
>
|
|
<span
|
|
class="material-symbols-outlined text-[#14163d] dark:text-[#f5faff]"
|
|
>notifications</span
|
|
>
|
|
</button>
|
|
<button
|
|
class="p-2 hover:bg-[#edf4fa] dark:hover:bg-[#1c1f4a] rounded-lg transition-all scale-95 active:opacity-80"
|
|
>
|
|
<span
|
|
class="material-symbols-outlined text-[#14163d] dark:text-[#f5faff]"
|
|
>settings</span
|
|
>
|
|
</button>
|
|
<div
|
|
class="w-10 h-10 rounded-full overflow-hidden bg-surface-container-high ml-2 border-2 border-surface-container-highest"
|
|
>
|
|
<img
|
|
alt="User profile"
|
|
class="w-full h-full object-cover"
|
|
src="https://lh3.googleusercontent.com/aida-public/AB6AXuAhDifmEzkeiUoz7-qk7MgfZWfDcrj2ZQ0YFyM_QySQW7V5p7txGp2Npp2udFSI4WGqDaDlfUTq15TP_ZSM7NpHCbeLgX_GBtuEfpFUEJt-pjry3M3WB9ldA3UH2zZuZyqvEKFESQ75eT9dHUOJBMrTa_aZXEmsyuEkGIHPY9-T0VHC5t_FgM10CZ0rWy84ATDoIJFnZDA3OblJtPVNuEeWOrJJj7PbJq5Om624QV6-49DGfnFy05CrPZm-HgqXlJ5Ah9XhHPCAQqH_"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<main class="max-w-[1440px] mx-auto px-8 py-12">
|
|
<div class="mb-8">
|
|
<button
|
|
class="flex items-center gap-2 px-6 py-3 bg-gradient-to-br from-primary-container to-[#1c1f4a] text-white rounded-xl font-bold tracking-tight hover:shadow-lg hover:shadow-primary/10 transition-all active:scale-[0.98]"
|
|
>
|
|
<span class="material-symbols-outlined text-[20px]">add</span>
|
|
<span>Add New Portfolio</span>
|
|
</button>
|
|
</div>
|
|
<div
|
|
class="flex flex-col md:flex-row md:items-end justify-between gap-8 mb-12"
|
|
>
|
|
<div>
|
|
<h1
|
|
class="text-5xl font-black text-[#14163d] tracking-tighter font-headline mb-4"
|
|
>
|
|
Property Portfolios
|
|
</h1>
|
|
<p
|
|
class="text-on-surface-variant max-w-xl font-medium leading-relaxed"
|
|
>
|
|
Strategic oversight of energy retrofit assets. Curate, monitor, and
|
|
scale sustainability across your entire estate architecture.
|
|
</p>
|
|
</div>
|
|
<div class="flex items-center gap-3">
|
|
<div class="flex bg-surface-container-low p-1 rounded-xl">
|
|
<button
|
|
class="p-2 text-on-surface-variant hover:text-primary transition-all"
|
|
>
|
|
<span class="material-symbols-outlined">grid_view</span>
|
|
</button>
|
|
<button
|
|
class="p-2 bg-white shadow-sm rounded-lg text-primary transition-all"
|
|
>
|
|
<span class="material-symbols-outlined">list</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div
|
|
class="flex flex-wrap items-center gap-4 mb-6 pb-6 border-b border-outline-variant/10"
|
|
>
|
|
<div
|
|
class="flex items-center gap-2 px-4 py-2 bg-surface-container-low rounded-full text-sm font-semibold text-on-surface-variant cursor-pointer hover:bg-surface-container-high transition-all"
|
|
>
|
|
<span>Status:</span>
|
|
<span class="text-primary">All Active</span>
|
|
<span class="material-symbols-outlined text-[18px]">expand_more</span>
|
|
</div>
|
|
<div
|
|
class="flex items-center gap-2 px-4 py-2 bg-surface-container-low rounded-full text-sm font-semibold text-on-surface-variant cursor-pointer hover:bg-surface-container-high transition-all"
|
|
>
|
|
<span>Tag:</span>
|
|
<span class="text-primary">Residential</span>
|
|
<span class="material-symbols-outlined text-[18px]">expand_more</span>
|
|
</div>
|
|
<div
|
|
class="flex items-center gap-2 px-4 py-2 bg-surface-container-low rounded-full text-sm font-semibold text-on-surface-variant cursor-pointer hover:bg-surface-container-high transition-all"
|
|
>
|
|
<span>Sort by:</span>
|
|
<span class="text-primary">Budget (High)</span>
|
|
<span class="material-symbols-outlined text-[18px]">expand_more</span>
|
|
</div>
|
|
<div class="h-6 w-[1px] bg-outline-variant/30 mx-2"></div>
|
|
<button
|
|
class="text-sm font-bold text-secondary hover:underline underline-offset-4"
|
|
>
|
|
Reset Filters
|
|
</button>
|
|
</div>
|
|
<div class="overflow-x-auto">
|
|
<table class="w-full text-left border-separate border-spacing-y-4">
|
|
<thead>
|
|
<tr
|
|
class="text-on-surface-variant text-[11px] font-bold uppercase tracking-widest px-6"
|
|
>
|
|
<th class="pb-2 px-6">Portfolio Name</th>
|
|
<th class="pb-2 px-6">Status</th>
|
|
<th class="pb-2 px-6">Budget Progress</th>
|
|
<th class="pb-2 px-6">Target EPC</th>
|
|
<th class="pb-2 px-6 text-right">Properties</th>
|
|
<th class="pb-2 px-6"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody class="space-y-4">
|
|
<tr
|
|
class="bg-surface-container-lowest group hover:translate-y-[-2px] transition-all duration-300 shadow-[0_4px_12px_rgba(21,29,33,0.02)]"
|
|
>
|
|
<td class="py-5 px-6 rounded-l-[1.5rem]">
|
|
<div>
|
|
<div class="font-headline font-black text-lg text-[#14163d]">
|
|
London Social Housing
|
|
</div>
|
|
<div
|
|
class="text-xs text-on-surface-variant font-medium flex items-center gap-1 mt-1"
|
|
>
|
|
<span class="material-symbols-outlined text-[12px]"
|
|
>location_on</span
|
|
>
|
|
Greater London Authority
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6">
|
|
<div
|
|
class="bg-tertiary-fixed px-3 py-1 rounded-full inline-flex items-center gap-1.5"
|
|
>
|
|
<span
|
|
class="w-1.5 h-1.5 rounded-full bg-on-tertiary-fixed"
|
|
></span>
|
|
<span
|
|
class="text-[9px] font-bold uppercase tracking-widest text-on-tertiary-fixed"
|
|
>In Progress</span
|
|
>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6 w-1/4">
|
|
<div class="space-y-2">
|
|
<div class="flex justify-between text-[11px] font-bold">
|
|
<span class="text-on-surface-variant">64%</span>
|
|
<span class="text-primary">£4.2M / £6.5M</span>
|
|
</div>
|
|
<div
|
|
class="h-1.5 w-full bg-surface-container-high rounded-full overflow-hidden"
|
|
>
|
|
<div
|
|
class="h-full bg-primary-container rounded-full"
|
|
style="width: 64%"
|
|
></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6">
|
|
<span class="text-sm font-black text-[#14163d]">Rating A</span>
|
|
</td>
|
|
<td class="py-5 px-6 text-right">
|
|
<span class="text-sm font-black text-[#14163d]">142 Units</span>
|
|
</td>
|
|
<td class="py-5 px-6 rounded-r-[1.5rem] text-right">
|
|
<button
|
|
class="p-2 hover:bg-surface-container-low rounded-full transition-all text-on-surface-variant"
|
|
>
|
|
<span class="material-symbols-outlined">more_vert</span>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
<tr
|
|
class="bg-surface-container-lowest group hover:translate-y-[-2px] transition-all duration-300 shadow-[0_4px_12px_rgba(21,29,33,0.02)]"
|
|
>
|
|
<td class="py-5 px-6 rounded-l-[1.5rem]">
|
|
<div>
|
|
<div class="font-headline font-black text-lg text-[#14163d]">
|
|
Commercial Retrofit 2026
|
|
</div>
|
|
<div
|
|
class="text-xs text-on-surface-variant font-medium flex items-center gap-1 mt-1"
|
|
>
|
|
<span class="material-symbols-outlined text-[12px]"
|
|
>location_on</span
|
|
>
|
|
Manchester City Council
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6">
|
|
<div
|
|
class="bg-surface-container-highest px-3 py-1 rounded-full inline-flex items-center gap-1.5"
|
|
>
|
|
<span
|
|
class="w-1.5 h-1.5 rounded-full bg-on-surface-variant"
|
|
></span>
|
|
<span
|
|
class="text-[9px] font-bold uppercase tracking-widest text-on-surface-variant"
|
|
>Planning</span
|
|
>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6 w-1/4">
|
|
<div class="space-y-2">
|
|
<div class="flex justify-between text-[11px] font-bold">
|
|
<span class="text-on-surface-variant">7%</span>
|
|
<span class="text-primary">£0.8M / £12.0M</span>
|
|
</div>
|
|
<div
|
|
class="h-1.5 w-full bg-surface-container-high rounded-full overflow-hidden"
|
|
>
|
|
<div
|
|
class="h-full bg-primary-container rounded-full"
|
|
style="width: 7%"
|
|
></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6">
|
|
<span class="text-sm font-black text-[#14163d]">Rating B+</span>
|
|
</td>
|
|
<td class="py-5 px-6 text-right">
|
|
<span class="text-sm font-black text-[#14163d]">28 Assets</span>
|
|
</td>
|
|
<td class="py-5 px-6 rounded-r-[1.5rem] text-right">
|
|
<button
|
|
class="p-2 hover:bg-surface-container-low rounded-full transition-all text-on-surface-variant"
|
|
>
|
|
<span class="material-symbols-outlined">more_vert</span>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
<tr
|
|
class="bg-surface-container-lowest group hover:translate-y-[-2px] transition-all duration-300 shadow-[0_4px_12px_rgba(21,29,33,0.02)]"
|
|
>
|
|
<td class="py-5 px-6 rounded-l-[1.5rem]">
|
|
<div>
|
|
<div class="font-headline font-black text-lg text-[#14163d]">
|
|
Oxfordshire Eco Village
|
|
</div>
|
|
<div
|
|
class="text-xs text-on-surface-variant font-medium flex items-center gap-1 mt-1"
|
|
>
|
|
<span class="material-symbols-outlined text-[12px]"
|
|
>location_on</span
|
|
>
|
|
Regional Development
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6">
|
|
<div
|
|
class="bg-tertiary-fixed px-3 py-1 rounded-full inline-flex items-center gap-1.5"
|
|
>
|
|
<span
|
|
class="w-1.5 h-1.5 rounded-full bg-on-tertiary-fixed"
|
|
></span>
|
|
<span
|
|
class="text-[9px] font-bold uppercase tracking-widest text-on-tertiary-fixed"
|
|
>In Progress</span
|
|
>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6 w-1/4">
|
|
<div class="space-y-2">
|
|
<div class="flex justify-between text-[11px] font-bold">
|
|
<span class="text-on-surface-variant">93%</span>
|
|
<span class="text-primary">£2.9M / £3.1M</span>
|
|
</div>
|
|
<div
|
|
class="h-1.5 w-full bg-surface-container-high rounded-full overflow-hidden"
|
|
>
|
|
<div
|
|
class="h-full bg-primary-container rounded-full"
|
|
style="width: 93%"
|
|
></div>
|
|
</div>
|
|
</div>
|
|
</td>
|
|
<td class="py-5 px-6">
|
|
<span class="text-sm font-black text-[#14163d]">Net Zero</span>
|
|
</td>
|
|
<td class="py-5 px-6 text-right">
|
|
<span class="text-sm font-black text-[#14163d]">18 Units</span>
|
|
</td>
|
|
<td class="py-5 px-6 rounded-r-[1.5rem] text-right">
|
|
<button
|
|
class="p-2 hover:bg-surface-container-low rounded-full transition-all text-on-surface-variant"
|
|
>
|
|
<span class="material-symbols-outlined">more_vert</span>
|
|
</button>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div
|
|
class="mt-16 flex flex-col md:flex-row items-center justify-between gap-6 px-4"
|
|
>
|
|
<div class="flex items-center gap-3">
|
|
<span class="text-sm font-medium text-on-surface-variant"
|
|
>Items per page:</span
|
|
>
|
|
<div class="relative">
|
|
<select
|
|
class="appearance-none bg-surface-container-low border-none rounded-lg text-sm font-bold text-primary pl-4 pr-10 py-2 focus:ring-0 cursor-pointer"
|
|
>
|
|
<option>10</option>
|
|
<option selected="">25</option>
|
|
<option>50</option>
|
|
<option>100</option>
|
|
</select>
|
|
<span
|
|
class="material-symbols-outlined absolute right-2 top-1/2 -translate-y-1/2 text-on-surface-variant pointer-events-none"
|
|
>expand_more</span
|
|
>
|
|
</div>
|
|
</div>
|
|
<div class="flex flex-col items-center gap-4">
|
|
<div class="flex items-center gap-1">
|
|
<button
|
|
class="w-9 h-9 flex items-center justify-center rounded-lg hover:bg-surface-container-low text-on-surface-variant transition-colors"
|
|
>
|
|
<span class="material-symbols-outlined text-[20px]"
|
|
>chevron_left</span
|
|
>
|
|
</button>
|
|
<button
|
|
class="w-9 h-9 flex items-center justify-center rounded-lg bg-primary-container text-white font-bold shadow-sm"
|
|
>
|
|
1
|
|
</button>
|
|
<button
|
|
class="w-9 h-9 flex items-center justify-center rounded-lg hover:bg-surface-container-low text-on-surface-variant font-bold transition-colors"
|
|
>
|
|
2
|
|
</button>
|
|
<button
|
|
class="w-9 h-9 flex items-center justify-center rounded-lg hover:bg-surface-container-low text-on-surface-variant font-bold transition-colors"
|
|
>
|
|
3
|
|
</button>
|
|
<span class="px-2 text-on-surface-variant">...</span>
|
|
<button
|
|
class="w-9 h-9 flex items-center justify-center rounded-lg hover:bg-surface-container-low text-on-surface-variant font-bold transition-colors"
|
|
>
|
|
24
|
|
</button>
|
|
<button
|
|
class="w-9 h-9 flex items-center justify-center rounded-lg hover:bg-surface-container-low text-on-surface-variant transition-colors"
|
|
>
|
|
<span class="material-symbols-outlined text-[20px]"
|
|
>chevron_right</span
|
|
>
|
|
</button>
|
|
</div>
|
|
<p
|
|
class="text-[11px] font-bold text-on-surface-variant uppercase tracking-widest"
|
|
>
|
|
Showing 1-25 of 142 portfolios
|
|
</p>
|
|
</div>
|
|
<div class="hidden md:block w-[140px]"></div>
|
|
</div>
|
|
</main>
|
|
<footer class="mt-24 border-t border-outline-variant/10 py-12 px-8">
|
|
<div
|
|
class="max-w-[1440px] mx-auto flex flex-col md:flex-row justify-between items-center gap-6 text-sm font-medium text-on-surface-variant"
|
|
>
|
|
<p>© 2024 Domna Estate Management. All rights reserved.</p>
|
|
<div class="flex gap-8">
|
|
<a class="hover:text-primary transition-colors" href="#"
|
|
>Documentation</a
|
|
>
|
|
<a class="hover:text-primary transition-colors" href="#"
|
|
>Privacy Policy</a
|
|
>
|
|
<a class="hover:text-primary transition-colors" href="#"
|
|
>Terms of Service</a
|
|
>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</body>
|
|
</html>
|