Commit Graph

914 Commits

Author SHA1 Message Date
Matilde Park
d49ace002d soto: add componentised spinner 2020-04-02 18:18:14 -04:00
Matilde Park
1bc973c520 link: reimplement spinner as component 2020-04-02 18:18:10 -04:00
Matilde Park
ef69ad6853 link: fix api call to change description
When changing description, some pre-metadata refactors were resulting in
permanently broken calls to the API. This accesses our resource object
correctly.
2020-04-02 18:17:12 -04:00
Matilde Park
6e0a29b79d links: move 'mark all as seen' to settings 2020-04-02 18:17:11 -04:00
Matilde Park
93587dd84d links: show pending comments 2020-04-02 18:17:11 -04:00
Matilde Park
48c9bdc702 publish: componentise spinner as part of layout
This commit pulls the spinner out of the header bar -- and
reincorporates it as a component that hooks into local state when
awaiting a new prop, or disabling an input.
2020-04-02 18:17:11 -04:00
Matilde Park
a21294f02e publish: atomically refresh our settings inputs
Before, when we got new props for the metadata of the notebook, all the
fields would flash blank or to previous inputs. This rewrites the
update function to be more atomic with how it edits state,
which seems to correct the behaviour to avoid blank fields and disable fields
correctly.
2020-04-02 18:17:11 -04:00
Matilde Park
c91ec10e78 link: fix skeleton border css class 2020-04-02 16:46:21 -04:00
Matilde Park
7cde503f80 groups: fix skeleton css 2020-04-02 16:43:33 -04:00
Matilde Park
06cf5a0ce6 group filter: enumerate and show invites correctly 2020-04-02 16:36:50 -04:00
Matilde Park
d8fbd75dbf launch: pass invites correctly to group filter 2020-04-02 16:36:50 -04:00
Matilde Park
f4c63b25c6 publish: pass invites to group filter 2020-04-02 16:36:50 -04:00
Matilde Park
0aff179e71 groups: pass invites to group filter 2020-04-02 16:36:50 -04:00
Matilde Park
8a43f7fc44 link: pass "/contacts" to group-filter 2020-04-02 16:36:50 -04:00
Matilde Park
a500038bed chat: pass full invites object 2020-04-02 16:36:41 -04:00
Matilde Park
65f8991ac8 invite search: avoid crashing with no associations
By using an array, not a set, we stop deduplicating our group index,
pushing redundant information instead. When searching, this prevents a
component fail state where it cannot search a non-existent index for
matches.
2020-04-02 14:50:29 -04:00
ixv
1d59ca7a16
Merge pull request #2640 from urbit/mp/groupify-2-dms-below
chat: DMs repositioned below grouped chats
2020-04-02 10:48:25 -07:00
ixv
75922dd017
Merge pull request #2654 from urbit/mp/ctrl-enter
link, publish: submit comment on ctrl+enter
2020-04-02 07:34:47 -07:00
ixv
d61c2831e8
Merge pull request #2637 from urbit/mp/new-ui-dark-header
os1: add dark mode style for app name in headers
2020-04-02 07:25:35 -07:00
ixv
275b0e65c5
Merge pull request #2652 from urbit/scrollback-fix-2
chat-js: fix scrollback for small chat channels
2020-04-02 07:23:59 -07:00
ixv
f6954e6a55
Merge pull request #2644 from urbit/mp/group-typing
groups: show tile icon, not full color; alphabetically sort group channels
2020-04-02 07:18:05 -07:00
ixv
42f9fa4f8b
Merge pull request #2642 from urbit/mp/new-borders
os1: skeleton uses b--gray4, not b--gray2
2020-04-02 07:17:50 -07:00
Matilde Park
8bafdea10c links: submit comment on ctrl+enter 2020-04-01 22:36:11 -04:00
Matilde Park
7a796549bd publish: submit comment on ctrl+enter 2020-04-01 22:33:56 -04:00
Logan
0ce28806a9
Merge branch 'master' into matilde/interface-prod 2020-04-01 22:24:33 -04:00
Logan Allen
72fbe18aff chat-js: fix scrollback for small chat channels 2020-04-01 22:14:33 -04:00
Matilde Park
8c7898786e groups: add slight background overlay to channel tiles 2020-04-01 21:08:00 -04:00
Matilde Park
e5c7539106 chat: sort DMs by most recent, sort grouped by alphabetical 2020-04-01 18:18:56 -04:00
Matilde Park
e70643b44d groups: default to coloured tile if unknown app 2020-04-01 15:46:59 -04:00
Matilde Park
e1af036f1c groups: show tile icon, not full color 2020-04-01 15:26:47 -04:00
Matilde Park
922318e072 os1: skeleton uses b--gray4, not b--gray2 2020-04-01 12:06:36 -04:00
Matilde Park
04b3a2a8cf chat: DMs repositioned below grouped chats 2020-04-01 01:07:32 -04:00
Matilde Park
0c87c2c186 link, publish: fix sidebar for multi-item groups
A syntax typo led the array for nested notebooks to not have paths
pushed into it. Only the last item in the group would be pushed into the
array. This commit fixes that typo.
2020-04-01 00:53:49 -04:00
Matilde Park
bfeb481b80 os1: add dark mode style for app name in headers 2020-03-31 22:01:08 -04:00
ixv
e76fe83ea1
Merge pull request #2615 from urbit/mp/grouping-take-2
os1: reintegrating groups into all Landscape applications
2020-03-31 15:17:57 -07:00
ixv
5791f8b86d
Merge pull request #2630 from urbit/mp/chat/fix-settings-invitesearch
chat: settings pass 'groups' prop from permissions
2020-03-31 14:18:25 -07:00
édouard
d40ce1a233 Merge branch 'mp/grouping-take-2' of https://github.com/urbit/urbit into mp/grouping-take-2 2020-03-31 17:18:22 -04:00
ixv
e5c06f2549
Merge pull request #2632 from liam-fitzgerald/lf/patp-validate
various: bump urbit-ob version
2020-03-31 14:18:10 -07:00
édouard
9851b58d1c os1: numerous cross-module padding changes
Across every OS1 module (including the launch/home screen context) I edited some padding/margin/sizing for navigational elements for consistency across paging.
2020-03-31 17:18:09 -04:00
Matilde Park
25e279ed82 chat, launch: style fixes post-#2615 code review 2020-03-31 14:03:12 -04:00
Liam Fitzgerald
81efbd1357 various: bump urbit-ob version
The new version of urbit-ob includes stricter isValidPatp checks.

