Compare commits

...

6 Commits

Author SHA1 Message Date
d84475ffe9 changelog 2021-05-02 15:54:27 +02:00
8e6ef5e2f6 dev docs 2021-05-02 15:52:03 +02:00
8acf812066 Merge branch 'main' of https://github.com/cupcakearmy/cryptgeon 2021-05-02 15:44:56 +02:00
64d5953f60 dark mode 2021-05-02 15:44:46 +02:00
f447cbea2d scripts 2021-05-02 15:44:42 +02:00
0cd49a5c17 Update README.md 2021-05-02 15:24:19 +02:00
8 changed files with 1459 additions and 4 deletions

9
.gitignore vendored
View File

@@ -1 +1,10 @@
# Backend
/target
# Client
.DS_Store
node_modules
/.svelte
/build
/functions

20
CHANGELOG.md Normal file
View File

@@ -0,0 +1,20 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.0.1] - 2021-05-02
### Added
- Dark mode support
### Fixed
- Don't reload data on wrong password
## [1.0.0] - 2021-05-02
Initial release

View File

@@ -6,6 +6,10 @@
_cryptgeon_ is an secure, open source sharing note service inspired by [_PrivNote_](https://privnote.com)
## Demo
Check out the demo and see for yourself https://cryptgeon.nicco.io.
## Features
- view and time constrains
@@ -40,6 +44,20 @@ services:
- 80:5000
```
## Development
1. Clone
2. run `npm i` in the root and and client `client/` folders.
3. Run `npm run dev` to start development.
Running `npm run dev` in the root folder will start the following things
- a memcache docker container
- rust backend with hot reload
- client with hot reload
You can see the app under [localhost:3000](http://localhost:3000).
###### Attributions
Icons made by <a href="https://www.freepik.com" title="Freepik">freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a>

View File

@@ -8,7 +8,7 @@
font-family: 'Fira Mono', monospace;
--ui-bg-0: #fefefe;
--ui-bg-0-85: #ffffffd9;
--ui-bg-0-85: #fefefed9;
--ui-bg-1: #eee;
--ui-bg-2: #e2e2e2;
--ui-text-0: #111;
@@ -19,6 +19,17 @@
--ui-anim: all 150ms ease;
}
@media (prefers-color-scheme: dark) {
:root {
--ui-bg-0: #111;
--ui-bg-0-85: #111111d9;
--ui-bg-1: #222;
--ui-bg-2: #282828;
--ui-text-0: #fefefe;
--ui-text-1: #eee;
}
}
.error-text {
color: var(--ui-clr-error);
}
@@ -53,6 +64,13 @@ button {
transition: var(--ui-anim);
font-family: inherit;
font-size: inherit;
background: inherit;
color: inherit;
}
*:disabled,
*[disabled='true'] {
opacity: 0.5;
}
fieldset {

View File

@@ -32,7 +32,7 @@
</script>
<label>
<small>
<small disabled={$$restProps.disabled}>
{label}
</small>
<input bind:value {...$$restProps} />

View File

@@ -40,7 +40,7 @@
})
async function show() {
const data = await get(id)
const data = note || (await get(id)) // Don't get the content twice on wrong password.
if (needPassword) {
try {
const key = await getKeyFromString(password)
@@ -74,7 +74,11 @@
<Button type="submit">show note</Button>
{#if error}
<br />
<p class="error-text">wrong password. could not decipher.</p>
<p class="error-text">
wrong password. could not decipher.
<br />
note already destroyed. try again without reloading the page.
</p>
{/if}
</form>
{/if}

1375
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

11
package.json Normal file
View File

@@ -0,0 +1,11 @@
{
"scripts": {
"dev:docker": "docker-compose up memcached",
"dev:backend": "cargo watch -x 'run --bin cryptgeon'",
"dev:front": "npm --prefix client run dev",
"dev": "run-p dev:*"
},
"devDependencies": {
"npm-run-all": "^4.1.5"
}
}