revamp template

This commit is contained in:
fro1991
2025-02-01 16:44:51 +07:00
parent c432df568a
commit 276a289580
1212 changed files with 112762 additions and 0 deletions

View File

@ -0,0 +1,22 @@
import { Link } from 'react-router-dom';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesAnniversary = () => {
return (
<TimelinesWrapper icon="cup" line={false} removeSpace={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
We recently
<Link to="/public-profile/profiles/nft" className="text-sm font-medium link">
&nbsp;celebrated&nbsp;
</Link>
the blog&apos;s 1-year anniversary
</div>
<span className="text-xs text-gray-600">3 months ago, 4:07 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesAnniversary };

View File

@ -0,0 +1,20 @@
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesBlogAnniversary = () => {
return (
<TimelinesWrapper icon="rocket" line={false}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
We recently
<a href="#" className="text-sm font-medium link">
&nbsp;celebrated&nbsp;
</a>
the blog&apos;s 1-year anniversary
</div>
<span className="text-xs text-gray-600">3 weeks ago, 4:07 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesBlogAnniversary };

View File

@ -0,0 +1,52 @@
import { Link } from 'react-router-dom';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
import { ReactNode } from 'react';
interface IBloggingConferenceProps {
heading?: string;
datetime?: string;
image?: ReactNode;
title?: string;
}
const ActivitiesBloggingConference = ({
heading,
datetime,
image,
title
}: IBloggingConferenceProps) => {
return (
<TimelinesWrapper icon="directbox-default" line={true}>
<div className="flex flex-col pb-2.5">
<span className="text-sm text-gray-800">
{heading ?? 'Attending the virtual blogging conference was an enriching experience'}
</span>
<span className="text-xs text-gray-600">{datetime ?? '2 days ago, 4:07 PM'}</span>
</div>
<div className="card shadow-none">
<div className="card-body lg:py-4">
<div className="flex justify-center py-4">{image}</div>
<div className="flex flex-col gap-1">
<div className="text-md font-medium text-gray-900 text-center">
{title ?? 'Blogging Conference'}
</div>
<div className="flex items-center justify-center gap-1">
<Link to="/public-profile/profiles/company" className="text-2sm font-semibold link">
Axio new release
</Link>
<span className="text-2sm text-gray-700 me-2">email campaign</span>
<span className="badge badge-sm badge-success badge-outline">Public</span>
</div>
</div>
</div>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesBloggingConference, type IBloggingConferenceProps };

View File

@ -0,0 +1,17 @@
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesDesignerWelcome = () => {
return (
<TimelinesWrapper icon="design-1" line={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
Onboarded a talented designer to our creative team, adding valuable expertise to upcoming
projects.
</div>
<span className="text-xs text-gray-600">2 weeks ago, 10:45 AM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesDesignerWelcome };

View File

@ -0,0 +1,22 @@
import { Link } from 'react-router-dom';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesFollowersMilestone = () => {
return (
<TimelinesWrapper icon="coffee" line={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-900">
Reaching the milestone of
<Link to="/public-profile/profiles/feeds" className="text-sm font-medium link">
&nbsp;10,000 followers&nbsp;
</Link>
on the blog was a dream come true
</div>
<span className="text-xs text-gray-600">5 days ago, 4:07 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesFollowersMilestone };

View File

@ -0,0 +1,21 @@
import { Link } from 'react-router-dom';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesInterview = () => {
return (
<TimelinesWrapper icon="entrance-left" line={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
I had the privilege of interviewing an industry expert for an
<Link to="/public-profile/profiles/blogger" className="text-sm link">
&nbsp;upcoming blog post&nbsp;
</Link>
</div>
<span className="text-xs text-gray-600">2 days ago, 4:07 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesInterview };

View File

@ -0,0 +1,19 @@
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesLogin = () => {
return (
<TimelinesWrapper icon="entrance-left" line={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
Jenny&apos;s last login to the
<a href="#" className="text-sm link">
&nbsp;Customer Portal&nbsp;
</a>
</div>
<span className="text-xs text-gray-600">5 days ago, 4:07 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesLogin };

View File

@ -0,0 +1,21 @@
import { Link } from 'react-router-dom';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesNewArticle = () => {
return (
<TimelinesWrapper icon="people" line={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
Posted a new article
<Link to="/public-profile/profiles/blogger" className="text-sm font-medium link">
&nbsp;Top 10 Tech Trends&nbsp;
</Link>
</div>
<span className="text-xs text-gray-600">Today, 9:00 AM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesNewArticle };

View File

@ -0,0 +1,24 @@
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesNewProduct = () => {
return (
<TimelinesWrapper icon="people" line={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
Jenny sent an
<a href="#" className="text-sm link">
&nbsp;inquiry&nbsp;
</a>
about a
<a href="#" className="text-sm link">
&nbsp;new product&nbsp;
</a>
.
</div>
<span className="text-xs text-gray-600">Today, 9:00 AM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesNewProduct };

View File

@ -0,0 +1,97 @@
import { KeenIcon } from '@/components';
import { CommonAvatars, CommonRating } from '@/partials/common';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesNewTeam = () => {
return (
<TimelinesWrapper icon="code" line={true}>
<div className="grow">
<div className="flex flex-col pb-2.5">
<div className="text-sm text-gray-800">
A new team
<a href="#" className="text-sm font-medium text-gray-900 hover:text-primary-active">
&nbsp;Market Mavericks&nbsp;
</a>
joined community
</div>
<span className="text-xs text-gray-600">1 month ago, 11:45 AM</span>
</div>
<div className="card shadow-none p-4">
<div className="flex flex-wrap justify-between items-center gap-7">
<div className="flex items-center gap-4">
<div className="relative size-[50px] shrink-0">
<svg
className="w-full h-full stroke-primary-clarity fill-primary-light"
width="44"
height="48"
viewBox="0 0 44 48"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M16 2.4641C19.7128 0.320509 24.2872 0.320508 28 2.4641L37.6506 8.0359C41.3634 10.1795 43.6506 14.141 43.6506
18.4282V29.5718C43.6506 33.859 41.3634 37.8205 37.6506 39.9641L28 45.5359C24.2872 47.6795 19.7128 47.6795 16 45.5359L6.34937
39.9641C2.63655 37.8205 0.349365 33.859 0.349365 29.5718V18.4282C0.349365 14.141 2.63655 10.1795 6.34937 8.0359L16 2.4641Z"
fill="none"
/>
<path
d="M16.25 2.89711C19.8081 0.842838 24.1919 0.842837 27.75 2.89711L37.4006 8.46891C40.9587 10.5232 43.1506 14.3196 43.1506
18.4282V29.5718C43.1506 33.6804 40.9587 37.4768 37.4006 39.5311L27.75 45.1029C24.1919 47.1572 19.8081 47.1572 16.25 45.1029L6.59937
39.5311C3.04125 37.4768 0.849365 33.6803 0.849365 29.5718V18.4282C0.849365 14.3196 3.04125 10.5232 6.59937 8.46891L16.25 2.89711Z"
stroke="none"
strokeOpacity="1"
/>
</svg>
<div className="absolute leading-none start-2/4 top-2/4 -translate-y-2/4 -translate-x-2/4 rtl:translate-x-2/4">
<KeenIcon icon="abstract-39" className="text-xl ps-px text-primary" />
</div>
</div>
<div className="flex flex-col gap-1.5">
<a href="#" className="text-base font-medium hover:text-primary text-gray-900">
Market Mavericks
</a>
<p className="text-2sm text-gray-700">
Navigating markets with strategic solutions
</p>
</div>
</div>
<div className="flex flex-wrap items-center gap-6 lg:gap-12">
<div className="flex flex-col items-end gap-5">
<span className="text-2xs text-gray-600 uppercase">rating</span>
<CommonRating rating={4} round={0.5} />
</div>
<div className="flex flex-col items-end gap-3 lg:min-w-24 shrink-0 max-w-auto">
<span className="text-2xs text-gray-600 uppercase">members</span>
<CommonAvatars
size="size-7"
group={[
{ filename: '300-4.png' },
{ filename: '300-1.png' },
{ filename: '300-2.png' },
{
fallback: 'S',
variant: 'text-primary-inverse ring-primary-light bg-primary'
}
]}
/>
</div>
<div className="grid justify-end min-w-20">
<a className="btn btn-sm btn-primary">
<KeenIcon icon="people" /> Join
</a>
</div>
</div>
</div>
</div>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesNewTeam };

View File

@ -0,0 +1,62 @@
import { toAbsoluteUrl } from '@/utils/Assets';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesPhotographyWorkshop = () => {
return (
<TimelinesWrapper icon="code" line={true}>
<div className="flex flex-col pb-2.5">
<span className="text-sm text-gray-800">
Jenny attended a Nature Photography Immersion workshop
</span>
<span className="text-xs text-gray-600">3 days ago, 11:45 AM</span>
</div>
<div className="card shadow-none">
<div className="card-body">
<div className="grid gap-4">
<div className="flex flex-col md:flex-row md:items-center gap-5">
<div className="flex items-center gap-5 shrink-0">
<div className="border border-brand-clarity rounded-lg max-h-20">
<div className="flex items-center justify-center border-b border-b-brand-clarity bg-brand-light rounded-t-lg">
<span className="text-2sm text-brand font-medium p-2">Apr</span>
</div>
<div className="flex items-center justify-center size-12">
<span className="font-medium text-gray-800 text-1.5xl tracking-tight">02</span>
</div>
</div>
<img
src={toAbsoluteUrl('/media/images/600x400/8.jpg')}
className="rounded-lg max-h-20 max-w-full"
alt=""
/>
</div>
<div className="flex flex-col gap-2">
<a
href="#"
className="text-xs text-brand leading-[14px] hover:text-primary-active mb-px"
>
Photo Workshop
</a>
<a
href="#"
className="text-md font-medium hover:text-primary text-gray-900 leading-4"
>
Nature Photography Immersion
</a>
<p className="text-xs text-gray-800 leading-[22px]">
Enhance your nature photography skills in a hands-on workshop guided by
experienced photographers.
</p>
</div>
</div>
</div>
</div>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesPhotographyWorkshop };

View File

@ -0,0 +1,16 @@
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesProductSpecific = () => {
return (
<TimelinesWrapper icon="rocket" line={false}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
Explored niche demo ideas for product-specific solutions.
</div>
<span className="text-xs text-gray-600">3 weeks ago, 4:07 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesProductSpecific };

View File

@ -0,0 +1,73 @@
import { KeenIcon } from '@/components';
import { CommonAvatars } from '@/partials/common';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
import { Link } from 'react-router-dom';
const ActivitiesProductWebinar = () => {
return (
<TimelinesWrapper icon="calendar-tick" line={true}>
<div className="flex flex-col pb-2.5">
<span className="text-sm text-gray-800">
Jenny attended a webinar on new product features.
</span>
<span className="text-xs text-gray-600">3 days ago, 11:45 AM</span>
</div>
<div className="card shadow-none p-4">
<div className="flex flex-wrap gap-2.5">
<KeenIcon icon="code" className="text-lg text-info" />
<div className="flex flex-col gap-5 grow">
<div className="flex flex-wrap items-center justify-between">
<div className="flex flex-col gap-0.5">
<span className="text-md font-medium text-gray-900 cursor-pointer hover:text-primary mb-px">
Leadership Development Series: Part 1
</span>
<span className="text-xs text-gray-600">
The first installment of a leadership development series.
</span>
</div>
<Link to="/account/members/teams" className="btn btn-link">
View
</Link>
</div>
<div className="flex flex-wrap gap-7.5">
<div className="flex items-center gap-1.5">
<span className="text-2sm font-medium text-gray-600">Code:</span>
<span className="text-2sm text-primary">#leaderdev-1</span>
</div>
<div className="flex items-center gap-1.5">
<span className="text-2sm text-gray-600">Progress:</span>
<div className="progress progress-success min-w-[120px]">
<div className="progress-bar" style={{ width: '80%' }}></div>
</div>
</div>
<div className="flex items-center gap-1.5 lg:min-w-24 shrink-0 max-w-auto">
<span className="text-2sm text-gray-600">Guests:</span>
<CommonAvatars
size="size-7"
group={[
{ filename: '300-4.png' },
{ filename: '300-1.png' },
{ filename: '300-2.png' },
{
fallback: '+24',
variant: 'text-primary-inverse ring-primary-light bg-primary'
}
]}
/>
</div>
</div>
</div>
</div>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesProductWebinar };

View File

@ -0,0 +1,16 @@
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesProjectStatus = () => {
return (
<TimelinesWrapper icon="rocket" line={false}>
<div className="flex flex-col">
<div className="text-sm text-gray-900">
Completed phase one of client project ahead of schedule.
</div>
<span className="text-xs text-gray-600">6 days ago, 10:45 AM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesProjectStatus };

View File

@ -0,0 +1,21 @@
import { Link } from 'react-router-dom';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesUpcomingContent = () => {
return (
<TimelinesWrapper icon="share" line={true}>
<div className="flex flex-col">
<div className="text-sm text-gray-800">
I couldn&apos;t resist sharing a sneak peek of our
<Link to="/public-profile/profiles/blogger" className="text-sm link">
&nbsp;upcoming content
</Link>
</div>
<span className="text-xs text-gray-600">5 days ago, 4:07 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesUpcomingContent };

View File

@ -0,0 +1,22 @@
import { Link } from 'react-router-dom';
import { TimelinesWrapper } from '@/partials/timelines/default/item';
const ActivitiesVirtualTeam = () => {
return (
<TimelinesWrapper icon="like-shapes" line={false}>
<div className="flex flex-col">
<div className="text-sm font-medium text-gray-800">
Hosted a virtual
<Link to="/public-profile/profiles/creator" className="text-sm font-medium link">
&nbsp;team-building event
</Link>
, fostering collaboration and strengthening bonds among team members.
</div>
<span className="text-xs font-medium text-gray-500">1 month ago, 13:56 PM</span>
</div>
</TimelinesWrapper>
);
};
export { ActivitiesVirtualTeam };

View File

@ -0,0 +1,16 @@
export * from './ActivitiesAnniversary';
export * from './ActivitiesBlogAnniversary';
export * from './ActivitiesBloggingConference';
export * from './ActivitiesDesignerWelcome';
export * from './ActivitiesFollowersMilestone';
export * from './ActivitiesInterview';
export * from './ActivitiesLogin';
export * from './ActivitiesNewArticle';
export * from './ActivitiesNewProduct';
export * from './ActivitiesNewTeam';
export * from './ActivitiesPhotographyWorkshop';
export * from './ActivitiesProductSpecific';
export * from './ActivitiesProductWebinar';
export * from './ActivitiesProjectStatus';
export * from './ActivitiesUpcomingContent';
export * from './ActivitiesVirtualTeam';