diff --git a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt
index 24c1d7c..39066d7 100644
--- a/app/src/main/java/com/f1rq/lifemap/MainActivity.kt
+++ b/app/src/main/java/com/f1rq/lifemap/MainActivity.kt
@@ -3,18 +3,29 @@ package com.f1rq.lifemap
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.wrapContentHeight
+import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
+import androidx.compose.ui.draw.clip
+import androidx.compose.ui.draw.shadow
import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.f1rq.lifemap.navigationbar.NavigationBar
+import com.f1rq.lifemap.topappbar.TopAppBar
import com.f1rq.lifemap.screens.ListView
import com.f1rq.lifemap.screens.MapView
+import com.f1rq.lifemap.screens.SettingsScreen
+import com.f1rq.lifemap.screens.NotificationsScreen
import com.f1rq.lifemap.ui.theme.LifeMapTheme
import com.f1rq.lifemap.ui.theme.ActiveNavColor
import com.f1rq.lifemap.ui.theme.InactiveNavColor
@@ -27,6 +38,12 @@ class MainActivity : ComponentActivity() {
val navController = rememberNavController()
Scaffold(
+ topBar = {
+ TopAppBar(
+ onSettingsIconTapped = { navController.navigate("settings")},
+ onNotificationsIconTapped = { navController.navigate("notifications")}
+ )
+ },
bottomBar = {
val navBackStackEntry = navController.currentBackStackEntryAsState()
val currentRoute = navBackStackEntry.value?.destination?.route
@@ -46,6 +63,8 @@ class MainActivity : ComponentActivity() {
) {
composable("mapview") { MapView(Modifier) }
composable("listview") { ListView(Modifier) }
+ composable("settings") { SettingsScreen(Modifier)}
+ composable("notifications") { NotificationsScreen(Modifier)}
}
}
}
diff --git a/app/src/main/java/com/f1rq/lifemap/screens/MapView.kt b/app/src/main/java/com/f1rq/lifemap/screens/MapView.kt
index 343bd02..3efd0b0 100644
--- a/app/src/main/java/com/f1rq/lifemap/screens/MapView.kt
+++ b/app/src/main/java/com/f1rq/lifemap/screens/MapView.kt
@@ -6,6 +6,7 @@ import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
+import com.f1rq.lifemap.addevent.AddEvent
@Composable
fun MapView(modifier: Modifier = Modifier) {
@@ -13,6 +14,7 @@ fun MapView(modifier: Modifier = Modifier) {
modifier = Modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
+ AddEvent()
Text("Map view")
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/f1rq/lifemap/screens/NotificationsScreen.kt b/app/src/main/java/com/f1rq/lifemap/screens/NotificationsScreen.kt
new file mode 100644
index 0000000..e10557e
--- /dev/null
+++ b/app/src/main/java/com/f1rq/lifemap/screens/NotificationsScreen.kt
@@ -0,0 +1,18 @@
+package com.f1rq.lifemap.screens
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+
+@Composable
+fun NotificationsScreen(modifier: Modifier = Modifier) {
+ Box(
+ modifier = Modifier.fillMaxSize(),
+ contentAlignment = Alignment.Center
+ ) {
+ Text("Notifications")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt b/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt
new file mode 100644
index 0000000..8c6b282
--- /dev/null
+++ b/app/src/main/java/com/f1rq/lifemap/screens/SettingsScreen.kt
@@ -0,0 +1,18 @@
+package com.f1rq.lifemap.screens
+
+import androidx.compose.foundation.layout.Box
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+
+@Composable
+fun SettingsScreen(modifier: Modifier = Modifier) {
+ Box(
+ modifier = Modifier.fillMaxSize(),
+ contentAlignment = Alignment.Center
+ ) {
+ Text("Settings screen")
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/ui-packages/add_event/VERSION.txt b/app/src/main/ui-packages/add_event/VERSION.txt
new file mode 100644
index 0000000..a487dd1
--- /dev/null
+++ b/app/src/main/ui-packages/add_event/VERSION.txt
@@ -0,0 +1 @@
+0.3.12
\ No newline at end of file
diff --git a/app/src/main/ui-packages/add_event/add_event.json b/app/src/main/ui-packages/add_event/add_event.json
new file mode 100644
index 0000000..a23c724
--- /dev/null
+++ b/app/src/main/ui-packages/add_event/add_event.json
@@ -0,0 +1,360 @@
+{
+ "name": "add_event",
+ "version": 33,
+ "source-key": {
+ "type": "figma",
+ "file": "7RzB5mC9Qj82hGEbAM11GM",
+ "node": "76:4",
+ "version": "2205685389783780702",
+ "component-id": "7df95c19403de2b4b8280d6464fc1c747d4921a5"
+ },
+ "default": "Add event",
+ "design": {
+ "atoms": [
+ {
+ "type": "group",
+ "id": "top_level",
+ "root": "true"
+ },
+ {
+ "type": "group",
+ "id": "top_level_synth"
+ },
+ {
+ "type": "group",
+ "id": "Background"
+ },
+ {
+ "type": "group",
+ "id": "Content"
+ },
+ {
+ "type": "group",
+ "id": "Title"
+ },
+ {
+ "type": "group",
+ "id": "FAB"
+ },
+ {
+ "type": "text",
+ "id": "LifeMap title"
+ },
+ {
+ "type": "text",
+ "id": "subtitle"
+ },
+ {
+ "type": "group",
+ "id": "state-layer"
+ },
+ {
+ "type": "group",
+ "id": "icon"
+ },
+ {
+ "type": "vector",
+ "id": "icon1"
+ },
+ {
+ "type": "group",
+ "id": "layer"
+ }
+ ],
+ "modes": {
+ "Add event": {
+ "rules": [
+ {
+ "id": "top_level",
+ "is-structured": false,
+ "children": [
+ "top_level_synth",
+ "Background"
+ ],
+ "clip-content": false
+ },
+ {
+ "id": "top_level_synth",
+ "opacity": 100.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "main-axis-align": "start",
+ "cross-axis-align": "start",
+ "children": [
+ "Content"
+ ],
+ "clip-content": false
+ },
+ {
+ "id": "Background",
+ "border-radius": 12.0,
+ "stroke-width": 1.0,
+ "stroke-color": {
+ "alpha": 1.0,
+ "hue": 269.99999999999994,
+ "saturation": 0.057692307692307626,
+ "value": 0.8156862745098039
+ },
+ "is-structured": false,
+ "children": [
+ "layer"
+ ],
+ "background-color": {
+ "alpha": 1.0,
+ "hue": 0.0,
+ "saturation": 0.0,
+ "value": 0.9215686274509803
+ }
+ },
+ {
+ "id": "Content",
+ "padding": 20.0,
+ "border-radius": 12.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "fixed",
+ "value": 375.0
+ },
+ "height-constraints": {
+ "sizing-mode": "fixed",
+ "value": 82.0
+ }
+ },
+ "arrangement": "row",
+ "main-axis-align": "space-between",
+ "children": [
+ "Title",
+ "FAB"
+ ]
+ },
+ {
+ "id": "Title",
+ "padding": {
+ "top": 5.0
+ },
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "fixed",
+ "value": 156.0
+ },
+ "height-constraints": {
+ "sizing-mode": "fixed",
+ "value": 48.0
+ }
+ },
+ "cross-axis-align": "start",
+ "children": [
+ "LifeMap title",
+ "subtitle"
+ ],
+ "item-spacing": -1.0,
+ "clip-content": false
+ },
+ {
+ "id": "FAB",
+ "border-radius": 16.0,
+ "drop-shadow": {
+ "color": {
+ "alpha": 0.2980392156862745,
+ "hue": 0.0,
+ "saturation": 0.0,
+ "value": 0.0
+ },
+ "blur": 3.0,
+ "offset-x": 0.0,
+ "offset-y": 1.0,
+ "spread": 0.0,
+ "blend-mode": "normal"
+ },
+ "tap-handler": "$on add button tapped",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "children": [
+ "state-layer"
+ ],
+ "background-color": {
+ "alpha": 1.0,
+ "hue": 0.0,
+ "saturation": 0.0,
+ "value": 0.9215686274509803
+ }
+ },
+ {
+ "id": "LifeMap title",
+ "font-weight": "^md.sys.typescale.title-large.weight",
+ "color": "^md.sys.color.on-surface",
+ "text-content": "Add event",
+ "overflow": "visible",
+ "text-align": "left",
+ "text-size": "^md.sys.typescale.title-large.size",
+ "letter-spacing": "^md.sys.typescale.title-large.tracking",
+ "line-height": "^md.sys.typescale.title-large.line-height",
+ "typeface": "^md.sys.typescale.title-large.font"
+ },
+ {
+ "id": "subtitle",
+ "font-weight": "^md.sys.typescale.label-medium.weight",
+ "color": "^md.sys.color.on-surface",
+ "text-content": "With localization, date etc.",
+ "overflow": "visible",
+ "text-align": "left",
+ "text-size": "^md.sys.typescale.label-medium.size",
+ "letter-spacing": "^md.sys.typescale.label-medium.tracking",
+ "line-height": "^md.sys.typescale.label-medium.line-height",
+ "typeface": "^md.sys.typescale.label-medium.font"
+ },
+ {
+ "id": "state-layer",
+ "padding": 16.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "children": [
+ "icon"
+ ],
+ "clip-content": false
+ },
+ {
+ "id": "icon",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "fixed",
+ "value": 24.0
+ },
+ "height-constraints": {
+ "sizing-mode": "fixed",
+ "value": 24.0
+ }
+ },
+ "is-structured": false,
+ "children": [
+ "icon1"
+ ],
+ "clip-content": false
+ },
+ {
+ "id": "icon1",
+ "margin": 3.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "proportional",
+ "value": 1.0
+ },
+ "height-constraints": {
+ "sizing-mode": "proportional",
+ "value": 1.0
+ }
+ },
+ "vector-content": "icon.svg"
+ },
+ {
+ "id": "layer",
+ "padding": 10.0,
+ "item-spacing": 10.0,
+ "clip-content": false
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "on add button tapped": {
+ "data-type": "void-callback",
+ "required": false,
+ "description": ""
+ }
+ },
+ "ambients": {
+ "md.sys.color.on-surface": {
+ "data-type": "color",
+ "description": null
+ },
+ "md.sys.typescale.title-large.font": {
+ "data-type": "typeface",
+ "description": null
+ },
+ "md.sys.typescale.title-large.weight": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.title-large.size": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.title-large.tracking": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.title-large.line-height": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.font": {
+ "data-type": "typeface",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.weight": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.size": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.tracking": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.line-height": {
+ "data-type": "double",
+ "description": null
+ }
+ },
+ "previews": [
+ {
+ "design": "Add event",
+ "size": {
+ "width": 375.0,
+ "height": 82.0
+ },
+ "ambients": {
+ "md.sys.color.on-surface": {
+ "alpha": 1.0,
+ "hue": 264.0,
+ "saturation": 0.15625,
+ "value": 0.12549019607843137
+ },
+ "md.sys.typescale.title-large.weight": 400.0,
+ "md.sys.typescale.title-large.size": 22.0,
+ "md.sys.typescale.title-large.line-height": 1.272727279663086,
+ "md.sys.typescale.label-medium.weight": 500.0,
+ "md.sys.typescale.label-medium.size": 12.0,
+ "md.sys.typescale.label-medium.tracking": 0.5,
+ "md.sys.typescale.label-medium.line-height": 1.3333332824707032
+ }
+ }
+ ],
+ "adin-component-search-paths": [],
+ "image-search-paths": [],
+ "vector-search-paths": []
+}
\ No newline at end of file
diff --git a/app/src/main/ui-packages/add_event/add_event_preview.png b/app/src/main/ui-packages/add_event/add_event_preview.png
new file mode 100644
index 0000000..6bbbc9c
Binary files /dev/null and b/app/src/main/ui-packages/add_event/add_event_preview.png differ
diff --git a/app/src/main/ui-packages/add_event/config.json b/app/src/main/ui-packages/add_event/config.json
new file mode 100644
index 0000000..dfafd61
--- /dev/null
+++ b/app/src/main/ui-packages/add_event/config.json
@@ -0,0 +1,4 @@
+{
+ "preview-theme": "androidx.compose.material3.MaterialTheme",
+ "ambient-translations-path": "app/src/main/ui-package-resources/style-mappings/m3_design_kit.json"
+}
\ No newline at end of file
diff --git a/app/src/main/ui-packages/add_event/icon.svg b/app/src/main/ui-packages/add_event/icon.svg
new file mode 100644
index 0000000..af47706
--- /dev/null
+++ b/app/src/main/ui-packages/add_event/icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/app/src/main/ui-packages/navigation_bar/navigation_bar.json b/app/src/main/ui-packages/navigation_bar/navigation_bar.json
index 733df75..0adb41b 100644
--- a/app/src/main/ui-packages/navigation_bar/navigation_bar.json
+++ b/app/src/main/ui-packages/navigation_bar/navigation_bar.json
@@ -5,7 +5,7 @@
"type": "figma",
"file": "7RzB5mC9Qj82hGEbAM11GM",
"node": "38:3",
- "version": "2205486309991144776",
+ "version": "2205685389783780702",
"component-id": "915162a5cdf4f7f91ace42d239b4d1faf0d5c6e7"
},
"default": "Navigation bar",
diff --git a/app/src/main/ui-packages/top_app_bar/FONTS.txt b/app/src/main/ui-packages/top_app_bar/FONTS.txt
new file mode 100644
index 0000000..86bbcc4
--- /dev/null
+++ b/app/src/main/ui-packages/top_app_bar/FONTS.txt
@@ -0,0 +1 @@
+Roboto
\ No newline at end of file
diff --git a/app/src/main/ui-packages/top_app_bar/VERSION.txt b/app/src/main/ui-packages/top_app_bar/VERSION.txt
new file mode 100644
index 0000000..a487dd1
--- /dev/null
+++ b/app/src/main/ui-packages/top_app_bar/VERSION.txt
@@ -0,0 +1 @@
+0.3.12
\ No newline at end of file
diff --git a/app/src/main/ui-packages/top_app_bar/config.json b/app/src/main/ui-packages/top_app_bar/config.json
new file mode 100644
index 0000000..dfafd61
--- /dev/null
+++ b/app/src/main/ui-packages/top_app_bar/config.json
@@ -0,0 +1,4 @@
+{
+ "preview-theme": "androidx.compose.material3.MaterialTheme",
+ "ambient-translations-path": "app/src/main/ui-package-resources/style-mappings/m3_design_kit.json"
+}
\ No newline at end of file
diff --git a/app/src/main/ui-packages/top_app_bar/icon.svg b/app/src/main/ui-packages/top_app_bar/icon.svg
new file mode 100644
index 0000000..fc358a8
--- /dev/null
+++ b/app/src/main/ui-packages/top_app_bar/icon.svg
@@ -0,0 +1,3 @@
+
diff --git a/app/src/main/ui-packages/top_app_bar/icon1.svg b/app/src/main/ui-packages/top_app_bar/icon1.svg
new file mode 100644
index 0000000..176fd23
--- /dev/null
+++ b/app/src/main/ui-packages/top_app_bar/icon1.svg
@@ -0,0 +1,3 @@
+
diff --git a/app/src/main/ui-packages/top_app_bar/top_app_bar.json b/app/src/main/ui-packages/top_app_bar/top_app_bar.json
new file mode 100644
index 0000000..72094ef
--- /dev/null
+++ b/app/src/main/ui-packages/top_app_bar/top_app_bar.json
@@ -0,0 +1,457 @@
+{
+ "name": "top_app_bar",
+ "version": 33,
+ "source-key": {
+ "type": "figma",
+ "file": "7RzB5mC9Qj82hGEbAM11GM",
+ "node": "71:3",
+ "version": "2205685389783780702",
+ "component-id": "be1e47a9eb28efdd3c5b0590ec33e84c60626aa5"
+ },
+ "default": "Top app bar",
+ "design": {
+ "atoms": [
+ {
+ "type": "group",
+ "id": "top_level",
+ "root": "true"
+ },
+ {
+ "type": "group",
+ "id": "Title"
+ },
+ {
+ "type": "group",
+ "id": "Buttons"
+ },
+ {
+ "type": "text",
+ "id": "LifeMap title"
+ },
+ {
+ "type": "text",
+ "id": "subtitle"
+ },
+ {
+ "type": "group",
+ "id": "Notifications icon"
+ },
+ {
+ "type": "group",
+ "id": "Settings icon"
+ },
+ {
+ "type": "group",
+ "id": "container"
+ },
+ {
+ "type": "group",
+ "id": "state-layer"
+ },
+ {
+ "type": "group",
+ "id": "Icon"
+ },
+ {
+ "type": "vector",
+ "id": "icon"
+ },
+ {
+ "type": "group",
+ "id": "container1"
+ },
+ {
+ "type": "group",
+ "id": "state-layer1"
+ },
+ {
+ "type": "group",
+ "id": "Icon1"
+ },
+ {
+ "type": "vector",
+ "id": "icon1"
+ }
+ ],
+ "modes": {
+ "Top app bar": {
+ "rules": [
+ {
+ "id": "top_level",
+ "padding": {
+ "left": 20.0,
+ "top": 55.0,
+ "right": 20.0,
+ "bottom": 20.0
+ },
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "proportional",
+ "value": 1.0
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "stroke-alignment": "center",
+ "arrangement": "row",
+ "main-axis-align": "space-between",
+ "children": [
+ "Title",
+ "Buttons"
+ ],
+ "background-color": {
+ "alpha": 1.0,
+ "hue": 0.0,
+ "saturation": 0.0,
+ "value": 0.9215686274509803
+ },
+ "clip-content": false
+ },
+ {
+ "id": "Title",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "cross-axis-align": "start",
+ "children": [
+ "LifeMap title",
+ "subtitle"
+ ],
+ "item-spacing": -1.0,
+ "clip-content": false
+ },
+ {
+ "id": "Buttons",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "main-axis-align": "start",
+ "children": [
+ "Notifications icon",
+ "Settings icon"
+ ],
+ "clip-content": false
+ },
+ {
+ "id": "LifeMap title",
+ "font-weight": "^md.sys.typescale.title-large.weight",
+ "color": "^md.sys.color.on-surface",
+ "annotated-text-content": {
+ "text": "LifeMap",
+ "annotated-text-span-list": [
+ {
+ "span-start": 0,
+ "span-length": 7,
+ "annotated-text-style": {
+ "font-weight": 700.0,
+ "text-size": 22.0,
+ "letter-spacing": 0.0,
+ "line-height": 1.272727279663086,
+ "typeface": "Roboto"
+ }
+ }
+ ]
+ },
+ "overflow": "visible",
+ "text-align": "left",
+ "text-size": "^md.sys.typescale.title-large.size",
+ "letter-spacing": "^md.sys.typescale.title-large.tracking",
+ "line-height": "^md.sys.typescale.title-large.line-height",
+ "typeface": "^md.sys.typescale.title-large.font"
+ },
+ {
+ "id": "subtitle",
+ "font-weight": "^md.sys.typescale.label-medium.weight",
+ "color": "^md.sys.color.on-surface",
+ "text-content": "Personal life events",
+ "overflow": "visible",
+ "text-align": "left",
+ "text-size": "^md.sys.typescale.label-medium.size",
+ "letter-spacing": "^md.sys.typescale.label-medium.tracking",
+ "line-height": "^md.sys.typescale.label-medium.line-height",
+ "typeface": "^md.sys.typescale.label-medium.font"
+ },
+ {
+ "id": "Notifications icon",
+ "tap-handler": "$on notifications icon tapped",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "fixed",
+ "value": 32.0
+ },
+ "height-constraints": {
+ "sizing-mode": "fixed",
+ "value": 32.0
+ }
+ },
+ "children": [
+ "container"
+ ],
+ "item-spacing": 10.0,
+ "clip-content": false
+ },
+ {
+ "id": "Settings icon",
+ "tap-handler": "$on settings icon tapped",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "fixed",
+ "value": 32.0
+ },
+ "height-constraints": {
+ "sizing-mode": "fixed",
+ "value": 32.0
+ }
+ },
+ "children": [
+ "container1"
+ ],
+ "item-spacing": 10.0,
+ "clip-content": false
+ },
+ {
+ "id": "container",
+ "border-radius": 100.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "children": [
+ "state-layer"
+ ],
+ "item-spacing": 10.0
+ },
+ {
+ "id": "state-layer",
+ "padding": 8.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "children": [
+ "Icon"
+ ],
+ "item-spacing": 10.0,
+ "clip-content": false
+ },
+ {
+ "id": "Icon",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "fixed",
+ "value": 24.0
+ },
+ "height-constraints": {
+ "sizing-mode": "fixed",
+ "value": 24.0
+ }
+ },
+ "is-structured": false,
+ "children": [
+ "icon"
+ ]
+ },
+ {
+ "id": "icon",
+ "margin": {
+ "left": 4.0,
+ "top": 2.0,
+ "right": 4.0,
+ "bottom": 2.0
+ },
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "proportional",
+ "value": 1.0
+ },
+ "height-constraints": {
+ "sizing-mode": "proportional",
+ "value": 1.0
+ }
+ },
+ "vector-content": "icon.svg"
+ },
+ {
+ "id": "container1",
+ "border-radius": 100.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "children": [
+ "state-layer1"
+ ],
+ "item-spacing": 10.0
+ },
+ {
+ "id": "state-layer1",
+ "padding": 8.0,
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "shrink"
+ },
+ "height-constraints": {
+ "sizing-mode": "shrink"
+ }
+ },
+ "arrangement": "row",
+ "children": [
+ "Icon1"
+ ],
+ "item-spacing": 10.0,
+ "clip-content": false
+ },
+ {
+ "id": "Icon1",
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "fixed",
+ "value": 24.0
+ },
+ "height-constraints": {
+ "sizing-mode": "fixed",
+ "value": 24.0
+ }
+ },
+ "is-structured": false,
+ "children": [
+ "icon1"
+ ]
+ },
+ {
+ "id": "icon1",
+ "margin": {
+ "left": 2.270660400390625,
+ "top": 2.0,
+ "right": 2.2706756591796875,
+ "bottom": 2.0
+ },
+ "size-constraints": {
+ "width-constraints": {
+ "sizing-mode": "proportional",
+ "value": 1.0
+ },
+ "height-constraints": {
+ "sizing-mode": "proportional",
+ "value": 1.0
+ }
+ },
+ "vector-content": "icon1.svg"
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "on notifications icon tapped": {
+ "data-type": "void-callback",
+ "required": false,
+ "description": ""
+ },
+ "on settings icon tapped": {
+ "data-type": "void-callback",
+ "required": false,
+ "description": ""
+ }
+ },
+ "ambients": {
+ "md.sys.color.on-surface": {
+ "data-type": "color",
+ "description": null
+ },
+ "md.sys.typescale.title-large.font": {
+ "data-type": "typeface",
+ "description": null
+ },
+ "md.sys.typescale.title-large.weight": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.title-large.size": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.title-large.tracking": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.title-large.line-height": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.font": {
+ "data-type": "typeface",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.weight": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.size": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.tracking": {
+ "data-type": "double",
+ "description": null
+ },
+ "md.sys.typescale.label-medium.line-height": {
+ "data-type": "double",
+ "description": null
+ }
+ },
+ "previews": [
+ {
+ "design": "Top app bar",
+ "size": {
+ "width": 375.0,
+ "height": 118.0
+ },
+ "ambients": {
+ "md.sys.color.on-surface": {
+ "alpha": 1.0,
+ "hue": 264.0,
+ "saturation": 0.15625,
+ "value": 0.12549019607843137
+ },
+ "md.sys.typescale.title-large.weight": 400.0,
+ "md.sys.typescale.title-large.size": 22.0,
+ "md.sys.typescale.title-large.line-height": 1.272727279663086,
+ "md.sys.typescale.label-medium.weight": 500.0,
+ "md.sys.typescale.label-medium.size": 12.0,
+ "md.sys.typescale.label-medium.tracking": 0.5,
+ "md.sys.typescale.label-medium.line-height": 1.3333332824707032
+ }
+ }
+ ],
+ "adin-component-search-paths": [],
+ "image-search-paths": [],
+ "vector-search-paths": []
+}
\ No newline at end of file
diff --git a/app/src/main/ui-packages/top_app_bar/top_app_bar_preview.png b/app/src/main/ui-packages/top_app_bar/top_app_bar_preview.png
new file mode 100644
index 0000000..508ea9d
Binary files /dev/null and b/app/src/main/ui-packages/top_app_bar/top_app_bar_preview.png differ