Skip to content

Commit

Permalink
Release: v0.5.0-alpha01
Browse files Browse the repository at this point in the history
  • Loading branch information
sakethpathike committed Mar 5, 2024
1 parent 1893f10 commit 7ac7643
Show file tree
Hide file tree
Showing 7 changed files with 119 additions and 49 deletions.
15 changes: 14 additions & 1 deletion .idea/deploymentTargetDropDown.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,14 @@ Linkora is an Android project that focuses on making link organization simpler.

## Releases

The latest release of Linkora (v0.4.0) is available
on [GitHub Releases](https://github.com/sakethpathike/Linkora/releases/tag/release-v0.4.0).
The latest release of Linkora (v0.5.0-alpha01) is available
on [GitHub Releases](https://github.com/sakethpathike/Linkora/releases/tag/release-v0.5.0-alpha01).
You can download the APK file from there;
or [click here](https://github.com/sakethpathike/Linkora/releases/download/release-v0.4.0/Linkora-v0.4.0.apk).
or [click here](https://github.com/sakethpathike/Linkora/releases/download/release-v0.5.0-alpha01/Linkora-v0.5.0-alpha01.apk).

[<img src="https://img.shields.io/github/downloads/sakethpathike/linkora/latest/total?style=for-the-badge&logo=github&label=Download%20v0.4.0%20APK&link=https%3A%2F%2Fgithub.com%2Fsakethpathike%2FLinkora%2Freleases%2Fdownload%2Frelease-v0.4.0%2FLinkora-v0.4.0.apk"/>](https://github.com/sakethpathike/Linkora/releases/download/release-v0.4.0/Linkora-v0.4.0.apk)
[<img src="https://img.shields.io/github/downloads/sakethpathike/linkora/latest/total?style=for-the-badge&logo=github&label=Download%20v0.5.0-alpha01%20APK&link=https%3A%2F%2Fgithub.com%2Fsakethpathike%2FLinkora%2Freleases%2Fdownload%2Frelease-v0.5.0-alpha01%2FLinkora-v0.5.0-alpha01.apk"/>](https://github.com/sakethpathike/Linkora/releases/download/release-v0.5.0-alpha01/Linkora-v0.5.0-alpha01.apk)

[<img src="https://img.shields.io/github/downloads/sakethpathike/linkora/latest/total?style=for-the-badge&logo=github&label=v0.4.0%20release%20notes&link=https%3A%2F%2Fgithub.com%2Fsakethpathike%2FLinkora%2Freleases%2Ftag%2Frelease-v0.4.0">](https://github.com/sakethpathike/Linkora/releases/tag/release-v0.4.0)
[<img src="https://img.shields.io/github/downloads/sakethpathike/linkora/latest/total?style=for-the-badge&logo=github&label=v0.5.0-alpha01%20release%20notes&link=https%3A%2F%2Fgithub.com%2Fsakethpathike%2FLinkora%2Freleases%2Ftag%2Frelease-v0.5.0-alpha01">](https://github.com/sakethpathike/Linkora/releases/tag/release-v0.5.0-alpha01)

## Screenshots

Expand All @@ -53,7 +53,7 @@ or [click here](https://github.com/sakethpathike/Linkora/releases/download/relea

| Search | Search | Search Screen (History links are selected) | Search |
|:--------------------------------------------------------------------------------------------------------------------------:|:-------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:|
| ![Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/f3902502-acfe-4f58-9e76-eb4aaa002b3c) | ![History in Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/469e9e11-c935-48f3-b797-44e8203973ca) | ![Sorting History in Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/0dfac08a-e544-4f5b-b87b-900e2c383823) | ![Sorting History in Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/d455303b-8e9b-421f-808e-e98672840d9c) |
| ![Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/f3902502-acfe-4f58-9e76-eb4aaa002b3c) | ![History in Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/63cf55ac-aaee-4ff1-ae06-81eed4e8da46) | ![Sorting History in Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/0dfac08a-e544-4f5b-b87b-900e2c383823) | ![Sorting History in Search Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/18934abc-1648-44cc-b2fc-4e59fde3340b) |

### Collections Screen

Expand Down Expand Up @@ -81,7 +81,7 @@ or [click here](https://github.com/sakethpathike/Linkora/releases/download/relea

| Settings Screen | Settings Screen |
|:----------------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------------------:|
| ![Settings Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/d3942a0c-bdd3-46c5-bf9b-79e3f86d5a4b) | ![Settings Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/a38aa3f9-cc21-487a-a71e-581128ff9ed7) |
| ![Settings Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/b04b8db7-4662-4ffc-ad68-787754d7d8d2) | ![Settings Screen in Linkora](https://github.com/sakethpathike/Linkora/assets/83284398/a38aa3f9-cc21-487a-a71e-581128ff9ed7) |

### Sharing from other apps

Expand Down
Binary file modified app/release/app-release.apk
Binary file not shown.
4 changes: 2 additions & 2 deletions app/release/output-metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
"type": "SINGLE",
"filters": [],
"attributes": [],
"versionCode": 17,
"versionName": "v0.4.0",
"versionCode": 18,
"versionName": "v0.5.0-alpha01",
"outputFile": "app-release.apk"
}
],
Expand Down
Original file line number Diff line number Diff line change
@@ -1,39 +1,66 @@
package com.sakethh.linkora.ui.commonComposables

import androidx.compose.animation.animateContentSize
import androidx.compose.animation.core.tween
import androidx.compose.foundation.gestures.animateScrollBy
import androidx.compose.foundation.gestures.detectDragGestures
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentHeight
import androidx.compose.foundation.lazy.LazyRow
import androidx.compose.foundation.lazy.items
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Check
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Button
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.rememberCoroutineScope
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.buildAnnotatedString
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.datastore.preferences.core.intPreferencesKey
import com.sakethh.linkora.ui.viewmodels.SettingsScreenVM
import com.sakethh.linkora.ui.viewmodels.SettingsScreenVM.Settings.dataStore
import kotlinx.coroutines.launch

@OptIn(ExperimentalMaterial3Api::class)
@Preview
@Composable
fun NewFeatureDialogBox(isDialogBoxVisible: MutableState<Boolean> = mutableStateOf(true)) {
val coroutineScope = rememberCoroutineScope()
val context = LocalContext.current
val selectedSearchFilters = remember {
mutableStateListOf<String>()
}
val state = rememberLazyListState()
val interacted = remember {
mutableStateOf(false)
}
if (isDialogBoxVisible.value) {
AlertDialog(onDismissRequest = { }, title = {
Text(
text = "v0.4.0", style = MaterialTheme.typography.titleMedium,
text = "v0.5.0-alpha01", style = MaterialTheme.typography.titleMedium,
fontSize = 22.sp,
lineHeight = 27.sp,
textAlign = TextAlign.Start
Expand All @@ -55,7 +82,7 @@ fun NewFeatureDialogBox(isDialogBoxVisible: MutableState<Boolean> = mutableState
Text(text = "")
Text(
text = buildAnnotatedString {
append("Settings screen has been updated with a new UI.")
append("Search has been improved! You can now filter out the links and folders you want based on your search.")
},
style = MaterialTheme.typography.titleSmall,
fontSize = 18.sp,
Expand All @@ -66,44 +93,51 @@ fun NewFeatureDialogBox(isDialogBoxVisible: MutableState<Boolean> = mutableState
)

}
Row(
modifier = Modifier
LazyRow(
Modifier
.fillMaxWidth()
.wrapContentHeight()
.padding(
10.dp
)
.pointerInput(Unit) {
detectDragGestures { change, _ ->
change.consume()
interacted.value = true
}
}, state = state
) {
Text(text = "")
Text(
text = "Settings are now divided into their respective sections on each individual screen.",
style = MaterialTheme.typography.titleSmall,
fontSize = 18.sp,
lineHeight = 24.sp,
textAlign = TextAlign.Start,
modifier = Modifier
.padding(end = 10.dp)
)

}
Row(
modifier = Modifier
.fillMaxWidth()
.wrapContentHeight()
.padding(
10.dp
items(
listOf(
"Saved Links",
"Important Links",
"Archived Links",
"Folders",
"Archived Folders",
"Links from folders",
"History"
)
) {
Text(text = "")
Text(
text = "Folders in shelves will now be automatically deleted when the root folder is deleted.",
style = MaterialTheme.typography.titleSmall,
fontSize = 18.sp,
lineHeight = 24.sp,
textAlign = TextAlign.Start,
modifier = Modifier
.padding(end = 10.dp)
)
) {
Row(modifier = Modifier.animateContentSize()) {
Spacer(modifier = Modifier.width(10.dp))
androidx.compose.material3.FilterChip(selected = selectedSearchFilters.contains(
it
), onClick = {
if (selectedSearchFilters.contains(it)) {
selectedSearchFilters.remove(it)
} else {
selectedSearchFilters.add(it)
}
}, label = {
Text(
text = it, style = MaterialTheme.typography.titleSmall
)
}, leadingIcon = {
if (selectedSearchFilters.contains(it)) {
Icon(
imageVector = Icons.Default.Check,
contentDescription = null
)
}
})
}
}
}
}
}, confirmButton = {
Expand All @@ -128,5 +162,19 @@ fun NewFeatureDialogBox(isDialogBoxVisible: MutableState<Boolean> = mutableState
)
}
})
LaunchedEffect(key1 = interacted.value) {
var backIteration = false
while (!interacted.value) {
if (state.canScrollForward && !backIteration) {
state.animateScrollBy(500f, animationSpec = tween(1500))
} else {
backIteration = true
state.animateScrollBy(-500f, animationSpec = tween(1500))
}
if (!state.canScrollBackward) {
backIteration = false
}
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -634,7 +634,7 @@ class SettingsScreenVM(
val showDescriptionForSettingsState = mutableStateOf(true)
val isOnLatestUpdate = mutableStateOf(false)
val didServerTimeOutErrorOccurred = mutableStateOf(false)
val savedAppCode = mutableIntStateOf(16)
val savedAppCode = mutableIntStateOf(APP_VERSION_CODE - 1)
val selectedSortingType = mutableStateOf(SortingPreferences.NEW_TO_OLD.name)

suspend fun <T> readSettingPreferenceValue(
Expand Down Expand Up @@ -757,7 +757,7 @@ class SettingsScreenVM(
savedAppCode.intValue = readSettingPreferenceValue(
preferenceKey = intPreferencesKey(SettingsPreferences.SAVED_APP_CODE.name),
dataStore = context.dataStore
) ?: 16
) ?: (APP_VERSION_CODE - 1)
})
}
}
Expand Down

0 comments on commit 7ac7643

Please sign in to comment.