Fixes #2556
2020-04-01 03:32:57 +10:00
Matilde Park
23ca02dd38 chat: settings pass 'groups' prop from permissions 2020-03-31 11:50:37 -04:00
ixv
c0b4de176a
Merge pull request #2627 from urbit/mp/publish/dark-syntax
publish: dark mode syntax css
2020-03-30 19:39:43 -07:00
Matilde Park
34528ff3d8 publish: dark mode syntax css 2020-03-30 18:31:58 -04:00
Logan Allen
49476aac66 chat-js: refactored subscriptions to auto-resubscribe 2020-03-30 18:07:33 -04:00
Logan Allen
c2070dbcc6 chat-js: pass in groups property, convert from permissions 2020-03-30 17:59:52 -04:00
Matilde Park
57d3f5327d os1: store.selected -> store.selectedGroups 2020-03-30 16:45:34 -04:00
Matilde Park
660cabf074 launch: link color unsetting agnostically 2020-03-30 15:57:09 -04:00
matildepark
2f3d681975
launch, link: apply @Fang- suggestions to #2615 review
Co-Authored-By: Fang <git@fang.io>
2020-03-30 15:50:16 -04:00
Matilde Park
1c45d4c46c publish: handle 'no notebooks' case 2020-03-27 16:44:15 -04:00
Matilde Park
952ea831d9 chat: handle 'no chats' case 2020-03-27 16:42:29 -04:00
Matilde Park
5b6902e065 soto: update header bar 2020-03-27 16:30:17 -04:00
Matilde Park
21c989fee1 publish: incorporate group filter component 2020-03-27 15:09:27 -04:00
Matilde Park
9cb90405c1 link: incorporate group filter component 2020-03-27 14:57:25 -04:00
Matilde Park
8335ae059c groups: incorporate group filter component 2020-03-27 14:39:01 -04:00
Matilde Park
612a88272f chat: incorporate group filter component 2020-03-27 14:26:23 -04:00
Matilde Park
891018159a launch: add group filter dropdown, header redesign 2020-03-27 12:45:51 -04:00
Matilde Park
09eec6ea65 launch: prevent dismissed welcome affecting mobile
Flexbox would provide the empty <div> some space in our mobile layout.
This replaces the div with null.
2020-03-27 12:45:51 -04:00
Matilde Park
744dc47be9 link: sidebar redesign with grouped collections 2020-03-27 12:45:51 -04:00
Matilde Park
e7a29dc628 publish: sidebar redesign with grouped notebooks 2020-03-27 12:45:49 -04:00
Matilde Park
afa38b1d2d chat: sidebar redesign, sorted by group 2020-03-27 12:45:27 -04:00
Matilde Park
f5e9b2d171 groups: alphabetise sidebar items 2020-03-27 12:44:49 -04:00
Logan Allen
221238c0fa chat-js: improve subscription speed by doing two rounds of subscriptions and no longer subscribing to groups 2020-03-26 17:41:11 -04:00
ixv
b8a222ea75
Merge pull request #2606 from urbit/la-scrollback
Scrollback fixed and tested in Brave, Safari, and Chrome
2020-03-26 09:02:24 -07:00
Logan Allen
2719a24dcc chat: decreased message limit to 20, now asking for more messages upon navigating to a chat channel when we have < 100 messages for that channel 2020-03-25 19:48:35 -04:00
ixv
755fbb7d14
Merge pull request #2583 from urbit/mp/os1/welcome
os1: add startup content
2020-03-25 16:26:01 -07:00
Fang
f39cdbb26f
link fe: split remove & delete logic
Deletion retains its old behavior: can only be done by group owner, and
propagates.

Removing can now always be done by anyone, and works using
link-listen-hook: removing the collections from the set of ones we're
interested in, no longer syncing or showing up in the sidebar.
2020-03-25 22:48:59 +01:00
Fang
e028d6eacf
link fe: base sidebar on link-listen-hook
Instead of on associations, which may contain collections we're no
longer interested in.
2020-03-25 22:47:05 +01:00
Logan Allen
a787eceae9 chat-js: turned off perf testing 2020-03-25 17:36:51 -04:00
Logan Allen
eb51ff693c chat: changed initial scrollback to 50 because 25 short messages wouldn't trigger any scrollbar at all, and fixed scrollback condition 2020-03-25 17:35:51 -04:00
Logan Allen
8d64d9d253 chat: fixed indentation
logging for scrollback
2020-03-25 17:34:59 -04:00
ixv
024b0717e0
Merge pull request #2601 from urbit/mp/publish/delete-note
publish: delete notes
2020-03-25 09:52:32 -07:00
Matilde Park
d2ac232a20 publish: pending comments use our ship, not owner 2020-03-24 21:20:35 -04:00
Matilde Park
19ee376aa9 links: prevent duplicate link submissions
Adds a disabled check during link submission to prevent duplicates.

Also fixes an unmarked bug where 'linkValid' was not being reset to
false on submission, allowing for submitting blank links after one
correct link has been submitted.
2020-03-24 20:00:10 -04:00
Matilde Park
cdc4fb5da0 various: graphic tweaks to welcome as per design 2020-03-24 19:27:34 -04:00
Matilde Park
fe341d7d8e publish: line up mobile navigation for 'all books'
This mobile navigation was being padded into the middle to fit the
layout; this just excludes it from that inner layout.
2020-03-24 18:39:34 -04:00
Matilde Park
a474d134c3 publish: add delete note front-end for note author 2020-03-24 18:36:43 -04:00
ixv
fd52384445
Merge pull request #2596 from urbit/mp/publish/publish-m-flexauto
publish: flexbox sizing in skeleton, links open in _blank
2020-03-24 15:19:34 -07:00
ixv
a5ed4e15e2
Merge pull request #2593 from urbit/mp/soto/empty-backspace
soto: ignore backspace at cursor position 0
2020-03-24 15:02:49 -07:00
ixv
a88ced01af
Merge pull request #2564 from urbit/mp/link-sigil-size
links: adjust sigil size to 38
2020-03-24 15:01:12 -07:00
Matilde Park
4c26419ff2 various: post-review adjustments for #2583
This commit introduces some refactoring of localStorage logic, copy
changes and a rearrangement of the launch welcome message to the top
of the screen.
2020-03-24 15:34:40 -04:00
Jared Tobin
cd9f23d6db
Merge branch 'liam-fitzgerald/lf/chat-patp-autocomplete' (#2571)
* liam-fitzgerald/lf/chat-patp-autocomplete:
  chat-fe: fix incorrect property in css
  chat-fe: improve name legibility in autocomplete
  chat-fe: match autocomplete to designs
  chat-fe: autocomplete nicknames in message input
  chat-fe: ignore comets in autocomplete
  chat-fe: correct light mode autocomplete styling
  chat-fe: add patp autocomplete to message input

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-24 17:37:51 +04:00
Matilde Park
c1ed7a4841 publish: links open in _blank targets 2020-03-23 21:26:43 -04:00
Matilde Park
4395b130dd publish: add flex-auto to skeleton
-m viewports had overflow out of parent containers;
this uses flex-auto to ensure the skeleton stays within its flex
container.
2020-03-23 21:24:06 -04:00
Liam Fitzgerald
ca8f436fd0 chat-fe: fix incorrect property in css 2020-03-24 11:01:46 +10:00
Liam Fitzgerald
302c3dc4cc chat-fe: improve name legibility in autocomplete 2020-03-24 10:50:53 +10:00
Matilde Park
c1a4aeb60e soto: ignore backspace at cursor position 0
If you entered the web dojo and hit Backspace immediately,
it would still process it as a valid key but pass the whole key forward.

This adds a conditional to ignore the key in those cases.
2020-03-23 11:25:36 -04:00
Liam Fitzgerald
6c403f5135 chat-fe: match autocomplete to designs 2020-03-21 13:52:41 +10:00
Liam Fitzgerald
9c759a7e68 chat-fe: autocomplete nicknames in message input 2020-03-21 13:49:57 +10:00
ixv
fed93b1fe5
Merge pull request #2565 from urbit/groups/leave-group-text
groups: two contact card changes
2020-03-20 16:17:33 -07:00
ixv
3ba00c3623
Merge pull request #2580 from urbit/mp/publish/pending
publish: add pending state for comments
2020-03-20 16:16:51 -07:00
Matilde Park
41f95e231f publish: pending comments get correct timestamp 2020-03-20 17:46:00 -04:00
Matilde Park
812ab41a81 publish: abundant safety checks in comments update 2020-03-20 17:36:25 -04:00
Matilde Park
29c432408c groups: add startup content 2020-03-20 17:16:15 -04:00
Matilde Park
b16a64ae03 publish: add startup content 2020-03-20 17:16:08 -04:00
Matilde Park
d68b2e44d8 links: add startup content 2020-03-20 17:08:59 -04:00
Matilde Park
0d9a604ecd chat: add startup content 2020-03-20 17:05:15 -04:00
Matilde Park
9114d1e858 launch: add startup content 2020-03-20 16:30:20 -04:00
Fang
2db5f7bb59
Revert "chat fe: disable advanced groupify" 2020-03-20 18:45:22 +01:00
Matilde Park
0246bea613 publish: add pending state for comments 2020-03-20 13:23:47 -04:00
Liam Fitzgerald
14399777e0 chat-fe: ignore comets in autocomplete 2020-03-20 15:30:04 +10:00
Liam Fitzgerald
2f97099e94 chat-fe: correct light mode autocomplete styling 2020-03-20 15:28:46 +10:00
Liam Fitzgerald
19b97040f2 chat-fe: add patp autocomplete to message input 2020-03-20 15:28:46 +10:00
Matilde Park
3b2bd32130 groups: remove - mh2 -> mh3
Design tweak.
2020-03-19 20:28:44 -04:00
Matilde Park
7cc5c9c6b5 groups: permission remove button for group members
Adds 'adminOpt' to the remove button for group members
who have not yet shared metadata.
2020-03-19 20:26:54 -04:00
Fang
3bf402bc6e
chat fe: update copy to match lesser functionality
Co-Authored-By: ixv <isaacv@tlon.io>
2020-03-20 00:25:43 +01:00
Fang
6182d61420
chat fe: disable advanced groupify
Introduced in #2546, the new functionality seems able to induce weird
behavior causing messages to be processed twice. Disabling this
functionality on the frontend until that has been fixed.
2020-03-20 00:13:16 +01:00
Matilde Park
b2b6c05992 groups: fix "remove from" / "leave group" text
When you were looking at your own card in another group,
it would say "Remove from" group. This is from an arbitrarily strict
ternary check that adminOpt catches
for us, so we just check if the ship is us.
2020-03-19 18:16:22 -04:00
Matilde Park
d1b73f7ae3 groups: strengthen the admin check on cards
Before we saw if window.ship was in the path of the group.
If you're a star or higher, you'll match many group paths that you don't
own. This strengthens the check.
2020-03-19 18:15:36 -04:00
Matilde Park
7f8fcbe528 link: adjust sigil size to 38 2020-03-19 17:48:38 -04:00
ixv
b811506969
Merge pull request #2548 from urbit/mp/groups/delorted
groups: delete group members without shared metadata; delete groups
2020-03-19 10:54:42 -07:00
ixv
c410263c5b
Merge pull request #2559 from urbit/mp/publish/recompare
publish: sort inclusive of accented characters
2020-03-19 10:54:24 -07:00
Matilde Park
e9c2f47729 publish: sort inclusive of accented characters
Alphabetical and reverse alphabetical sort in the sidebar
now uses localeCompare instead of Unicode point comparison.
2020-03-19 12:12:58 -04:00
Matilde Park
c5d790410e chat: sidebar pulls nickname from associated group
We were looking for the box in our contacts object, not the associated
group, so if you had a group and chat with the same name,
you'd see nicknames, but in no other situations. This commit rectifies
that by safely polling for the associated group of the chat.
2020-03-19 11:46:47 -04:00
Fang
23e3399c05
Merge pull request #2543 from urbit/mp/link/contrib-count
link: restore contributor counts in sidebar
2020-03-19 13:59:27 +01:00
Jared Tobin
14ce3177aa
Merge branch 'mp/publish/new-button' (#2549)
* origin/mp/publish/new-button:
  publish: prevent submission of empty notes
  publish: add responsive width for new post button

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-19 14:36:25 +04:00
Jared Tobin
7a7fe45677
Merge branch 'm/chat-groupify-extra' (#2546)
* origin/m/chat-groupify-extra:
  chat-view: %delete even without association
  frontend: apply ec6c2ed69 to link, publish, groups
  chat fe: clarify copy
  chat fe: support adding chat to existing group
  chat fe: invite search with/out ships
  chat-view: allow %groupify into existing group
  chat-view: add docs for %create action

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-19 14:35:59 +04:00
Fang
cc1c28fdec
frontend: apply ec6c2ed69 to link, publish, groups 2020-03-19 00:00:02 +01:00
Matilde Park
b86d6006a0 publish: prevent submission of empty notes
The onclick would fire regardless of disabled attr.
This commit adds a conditional check to the onclick's function.
2020-03-18 18:42:42 -04:00
Matilde Park
45b61f90e1 publish: add responsive width for new post button 2020-03-18 18:34:18 -04:00
Fang
143bae6190
chat fe: clarify copy
Also clarifies a comment, and removes unnecessary console.log calls.
2020-03-18 23:28:35 +01:00
Matilde Park
803a4f6e86 groups: add ability to delete groups 2020-03-18 18:02:00 -04:00
Matilde Park
e82edd6e51 groups: delete group members without metadata 2020-03-18 17:30:47 -04:00
Fang
1ea4277988
chat fe: support adding chat to existing group
Using the updated chat-view %groupify action. Groupifying without
selecting a group creates a new group based off the chat. Selecting a
group first makes that the target of the group, and allows you to
specify whether to merge ships from the chat into the group.
2020-03-18 22:06:16 +01:00
Isaac Visintainer
fddee190b3 publish: fix post textarea overflowing container in firefox 2020-03-18 14:04:22 -07:00
Fang
ec6c2ed69a
chat fe: invite search with/out ships
This lets you specify whether or not you want to include ships in search
results for the InviteSearch component, as is already possible for
groups. This enables group-only searching, as will be used by the next
commit.

Also modifies the placeholder text based on what is included in the
search results.
2020-03-18 22:02:37 +01:00
Matilde Park
73379df54b link: restore contributor counts in sidebar
During the metadata restructure I didn't adjust
this property pass and it passed through an
empty "group" prop and processed it as 0.
2020-03-18 14:20:27 -04:00
ixv
6e6cd18699
Merge pull request #2528 from urbit/mp/groups/pad-bottom-card
groups: add bottom padding to contact card
2020-03-17 17:03:27 -07:00
ixv
0872419f5c
Merge pull request #2530 from urbit/mp/soto/cmdv
soto: cmd/ctrl+v pasting, whitelist keys
2020-03-17 17:03:16 -07:00
Isaac Visintainer
a23c5a7ebe publish: fix onScroll fetching bug 2020-03-17 15:19:14 -07:00
Fang
1fe7ef8617
Merge pull request #2529 from urbit/mp/link/soundcloud
links: add soundcloud embeds
2020-03-17 18:28:45 +01:00
Matilde Park
9ee62d2e0d links: check for soundcloud url on mount 2020-03-17 12:43:31 -04:00
Matilde Park
dee0312784 soto: whitelist non-character keys
Inverting from an ongoing blacklist
to a whitelist of a few functional keys.
2020-03-16 21:47:29 -04:00
Matilde Park
3e1f3dca6e soto: allow cmd/ctrl+v pasting 2020-03-16 21:36:45 -04:00
Matilde Park
116bfac640 links: add soundcloud embeds 2020-03-16 21:25:15 -04:00
Isaac Visintainer
9c495aa38a release: urbit-os-v1.0.2 2020-03-16 17:55:56 -07:00
Matilde Park
1c14599ada groups: add bottom padding to contact card 2020-03-16 20:34:35 -04:00
Fang
4b5a02fac8
Merge pull request #2480 from urbit/m/chat-groupify
chat: groupify
2020-03-16 18:37:29 +01:00
Jared Tobin
1dd2b77222
release: urbit-os-v1.0.1 2020-03-16 15:10:58 +04:00
Jared Tobin
7af1048224
Merge branch 'mp/os1/chat-simple-sigil' (#2500)
* origin/mp/os1/chat-simple-sigil:
  chat: remove "#" from fallback sigil color

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-16 12:43:42 +04:00
Jared Tobin
4091f76d26
Merge branch 'mp/remove-invites-tile' (#2492)
* origin/mp/remove-invites-tile:
  launch: don't render invites tile

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-16 12:43:20 +04:00
Jared Tobin
1f940cd327
Merge branch 'mp/soto-paste' (#2490)
* origin/mp/soto-paste:
  soto: allow for right click pasting

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-16 12:42:55 +04:00
Jared Tobin
7d3eafa35c
Merge branch 'mp/soto-capslock' (#2489)
* origin/mp/soto-capslock:
  soto: add 'capslock' to ignored keys

Signed-off-by: Jared Tobin <jared@tlon.io>
2020-03-16 12:41:21 +04:00
Matilde Park
eff3c85973 chat: remove "#" from fallback sigil color
In the chat input we fall back to #000000 and blend it; but we also
prefix any color we send to the sigil component with a # for
uxToHex values, so we end up passing ##000000. This results
in simplified sigils -- when in doubt, ensure the hex formatting
is correct...
2020-03-13 22:51:20 -04:00
Matilde Park
f4610ba4a9 chat: use more precise regex 2020-03-13 20:55:54 -04:00
Matilde Park
f9a2aae085 launch: don't render invites tile 2020-03-13 20:32:55 -04:00
Matilde Park
07f6268509 soto: allow for right click pasting 2020-03-13 19:52:12 -04:00
Matilde Park
493784055f soto: add 'capslock' to ignored keys 2020-03-13 19:23:26 -04:00
ixv
3bb8a7d13f
Merge pull request #2476 from urbit/mp/weather-dector
weather: redirect after autodetect submission
2020-03-13 13:47:37 -07:00
ixv
4b6271b151
Merge pull request #2471 from urbit/mp/launch-weather-crash
launch: stop passing 'invite' prop to tiles
2020-03-13 13:02:27 -07:00