Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
B
beasy-mobile
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
4
Issues
4
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
G
beasy-mobile
Commits
9b905db2
Commit
9b905db2
authored
May 27, 2024
by
G
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
basic implementation of an overlay
parent
bdf1605a
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
48 additions
and
5 deletions
+48
-5
Overlay.tsx
src/contexts/Overlay.tsx
+48
-5
No files found.
src/contexts/Overlay.tsx
View file @
9b905db2
import
Box
from
"@components/bases/Box
"
;
import
{
createContext
,
useContext
}
from
"react
"
;
import
{
createContext
,
useContext
,
useState
}
from
"react
"
;
import
{
View
}
from
"react-native
"
;
export
const
OverlayContext
=
createContext
({});
export
interface
IoverlayContext
{
showOverlay
():
void
;
hideOverlay
():
void
;
}
export
const
OverlayContext
=
createContext
<
IoverlayContext
>
({
showOverlay
:
()
=>
{},
hideOverlay
:
()
=>
{},
});
export
const
OverlayProvider
=
({
children
}:
{
children
:
React
.
ReactNode
})
=>
{
return
<
OverlayContext
.
Provider
value=
{
{}
}
>
{
children
}
</
OverlayContext
.
Provider
>;
const
[
overlayVisible
,
setOverlayVisible
]
=
useState
(
false
);
const
showOverlay
=
()
=>
{
setOverlayVisible
(
true
);
};
const
hideOverlay
=
()
=>
{
setOverlayVisible
(
false
);
};
return
(
<
OverlayContext
.
Provider
value=
{
{
showOverlay
,
hideOverlay
,
}
}
>
{
children
}
{
/* <OverlayComponent /> */
}
{
overlayVisible
&&
<
OverlayComponent
/>
}
</
OverlayContext
.
Provider
>
);
};
export
const
useOverlayContext
=
()
=>
{
...
...
@@ -12,5 +41,19 @@ export const useOverlayContext = () => {
};
const
OverlayComponent
=
()
=>
{
return
<
Box
/>;
return
(
<
View
style=
{
{
flex
:
1
,
width
:
"100%"
,
height
:
"100%"
,
justifyContent
:
"center"
,
alignItems
:
"center"
,
zIndex
:
10
,
backgroundColor
:
"black"
,
opacity
:
0.5
,
position
:
"absolute"
,
}
}
/>
);
};
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment