Compare commits

...
4 Commits
Author SHA1 Message Date
Hamed c4d9351e91 update
Build & Deploy (develop) / build-and-deploy (push) Successful in 1m39s
2026-09-12 07:43:21 +02:00
Hamed 7e7ebc88b6 initial new branch 2026-09-08 11:22:59 +03:30
Hamed 107413069c minor changes
Build & Deploy (develop) / build-and-deploy (push) Successful in 1m42s
2026-09-08 11:05:18 +03:30
Ryan f9915e4f8c fix:fixed vending price
Build & Deploy (develop) / build-and-deploy (push) Successful in 1m41s
2026-09-07 09:52:41 +03:30
6 changed files with 80 additions and 75 deletions
+3
View File
@@ -14,6 +14,9 @@
<Item> <Item>
<option name="path" value=".gitea/workflows/test.yml" /> <option name="path" value=".gitea/workflows/test.yml" />
</Item> </Item>
<Item>
<option name="path" value=".gitea/workflows/develop.yml" />
</Item>
</list> </list>
</option> </option>
</SchemaInfo> </SchemaInfo>
+59 -51
View File
@@ -6,7 +6,8 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="bb7b50a5-be9c-4cd7-a05b-979f0e91b173" name="Changes" comment="initial new branch"> <list default="true" id="bb7b50a5-be9c-4cd7-a05b-979f0e91b173" name="Changes" comment="initial new branch">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/data/content.js" beforeDir="false" afterPath="$PROJECT_DIR$/data/content.js" afterDir="false" /> <change beforePath="$PROJECT_DIR$/app/page.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/app/page.jsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/components/Header.jsx" beforeDir="false" afterPath="$PROJECT_DIR$/components/Header.jsx" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -28,61 +29,61 @@
</component> </component>
<component name="NextEditCompletionFeaturesState"> <component name="NextEditCompletionFeaturesState">
<decayedCancelled> <decayedCancelled>
<entry key="MS100" value="1.7659734554897204" /> <entry key="MS100" value="1.0000000922420618" />
<entry key="MS500" value="2.6200917385797573" /> <entry key="MS500" value="1.0391729068887716" />
<entry key="S2" value="2.895672466750576" /> <entry key="S2" value="1.4450722698297225" />
<entry key="S5" value="2.9711768722246337" /> <entry key="S5" value="1.7960577813444258" />
<entry key="S10" value="3.095911797960576" /> <entry key="S10" value="2.390341011555007" />
<entry key="S30" value="3.6130929483281937" /> <entry key="S30" value="4.436663996737558" />
<entry key="S60" value="4.862542006443887" /> <entry key="S60" value="6.891199307173083" />
<entry key="M2" value="8.222118193057797" /> <entry key="M2" value="11.14713973926092" />
<entry key="M5" value="14.352669475563026" /> <entry key="M5" value="19.25700511515129" />
<entry key="M10" value="18.025488407782152" /> <entry key="M10" value="24.75392717332414" />
<entry key="M15" value="19.665360290707866" /> <entry key="M15" value="27.266710515049287" />
<entry key="M30" value="22.62190726116564" /> <entry key="M30" value="31.241093602530974" />
<entry key="H1" value="26.416500535541072" /> <entry key="H1" value="35.61892475228196" />
<entry key="H2" value="30.051114228090462" /> <entry key="H2" value="39.60233048673669" />
<entry key="H4" value="32.65287419479587" /> <entry key="H4" value="42.410722799497165" />
<entry key="D1" value="35.38129255958758" /> <entry key="D1" value="45.337839249335104" />
<entry key="W1" value="35.9099877286286" /> <entry key="W1" value="45.90369454213566" />
</decayedCancelled> </decayedCancelled>
<decayedSelected> <decayedSelected>
<entry key="MS100" value="0.0" /> <entry key="MS100" value="0.0" />
<entry key="MS500" value="1.5499348360687339E-164" /> <entry key="MS500" value="9.436418725306431E-247" />
<entry key="S2" value="1.1157794535925266E-41" /> <entry key="S2" value="3.1167487999584076E-62" />
<entry key="S5" value="4.1594062872493325E-17" /> <entry key="S5" value="2.497357521548065E-25" />
<entry key="S10" value="6.449345925944224E-9" /> <entry key="S10" value="4.997356822909551E-13" />
<entry key="S30" value="0.0018613950614188026" /> <entry key="S30" value="7.935606419288513E-5" />
<entry key="S60" value="0.043143887880194604" /> <entry key="S60" value="0.00890820207409358" />
<entry key="M2" value="0.20771106826597993" /> <entry key="M2" value="0.09438327221543853" />
<entry key="M5" value="0.533315069904893" /> <entry key="M5" value="0.3890075335665943" />
<entry key="M10" value="0.7302842391185045" /> <entry key="M10" value="0.6237046845796449" />
<entry key="M15" value="0.8109510091490459" /> <entry key="M15" value="0.7299940786200081" />
<entry key="M30" value="0.9005281834285062" /> <entry key="M30" value="0.8543969092991899" />
<entry key="H1" value="0.9489616343290734" /> <entry key="H1" value="0.9243359288154875" />
<entry key="H2" value="0.9741466184969663" /> <entry key="H2" value="0.9614239069294499" />
<entry key="H4" value="0.986988661787442" /> <entry key="H4" value="0.9805222623324006" />
<entry key="D1" value="0.9978195926881375" /> <entry key="D1" value="0.9967270464079093" />
<entry key="W1" value="0.9996882217756649" /> <entry key="W1" value="0.9995317780186643" />
</decayedSelected> </decayedSelected>
<decayedShown> <decayedShown>
<entry key="MS100" value="1.6363299214720612" /> <entry key="MS100" value="0.721964656545298" />
<entry key="MS500" value="2.580440430635064" /> <entry key="MS500" value="0.9727188811842931" />
<entry key="S2" value="2.884654206650678" /> <entry key="S2" value="1.4189996850900028" />
<entry key="S5" value="2.9666305108034594" /> <entry key="S5" value="1.7821693267388077" />
<entry key="S10" value="3.0934710562664876" /> <entry key="S10" value="2.3798711215683763" />
<entry key="S30" value="3.6138341741583195" /> <entry key="S30" value="4.429068687716572" />
<entry key="S60" value="4.903918162005831" /> <entry key="S60" value="6.89378526581655" />
<entry key="M2" value="8.426649355082025" /> <entry key="M2" value="11.235932446498248" />
<entry key="M5" value="14.882896956006677" /> <entry key="M5" value="19.64164646632595" />
<entry key="M10" value="18.75367770497998" /> <entry key="M10" value="25.3746875193938" />
<entry key="M15" value="20.474761353109788" /> <entry key="M15" value="27.994515469781604" />
<entry key="M30" value="23.521564444287325" /> <entry key="M30" value="32.09425472255502" />
<entry key="H1" value="27.364990222969524" /> <entry key="H1" value="36.54259305743418" />
<entry key="H2" value="31.025011433737856" /> <entry key="H2" value="40.56340345758414" />
<entry key="H4" value="33.639733831212105" /> <entry key="H4" value="43.39106428503869" />
<entry key="D1" value="36.37908993480534" /> <entry key="D1" value="46.33453530765634" />
<entry key="W1" value="36.90967275725512" /> <entry key="W1" value="46.90322187037677" />
</decayedShown> </decayedShown>
</component> </component>
<component name="ProjectColorInfo">{ <component name="ProjectColorInfo">{
@@ -103,12 +104,14 @@
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;, &quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
&quot;RunOnceActivity.typescript.service.memoryLimit.init&quot;: &quot;true&quot;, &quot;RunOnceActivity.typescript.service.memoryLimit.init&quot;: &quot;true&quot;,
&quot;codeWithMe.voiceChat.enabledByDefault&quot;: &quot;false&quot;, &quot;codeWithMe.voiceChat.enabledByDefault&quot;: &quot;false&quot;,
&quot;com.intellij.ml.llm.matterhorn.ej.ui.settings.DefaultModelSelectionForGA.v1&quot;: &quot;true&quot;,
&quot;git-widget-placeholder&quot;: &quot;develop&quot;, &quot;git-widget-placeholder&quot;: &quot;develop&quot;,
&quot;javascript.nodejs.core.library.configured.version&quot;: &quot;24.20.0&quot;, &quot;javascript.nodejs.core.library.configured.version&quot;: &quot;24.20.0&quot;,
&quot;javascript.nodejs.core.library.typings.version&quot;: &quot;24.13.3&quot;, &quot;javascript.nodejs.core.library.typings.version&quot;: &quot;24.13.3&quot;,
&quot;javascript.preferred.runtime.type.id&quot;: &quot;node&quot;, &quot;javascript.preferred.runtime.type.id&quot;: &quot;node&quot;,
&quot;js.debugger.nextJs.config.created.client&quot;: &quot;true&quot;, &quot;js.debugger.nextJs.config.created.client&quot;: &quot;true&quot;,
&quot;js.debugger.nextJs.config.created.server&quot;: &quot;true&quot;, &quot;js.debugger.nextJs.config.created.server&quot;: &quot;true&quot;,
&quot;junie.onboarding.icon.badge.shown&quot;: &quot;true&quot;,
&quot;kronk.content.tree.expanded.paths&quot;: &quot;&quot;, &quot;kronk.content.tree.expanded.paths&quot;: &quot;&quot;,
&quot;last_opened_file_path&quot;: &quot;/home/hamed/Documents/Projects/GItLabRepo/device_web&quot;, &quot;last_opened_file_path&quot;: &quot;/home/hamed/Documents/Projects/GItLabRepo/device_web&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;, &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
@@ -117,6 +120,7 @@
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;, &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;, &quot;nodejs_package_manager_path&quot;: &quot;npm&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;editor.preferences.fonts.default&quot;, &quot;settings.editor.selected.configurable&quot;: &quot;editor.preferences.fonts.default&quot;,
&quot;to.speed.mode.migration.done&quot;: &quot;true&quot;,
&quot;ts.external.directory.path&quot;: &quot;C:\\Program Files\\JetBrains\\WebStorm 2026.1.1\\plugins\\javascript-plugin\\jsLanguageServicesImpl\\external&quot;, &quot;ts.external.directory.path&quot;: &quot;C:\\Program Files\\JetBrains\\WebStorm 2026.1.1\\plugins\\javascript-plugin\\jsLanguageServicesImpl\\external&quot;,
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot; &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
} }
@@ -188,6 +192,10 @@
<workItem from="1788592387411" duration="8000" /> <workItem from="1788592387411" duration="8000" />
<workItem from="1788592424522" duration="13793000" /> <workItem from="1788592424522" duration="13793000" />
<workItem from="1788670304118" duration="1889000" /> <workItem from="1788670304118" duration="1889000" />
<workItem from="1788772211468" duration="3288000" />
<workItem from="1788845304938" duration="5986000" />
<workItem from="1789189667293" duration="1409000" />
<workItem from="1789191385769" duration="404000" />
</task> </task>
<task id="LOCAL-00001" summary="update"> <task id="LOCAL-00001" summary="update">
<option name="closed" value="true" /> <option name="closed" value="true" />
+9 -21
View File
@@ -1,49 +1,37 @@
import Header from '@/components/Header'; import LocationsSection from '@/components/LocationsSection';
import HeroSection from '@/components/HeroSection'; import ShowcaseSection from "@/components/ShowcaseSection";
import TrustedBySection from '@/components/TrustedBySection';
import FeaturesSection from '@/components/FeaturesSection'; import FeaturesSection from '@/components/FeaturesSection';
import AboutSection from '@/components/AboutSection'; import AboutSection from '@/components/AboutSection';
import HeroSection from '@/components/HeroSection';
import CartDrawer from '@/components/CartDrawer';
import Footer from '@/components/Footer';
import Header from '@/components/Header';
import TrustedBySection from '@/components/TrustedBySection';
import CatalogSection from '@/components/CatalogSection'; import CatalogSection from '@/components/CatalogSection';
import LocationsSection from '@/components/LocationsSection';
import IntroVideoSection from '@/components/IntroVideoSection'; import IntroVideoSection from '@/components/IntroVideoSection';
import MapSection from '@/components/MapSection'; import MapSection from '@/components/MapSection';
import TicketForm from '@/components/TicketForm'; import TicketForm from '@/components/TicketForm';
import Footer from '@/components/Footer';
import CartDrawer from '@/components/CartDrawer';
import ChatWidget from '@/components/ChatWidget'; import ChatWidget from '@/components/ChatWidget';
import ShowcaseSection from "@/components/ShowcaseSection";
export default function HomePage() { export default function HomePage() {
return ( return (
<main className="relative bg-page"> <main className="relative bg-page">
<Header/> <Header/>
<CartDrawer/> <CartDrawer/>
{/*faz 1*/}
{/*<ChatWidget/>*/} {/*<ChatWidget/>*/}
<HeroSection/> <HeroSection/>
<ShowcaseSection/> <ShowcaseSection/>
{/*<TrustedBySection/>*/} {/*<TrustedBySection/>*/}
<FeaturesSection/> <FeaturesSection/>
<AboutSection/> <AboutSection/>
{/*<CatalogSection/>*/} {/*<CatalogSection/>*/}
<LocationsSection/> <LocationsSection/>
{/*<IntroVideoSection/>*/} {/*<IntroVideoSection/>*/}
{/*<MapSection/>*/} {/*<MapSection/>*/}
{/*<TicketForm/>*/} {/*<TicketForm/>*/}
<Footer/> <Footer/>
</main> </main>
); );
+2 -1
View File
@@ -32,7 +32,7 @@ export default function CartDrawer() {
const handleCheckout = async () => { const handleCheckout = async () => {
// ------------------------------------------------------------------- // -------------------------------------------------------------------
// TODO: Connect to payment gateway API. // TODO: Connect to payment gateway API..
// try { // try {
// const { data } = await axios.post('/api/payment/create', { // const { data } = await axios.post('/api/payment/create', {
@@ -48,6 +48,7 @@ export default function CartDrawer() {
// ------------------------------------------------------------------- // -------------------------------------------------------------------
await message.info(t.cart.checkoutToast); await message.info(t.cart.checkoutToast);
}; };
return ( return (
+5
View File
@@ -36,6 +36,11 @@ export default function Header() {
return () => window.removeEventListener('scroll', onScroll); return () => window.removeEventListener('scroll', onScroll);
}, []); }, []);
console.log(
"%c👋 Hamed Abdollahzade · Frontend Developer",
"font-size:14px;font-weight:600;"
);
return ( return (
<header <header
className={`fixed top-0 inset-x-0 z-50 transition-all duration-300 ${ className={`fixed top-0 inset-x-0 z-50 transition-all duration-300 ${
+2 -2
View File
@@ -9,8 +9,8 @@ const machinesFa = [
id: 'rm-35', id: 'rm-35',
name: 'روبات مارکت ۳۵ کانال', name: 'روبات مارکت ۳۵ کانال',
shortLabel: '۳۵ کانال', shortLabel: '۳۵ کانال',
priceLabel: '4,200,000,000 ریال', priceLabel: '4,180,000,000 ریال',
priceNumeric: 4200000000, priceNumeric: 4180000000,
description: 'یخچالدار، ۳۵ کانال اختصاصی، سیستم خنک‌کننده قدرتمند، تحویل نرم، مدیریت آنلاین ۲۴ ساعته.', description: 'یخچالدار، ۳۵ کانال اختصاصی، سیستم خنک‌کننده قدرتمند، تحویل نرم، مدیریت آنلاین ۲۴ ساعته.',
highlights: ['یخچالدار', '۳۵ کانال اختصاصی', 'تحویل نرم', 'مدیریت آنلاین ۲۴ ساعته'], highlights: ['یخچالدار', '۳۵ کانال اختصاصی', 'تحویل نرم', 'مدیریت آنلاین ۲۴ ساعته'],
image: '/images/machine-35-base.webp', image: '/images/machine-35-base.webp',