Skip to content
Snippets Groups Projects
Commit 27730e50 authored by Mahdi Yari's avatar Mahdi Yari
Browse files

Merge branch 'add-roadmap' into 'develop'

Add roadmap

See merge request !210
parents 84b1d76e 4ce7babe
No related branches found
No related tags found
2 merge requests!215Exchanges and Ecosystem Updates,!210Add roadmap
......@@ -23,11 +23,11 @@ export const NAVIGATION_HEADER = [
name: 'Join',
isButton: true,
},
// {
// to: 'https://whyhive.co',
// name: 'Why Hive?',
// isButton: true,
// },
// {
// to: 'https://whyhive.co',
// name: 'Why Hive?',
// isButton: true,
// },
]
/**
......@@ -52,10 +52,10 @@ export const NAVIGATION_FOOTER = [
to: 'about-contributors',
name: 'Contributors',
},
//{
// {
// to: 'about-updates',
// name: 'Updates',
//},
// },
{
to: 'https://hive.blog/@hiveio',
......@@ -80,6 +80,10 @@ export const NAVIGATION_FOOTER = [
to: 'eco',
name: 'Ecosystem',
},
{
to: 'roadmap',
name: 'Roadmap',
},
{
to: 'hbd',
name: 'Hive Dollar (HBD)',
......@@ -92,10 +96,10 @@ export const NAVIGATION_FOOTER = [
to: 'https://hiveblocks.com/witnesses',
name: 'Governance',
},
// {
// to: 'https://whyhive.co/',
// name: 'Why Hive',
// },
// {
// to: 'https://whyhive.co/',
// name: 'Why Hive',
// },
/* {
to: 'eco',
name: 'dApps Statistics'
......@@ -121,9 +125,9 @@ export const NAVIGATION_FOOTER = [
name: 'Whitepaper',
},
{
to: 'https://hive.blue/docs/technical-vision.pdf',
to: 'https://hive.blue/docs/technical-vision.pdf',
name: 'Technical Vision',
},
},
{
to: 'https://github.com/openhive-network/hive',
name: 'GitHub',
......@@ -140,6 +144,10 @@ export const ABOUT_NAVIGATION = [
to: 'about',
text: 'About Hive',
},
{to: 'about-contributors', text: 'Contributors'},
// {to: 'about-updates', text: 'Updates'},
{
to: 'roadmap',
text: 'Roadmap',
},
{ to: 'about-contributors', text: 'Contributors' },
// {to: 'about-updates', text: 'Updates'},
]
......@@ -10,7 +10,7 @@ export * from './updates'
export const INFOBAR = {
show: true,
//date: '2020-09-10T00:00:00.000Z',
// date: '2020-09-10T00:00:00.000Z',
date: '2020-09-10T00:00:00+00:00',
url: 'https://hivefe.st',
// If empty, only url is used
......
......@@ -48,6 +48,91 @@
</div>
</div>
</div>
<!-- Roadmap -->
<div v-if="$route.name === 'roadmap'" class="about__first roadmap">
<h2 class="about__title">
Roadmap
</h2>
<p class="about__text">Almost all core development updates are posted on Hive
<a href="https://hive.blog/@blocktrades/posts" target="_blank" rel="nofollow noopener noreferrer">@blocktrades</a>
</p>
<div class="about__feature">
<h3 class="about__feature__text">Q3 2024</h3>
<h4>
<ul>
<li>
<input id="find" type="checkbox" disabled/>
Light weight blockchain nodes with very low storage/cpu/memory requirements
</li>
<li>
<input id="find" type="checkbox" disabled/>
Increase performance/scalability of Hive API nodes via improvements to the Hive Application Framework (HAF) and the core Hive API apps
</li>
</ul>
</h4>
</div>
<div class="about__feature">
<h3 class="about__feature__text">
Q4 2024
</h3>
<h4>
<ul>
<li>
<input id="find" type="checkbox" disabled/>
Define new Hive APIs using HAF technology: Lite accounts API (accounts re-usable across the 2nd layer ecosystem), 2nd layer transaction API, 2nd layer smart contract API, Block Explorer API
</li>
<li>
<input id="find" type="checkbox" disabled/>
Complete rewrite of Condenser with newest web technologies
</li>
<li>
<input id="find" type="checkbox" disabled/>
Reputation tracker API
</li>
<li>
<input id="find" type="checkbox" disabled/>
Wax, A new extensible multi-language API library for Hive (Typescript, Python, C++)
</li>
</ul>
</h4>
</div>
<div class="about__feature">
<h3 class="about__feature__text">
Q1 2025
</h3>
<h4>
<ul>
<li>
<input id="find" type="checkbox" disabled/>
Release block explorer UI for deployment by all Hive API Nodes
</li>
<li>
<input id="find" type="checkbox" disabled/>
New REST-based Hive APIs
</li>
</ul>
</h4>
</div>
<div class="about__feature">
<h3 class="about__feature__text">
Q2 2025
</h3>
<h4>
<ul>
<li>
<input id="find" type="checkbox" disabled/>
Interactive OpenAPI documentation for Hive APIs (via swagger)
</li>
<li>
<input id="find" type="checkbox" disabled/>
Clive, a new cli and text-based wallet for high security accounts
</li>
</ul>
</h4>
</div>
</div>
<Updates v-if="$route.name === 'about-updates'" />
<Contributors v-if="$route.name === 'about-contributors'" />
</div>
......@@ -69,6 +154,13 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
.roadmap ul {
list-style-type: none;
}
.roadmap li {
margin-bottom: 15px;
}
.about {
display: flex;
align-items: center;
......
......@@ -8,8 +8,9 @@ const About = () => import('./pages/about.vue').then((m) => m.default || m)
const Brand = () => import('./pages/brand.vue').then((m) => m.default || m)
const Eco = () => import('./pages/eco.vue').then((m) => m.default || m)
const Wallets = () => import('./pages/wallets.vue').then((m) => m.default || m)
const Developers = () => import('./pages/developers.vue').then((m) => m.default || m)
const Hbd = () => import( './pages/hbd.vue' ).then( ( m ) => m.default || m )
const Developers = () =>
import('./pages/developers.vue').then((m) => m.default || m)
const Hbd = () => import('./pages/hbd.vue').then((m) => m.default || m)
export const createRouter = () => {
const router = new Router({
......@@ -21,61 +22,67 @@ export const createRouter = () => {
path: '/',
component: Index,
name: 'index',
meta: {}
meta: {},
},
{
path: '/about',
component: About,
name: 'about',
meta: {}
meta: {},
},
{
path: '/updates',
component: About,
name: 'about-updates',
meta: {}
meta: {},
},
{
path: '/contributors',
component: About,
name: 'about-contributors',
meta: {}
meta: {},
},
{
path: '/brand',
component: Brand,
name: 'brand',
meta: {}
meta: {},
},
{
path: '/eco',
component: Eco,
name: 'eco',
meta: { keepPosition: true, thresholdPosition: 800 }
meta: {keepPosition: true, thresholdPosition: 800},
},
{
path: '/eco/:app',
component: Eco,
name: 'eco-app',
meta: { keepPosition: true, thresholdPosition: 800 }
meta: {keepPosition: true, thresholdPosition: 800},
},
{
path: '/wallets',
component: Wallets,
name: 'wallets',
meta: {}
meta: {},
},
{
path: '/developers',
component: Developers,
name: 'developers',
meta: {}
meta: {},
},
{
path: '/hbd',
component: Hbd,
name: 'hbd',
meta: {}
meta: {},
},
{
path: '/roadmap',
component: About,
name: 'roadmap',
meta: {},
},
],
fallback: true,
......@@ -108,7 +115,7 @@ if (process.client) {
}
}
const scrollBehavior = function (to, from, savedPosition) {
const scrollBehavior = function(to, from, savedPosition) {
// if the returned position is falsy or an empty object,
// will retain current scroll position.
let position = false
......@@ -120,7 +127,11 @@ const scrollBehavior = function (to, from, savedPosition) {
) {
// console.log('Resetting position to 0', to)
// scroll to the top of the page
if (!to.meta.thresholdPosition || window.pageYOffset > to.meta.thresholdPosition) position = { x: 0, y: 0 }
if (
!to.meta.thresholdPosition ||
window.pageYOffset > to.meta.thresholdPosition
)
position = {x: 0, y: 0}
}
// console.log('saved position', savedPosition)
......@@ -137,15 +148,18 @@ const scrollBehavior = function (to, from, savedPosition) {
// coords will be used if no selector is provided,
// or if the selector didn't match any element.
if (to.hash) {
let { hash } = to
let {hash} = to
// CSS.escape() is not supported with IE and Edge.
if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {
if (
typeof window.CSS !== 'undefined' &&
typeof window.CSS.escape !== 'undefined'
) {
hash = `#${window.CSS.escape(hash.substr(1))}`
}
try {
if (document.querySelector(hash)) {
// scroll to anchor by returning the selector
position = { selector: hash }
position = {selector: hash}
}
} catch (e) {
// eslint-disable-next-line no-console
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment