Proof-of-Concept
Validated and agreed Proof of Concept for one common frontend:
I heard that Alma Career South already has a solution for this
I heard that Alma Career South already has a solution for this
React
Next.js
Some other candidates:
Our repository:
Colors, spacing, shadows...
'use client';
import HeroBannerPrace from '@prace/ui/HeroBanner';
import HeroBannerJobs from '@jobs/ui/Homepage/HeroBanner';
import DefaultHeroBanner from '@local/ui/hero/HeroBanner';
import SearchForm from '@local/ui/search/SearchForm';
import useHostname from '@local/router/infrastructure/react/useHostname';
export default function Homepage() {
const hostname = useHostname();
let HeroBanner = DefaultHeroBanner;
if (hostname === 'prace.cz') {
HeroBanner = HeroBannerPrace;
} else if (hostname === 'jobs.cz') {
HeroBanner = HeroBannerJobs;
}
return (
<>
<HeroBanner />
<SearchForm />
<>
</>
);
}
'use client';
import SearchForm from '@local/ui/search/SearchForm';
export default function Homepage() {
const HeroBanner = resolveComponent("Homepage/HeroBanner");
return (
<>
<HeroBanner />
<SearchForm />
<>
</>
);
}
'use client';
import SearchForm from '@local/ui/search/SearchForm';
import useHostname from '@local/router/infrastructure/react/useHostname';
import ServiceContainerContext from '@almacareer/service-container/react';
export default function Homepage() {
const { resolveComponent } = useContext(ServiceContainerContext);
const HeroBanner = resolveComponent("Homepage/HeroBanner");
return (
<>
<HeroBanner />
<SearchForm />
<>
</>
);
}
import SearchForm from '@local/ui/search/SearchForm';
import useHostname from '@local/router/infrastructure/react/useHostname';
import serviceContainer from '@local/serviceContainer/server';
export default function Homepage() {
const { resolveComponent } = serviceContainer;
const HeroBanner = resolveComponent("Homepage/HeroBanner");
return (
<>
<HeroBanner />
<SearchForm />
<>
</>
);
}
apiVersion: cyborg/v1
kind: Components
metadata:
spec:
SearchForm: '@cyborg-search/ui/form/SearchForm'
Homepage/HeroBanner:
path: '@jobs-cz/ui/homepage/HeroBanner'
isLazy: true
SearchResults:
path: '@cyborg-search/ui/listing/Results'
isServer: true
--
apiVersion: cyborg/v1
kind: Parameters
metadata:
spec:
searchResult:
itemsPerPage: 20
homepage:
isHeroBannerVisible: '$env(HERO_BANNER_VISIBLE, false)'
'use client';
'borg:role Homepage/HeroBanner';
export default HeroBanner() {
// the usual React component stuff
return (
<>
<h1>Hello</h1>
</>
);
}
File-system based resolver
4 spaces in Profesia
2 spaces in LMC
2 spaces in Croatia
4 spaces in PHP
We are going to use